linux常用命令
1: grep 'git' /etc/passwd -- 查询 /etc/passwd 下包含 ‘git’ 的文件,区分大小写
2:grep -v 'git' /etc/passwd -- 取反 查询 /etc/passwd 下不包含 ‘git’ 的文件
3: grep -v -n 'git' /etc/passwd -- n显示行号,也可以命令连用 grep -vn 'git' /etc/passwd
4: -w 精准匹配 -- grep -wn 'polkitd' /etc/passwd 必须要一致才能查询出来
5: -i # 忽略大小写
6: ^ #匹配开头的内容
7: -E #匹配多个字符内容 grep -E 'ftp|NSCD|bus' /etc/passwd
cut 命令
-d #对指定的列进行切割获取, cut -d '分割符' -f 1,3 /文件路径 -f 是代表要截取的列
实例1: 获取第一列的内容 cut -d ':' -f 1 /etc/passwd
实例二:获取第一列和第三列内容
cut -d ':' -f 1,3 /etc/passwd
实例三 : 获取第一列到第三列的内容
cut -d ':' -f 1-3 /etc/passwd
实例四: 获取第三列后面的所有内容
cut -d ':' -f 3- /etc/passwd
-c # 以字符为分割,截取第几个字符到第几个字符
cut -c 3- /etc/passwd # 第三个字符以后的内容
cut -c 1-5 /etc/passwd #第3个字符至第五个字符内容
cut -c 1,5 /etc/passwd # 第一个字符和第五个字符内容
四: awk命令
%s 代表字符串类型,不会进行自动换行
\n 换行符
\t 制表符
$1 $2 $3..... 代表是 第一列,第二列,第三列......
$0 代表 一整行
awk 语法
awk '条件1 {执行动作} 条件2 {执行动作} ...' 文件名
或awk [选项] '条件1 {执行动作} 条件2 {执行动作} ...' 文件名
实例1:
获取字段
df -h |grep '/sys/fs/cgroup' | awk '{print $6}' 显示出内容,在把内容通过管道符传给grep查询过滤找出包含关键字的那一行,在打印出需要内容的列
实例二:获取文件的第二列所有内容
命令: cat /etc/passwd | awk -F ":" '{print $2}'
-F: 指定分割符, 分割出来后打印第二列
实例三:
BEGIN #在读取全部内容前就会被执行,常用于修改内置变量的值
FS #在使用了 BEGIN 时, FS 指定分隔符
cat /etc/passwd | awk '{print $1} BEGIN{ FS=":"}'
实例四
end #在执行完所有命令后才执行
cat /etc/passwd |awk -F ":" ' END {print "END--------\n"} {print $1} '
实例四:
NR #代表行号,指定要打印显示的内容
实例五:打印出指定行之间的内容
df -h | awk '(NR>=2 && NR<=6) {print $5}'
linux send 命令主要对数据进行处理(选取,新增,替换,删除,搜索)
sed语法:sed [选项][动作] 文件名
实例一: 打印系统信息的第三行
df -h | sed -n '3p' # n代表把匹配到的行输出打印 p代表行的单位 比如第2行 '2p' 通常和n一起连用
实例 2: 删除第二列的内容
df -h | sed '2d' # d是代表删除, 比如要删除第4行 sed '4d' 文件名(这边的删除只是删除打印的信息,不会真的删除原文件的内容)
实例 3 :对源文件删除内容
1:先把信息打印到一个文件里
df -h > demo.txt
2:删除文件中的第二行
sed -i '2d' demo.txt # -i 是对源文件真的执行增删改查,操作先先备份好
实例4:在文件的第一行插入新的内容
sed -i '1a 11111111122222222222222' demo.txt # a代表的是在指定行的下面插入新的内容
实例5:在行的上面插入一行
sed -i '2i 33333333333333' demo.txt # i代表的是在指定行上面插入一行
实例6:替换第二行的内容
sed -i '2c ppppppppp' demo.txt #c代表的替换行内容
实例7:替换指定的内容
sed -i 's/920M/100000M/g' demo.txt # s/原内容/要替换内容/g
实例8:使用sed查询内容
cat demo.txt | sed -n '/1000/p'
实例9:使用sed 实现多条命令连用
-e 代表能使用多条命令
cat demo.txt | sed -n -e 's/11111111122222222222222/aaaaaaaa/g' -e '/aaaaaaaa/p' #先查询出 demo.txt文件内容 通过管道符传递给sed, -n 打印信息到控制台, -e 命令连用 ,先替换内容,在把替换的内容查询出来