linux基础笔记

磁盘

磁盘的接口

IDE(并口)
SATA(串口):速度快,纠错能力强
SCSI:转速快,cpu占用资源低
目前在使用的是:SCSI

分区的分类

主分区、逻辑分区、扩展分区

类分区的关系

一个磁盘可以是4个主分区 一个磁盘还可以是3个主分区+1个扩展分区
一块磁盘最多只能有一个扩展分区
一个扩展分区包含多个逻辑分区

命令

fdisk

fdisk -l /dev/vda1 查看磁盘
fdisk /dev/vda1 硬盘的分区操作
-m 列出指令帮助
-p 查看现有的分区表
-n 新建分区
-d 删除分区
-q 放弃更改并退出
-w 保存更改并退出

挂载

df -T 只可以查看已挂载的分区和文件系统类型

partprobe 命令刷新分区表,刷新完之后,reboot重启

parted -l 可以查看未挂载的文件系统类型,以及哪些分区尚未格式

lsblk -f 也可以查看为挂载以及挂载的文件系统类型

fdisk 查看所有挂载和未挂载的分区,不显示文件系统

如何挂载磁盘

创建文件夹
mkdir /文件路径/文件夹名字

磁盘挂载到新建文件夹下
mount 磁盘路径[/dev/vda1] 文件夹路经

把文件系统的类型拷贝到新建文件夹下
cp /etc/fstab /mnt/part2/fstab.txt

查看挂载情况

df -T  

管理用户/用户组

用户/用户组的概念

uid=1001(dzqc01) 用户[主]信息

gid=1001(dzqc01) 用户组信息

groups=1001(dzqc01) 所有组的信息

/etc/passwd —> 用户信息

/etc/shadow —> 密码信息

/etc/group —> 用户组信息

用户/组相关文件

在/etc/shadow文件中,每行记录也是有冒号来进行分割,共分为9个字段,以此为用户名称、加密后的密码、最近改动密码时间、密码不可变更时间(99999为没有限制)、密码重新变更时间、密码过期时间、密码过期宽恕时间、用户失效时间保留

用户/用户组的操作

创建用户/用户组

创建用户
useradd 用户名
-u uid 指定用户id
-g gid 指定用户组
-G 多个组id/名字
-s 用户登录的shell
-d 指定主目录

创建用户组
groupadd 用户组名
-g gid 指定用户组id

修改用户/用户组信息

通过修改文件去修改对应信息

查看用户的基本信息

id 用户名

删除用户/用户组

删除用户/用户组
userdel -r 用户名/用户组
groupdel -r 用户名/用户组

修改密码

passwd 用户名

切换用户

su 用户名

移动文件/修改文件名

mv 文件名 目标路径 移动文件
mv 旧文件名 新文件名 修改文件名

查看ip地址

ifconfig -a

sudo

sudo无法使用↓
提权,给普通用户赋予root权限
su root
vim /etc/sudoers
普通用户名字 ALL=(ALL) ALL
sudo mkdir file01 就可以成功

修改文件用户和用户组

chown -R 用户名字:用户组名字 文件名字
Eg: chown -R hadoop:hadoop 文件名字

文件权限

文件的基本权限UGO

概念

U: uwner 用户主
G: group 用户组
O: other 其他用户

权限分类:

r:read (读取),数字设定4.
w:write(写入),数字设定2.
x:execute(执行),数字设定1.

如何修改文件权限

chmod 数字权限 文件路径
Eg: chmod 664 /data/a.txt

chomd 字母权限 文件路径
chmod u=rw,g=rw,o=r /data/a.txt
chmod u+x /data/a.txt
chmod u-x /data/a.txt

chown和chmod的区别

chown 修改文件的用户/用户组

chmod 修改文件的权限.(rwx)

chgrp 命令

chgrp -R 用户组名 文件名 修改用户组

chown -R hadoop:hadoop a.txt 修改用户和用户组

chown -R hadoop a.txt 修改用户

chown -R :hadoop a.txt 修改用户组

基本权限ACL

ACL概念

ACL是访问控制列表,类似于防火墙

查询ACL

getfacl 文件路径

设置ACL

setfacl -m u:用户名:权限 文件路径

删除ACL

setfacl -x u:用户名 文件路径 不彻底的删除(+号还存在,mask权限未删除)

setfacl -b 文件路径 彻底的删除(+号不存在)

更改mask权限

setfacl -m mask::权限 路径
注:Mask和user:dzqc02:rw- 相与之后,才是ACL最大的权限

软件包、压缩包管理

安装软件包

yum istall 软件包名[-y]

删除软件包

yum remove 软件包名[-y]

查看已安装的软件包

yum list 压缩管理

压缩管理

tar -zxvf 压缩包名字 -C 路径
-C 解压到
-v, --verbose 详细显示处理的文件;
-z, --gzip, --ungzip 有gz属性的软件包;
-x, --extract,–get 解压文件
-f, --file[HOSTNAME:]F 指定存档或设备,后接文件名称

Linux基础命令

基础命令

ls 显示所在目录的所有文件
ll(ls -l) 以长格式显示文件信息
-a 显示隐藏文件
-d 查看目录属性
-t 按照创建时间顺序显示文件

cd 切换目录
cd … 返回上一级目录
cd 路径 切换路径
全路径(绝对路径)和半路径(相对路径)
绝对路径:从根目录开始,到目标文件结束
相对路径:从当前目录下开始,到目标文件接收

pwd 查看当前路径

touch 路径 --> 创建文件

mkdir 路径 --> 创建目录/文件夹
mkdir -p --> /data/mysql/jdk 创建多层文件夹

cp 源文件路径 目标文件路径 --> 复制/拷贝

