今天上午继续练习昨天没弄完的管线命令
命令1 | 命令2,竖线两旁要用空格隔开,前面一个命令正确的话命令2才能接收到,所以要确保命令1的正确实施;
cut命令,
-d后接分隔符,拿PATH变量来举例,各路径的分隔是依靠:冒号来的,cut -d: -f1,3,如果是空格分隔符,要用双引号;
-f表示分隔之后取该内容的第几段显示出来,上例是显示第1和第3段,
grep ‘搜索字符串’ 文件名,截取命令
-c,计数在文件中找到字符串多少次;
-n,在文件中找到含有字符串的行标出行号显示出来;
-v,反向选择;
-i,忽略大小写;
sort,排序命令,默认按字母顺序排列;记住,默认是按文字形态来排序的,如果要按数字来排序必须使用-n;
-n选项,按数字顺序排列,如果有多个数字,则先排列一个数字的,然后两个数字,然后三个数字,,
-r选项,数字顺序反向排序,反向排序的时候不会管你是几个数字,就一并0-9顺序排列;
-t选项,分隔符,配合-k选择区域一起使用(类似cut -d ‘分隔符’ -f区域这种选择),在sort命令中,这就是在内容中单独选择一栏来进行排列,记住默认是按文字形态来排序;
-f忽略大小写
uniq,把重复的资料仅仅列出一个显示
-i,忽略大小写;
-c,计数重复多少次,可以两个一起使用;
wc,显示行数、单词数、字符数
-l,只列出行数;
-w,只列出单词数;
-m,只列出多少字符
tee双重导向命令,既把结果导向屏幕输出,也把结果导向文件并替换掉文件原来的内容
-a,把结果以累加的形式导向文件;
tr ‘字符串1’ ‘字符串2’,在输入中把字符串1替换成字符串2;
-d,后接内容,删除;
col,在cat -A文件的显示内容中^I是tab,
-x,把tab键转换成为空格键,
例如:cat -A 显示出所有特殊按键,cat -A /etc/man.config <==此时会看到很多 ^I 的符号,那就是 tab ,
cat /etc/man.config | col -x | cat -A,管线命令前面的cat不能接-A,因为接了就不能替换成功;
-b,在文字内有反斜杠时,仅保留反斜杠最后接的那个字符;
paste 文件1 文件2;直接粘贴
- (后面接空格),表示文件1是来自标准输入的资料;
join也是粘贴,先看文件内容前面是否相同,如果相同则粘贴过去,如果不相同的话,就不粘贴该行,默认使用空格符作为分隔符
-t(后接分隔符),指明粘贴后的分隔符
-i,忽略大小写进行粘贴;
expand 把文件内容中的tab键改成空格键内容
split,分割文件
-b,指定文件大小分割成多个文件;
-l,用行数来分割文件;
xargs [-0epn] command
-0 :如果输入的 stdin 含有特殊字符,例如 `, , 空格键等等字符时,这个 -0 参数 可以将他还原成一般字符。这个参数可以用于特殊状态
-e :这个是 EOF (end of file) 的意思。后面可以接一个字符串,当 xargs 分析到 这个字符串时,就会停止继续工作!
-p :在执行每个指令的 argument 时,都会询问使用者的意思;
-n :后面接次数,每次 command 指令执行时,要使用几个参数的意思
减号的用途-
tar -cvf - /home | tar -xvf -,表示我把/home里面的文件给他打包,但打包的数据不记录到文件,而是传送到stdout;经过管线,把tar –cvf - /home传送给后面的tar –xvf -。后面这个-是取用前一个指令的stdout,因此我们就不需要使用file了。