Linux学习
常用指令记录
find
作用:在指定目录下查找文件
语法: find path [options] params
find ~ -name “1.txt” :根据文件名精确查找~下的文件
find / -name “target*” :根据文件名模糊查找/下的文件
find / -iname"target*" :根据文件名模糊查找/下的文件,但是部分大小写
man find : 更多关于find指令的使用说明
grep
作用:查找文本中含有目标字符的行
语法:grep [options] pattern file
grep “test” test.txt : 找出test.txt文件中含test的行
grep “test” : 接收输入流输入的字符串, 找出其中含test的行
管道操作符 |
作用:使管道上一个指令的输出作为下一个指令的输入
使用管道注意的要点
- 只处理前一个命令的正确输出,如前一个命令错误,则不再处理
- 右边的指令必须能接收标准输入流,否则传递过程中数据会被抛弃
- 常用接收输入流的指令有sed, awk, grep, cut, head, top, less, more, wc, join, sort, split
awk
语法:awk [options] 'cmd' file
作用:每一行根据空格去切片,$1表示第一列,$2表示第二列
awk ‘{print $1, $4}’ netstat.txt : 输出netsta.txt中第一列和第四列的数据
awk ‘$1==“tcp” && $2==1 {print $0}’ netstat.txt:输出第一列为tcp,第二列为1的行
awk -F “,” ‘{print $2}’ test.txt : 把test.txt文件中按照,分列,输出第二列的数据
awk ‘{enginearr[$1]++}END{for(i in enginearr)print i “\t” enginearr[i]}’:使用一个数组记录第一列的数据,统计其个数
sed
流编辑器,适用于对文本的行内容进行处理
语法:sed [option] 'sed command' filename
sed ‘s/^Str/String/’ replace.java :把开头Str替换成String,不写回。
sed -i ‘s/ \.$/;/’ replace.java:把结尾的.替换成;并写回。
sed -i ‘s/Jack/me/’ replace.java:把文中第一次出现的Jack替换成me
sed -i ‘s/Jack/me/g’ replace.java:把文中出现的所有Jack替换成me
sed -i ‘/Integer/d’ replace.java: 把文中出现Integer的行删除