mv 源文件路径 目标文件路径 --> 移动/重命名

rm -rf 路径 -->删除
r 递归 f 强制

文件查看命令

cat 文件路径 --> 查看文件内容

more 文件路径 --> 分页查看
回车 --> 显示下一行
f或空格 --> 显示下一页

head 文件路径 --> 默认显示前10行
head -n 文件路径 --> 显示前几行
n ->替换为数字
tail -n 文件路径 --> 显示后几行

帮助命令

man 

Linux文本处理

通配符含义
*匹配0或多个字符
?匹配任意一个字符
[list]匹配list中的任意单一字符
[!list]匹配除list中的任意单一字符

| 管道符
把左边的结果作为右边的输入
ps aux | grep nginx 查看所有的进程

正则表达式

概念

正则表达式是一种描述一组字符串的模式,为处理大量文本、字符串而定义的一套规则

案例

1.非负整数 (正整数+0) ^\d+$
2.正整数 123 ^[0-9]*[1-9][0-9]*$
3.邮箱Song_ls@163.com
	^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$

grep

概念

快速检索/查找
在文件中搜索与字符串匹配的行并输出

语法

grep [选项] 字符串 文件路径
[选项]:
-A 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-v或–revert-match 反转查找。
-n 在显示符合样本的那一行之前,标示出该行的编号。
-i或–ignore-case 忽略字符大小写的差别。
-q或–quiet或–silent 不显示任何信息。
-V或–version 显示版本信息。
–help 在线帮助

Find

概念

查找/检索某个文件夹下的匹配文件

语法

find 文件夹的路径 选项
Eg: find /data/ -name ‘a.txt’
选项:
-name 按照名字查找文件
-type 按照类型查找文件, d:文件,f:文件
-size 按照文件/文件夹的大小查找,+10M 大于等于10M -10M小于等于10M

sed

概念

文本三剑客之一,对文件内容进行增删改查,对文件输出内容进行增删改查,并不会修改文件

语法

sed [选项] 匹配模式 文件路径

sed [选项] [正则] 文件
sed ‘n,na 添加的内容’ 文件 在第几行到第几行后加入内容
选项:
a 追加文本信息(追加到下一行)
i 插入文本信息(插入到上一行)

例:
在第二行后加入三行test
sed ‘2a test\test\test’ /etc/passwd

在第二行到四行后加入test
sed ‘2,4a test’ /etc/passwd

删:

选项:
d 定位删除

例: 1.删除第五行到最后一行
sed ‘5,%d’ /data/a.txt

2.删除批注行
sed ‘/^#/d’ /data/a.txt

改:

sed ‘[选项] [正则]’ 文件路径
选项:
c 用新文本替换定位文本
语法:
sed ‘c 新文本’ 文件路径

s 使用替换模式替换相应模式 还要配合g
语法:
sed ‘s/旧单词/新单词/g’ 文件路径

s///和s///g
g: 如果一行中有多个旧单词,加上g,一行中的旧单词都会被替换,不加g,只替换每行第一个旧单词

例: 1.将2-5行内容取代为sssssss
sed ‘2,5c sssssss’ /data/a.txt

2.把a.txt文件中的old替换为new
sed ‘s/old/new/g’ /data/a.txt

3.在一行的内容前面添加内容
sed ‘s/^/test/g’ /data/a.txt

4.在一行的内容后面添加内容
sed ‘s/$/test/g’ /data/a.txt

查:

-n 显示行号
1,3p 1到3行
$ p 最后一行
‘1p;$p’ 第一行和最后一行

正则必须在//之间
语法: /正则/

例: 显示/etc下面的所有以a开头的文件
ls /etc | sed - ‘/^a/p’

awk

概念

文本三剑客之一,文本内容的分析

语法

awk [选项] ‘条件/函数{print}’ 文件路径
条件和打印可以只写一种,但是不能不写
两个条件都写,就是满足条件去打印

[选项]:
-F 分隔符:按照分隔符进行拆分
-f 脚本路径:获取到脚本当中的命令并执行
-v 变量的名字=值:赋值一个用户定义变量,将外部变量传递给awk

整个引号里面的选项:
$0 打印当前行(打印整行内容)
$1- $n 打印第n列
NR 打印行号,从1开始
NF 打印当前行
FS 分隔符:按照什么分割,默认是空格

例:1.打印a.txt按照空格拆分的第一列和第二列
awk -F ‘’ ‘{print $1,$2}’ a.txt

2.awk打印硬盘设备名称,默认以空格进行分割
df -T | awk -F ‘’ ‘{print $1}’

条件:
< > == != >= <=
&& 并且 || 或者
+ - * /

例:1.打印a.txt文件中的第三行至第五行的第一列与最后一列
awk -F : ‘5>=NR&&NR>=3 {print 1 , 1, 1,NF}’ /etc/passwd

2.awk以冒号切割,打印前三行的第一列
awk -F : ‘3>=NR {print $1}’ /etc/passwd

awk内置函数

语法:
awk [选项] ‘内置函数+{action}’ 文件路径

选项解释
gsub (旧单词,新单词,$n)替换第几列的单词,$n可以不写,不写的时候替换所有的旧单词
index (s, t)返回s中t的第一个位置
length (s)s的长度
match (s, r)s是否匹配r
split (需要拆分的字符串,集合,按照什么拆分)在fs上将s分成序列a
substr (s, p)返回s从p开始的子串

例:1.打印a.txt文件中长度大于20的行号
awk ‘length($0)>=20 {print NR}’ /data/a.txt

2.把文件中的aa替换成gsub并打印
awk ‘{gsub(/aa/,‘gsub’);print}’ /data/a.txt

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值