linux 常用管道命令

1.cut

cut -d '分隔字符' -f fields

cut -c 字符范围

例子

echo $PATH | cut -d ':' -f 5

echo $PATH | cut -d ':' -f 3,5

export | cut -c 12-

2.grep

grep [-acinv] [--color=auto] '查找字符串' filename

-c 查找字符串的次数

-v 反向选择,显示没有查找字符串内容的那一行

例子

last | grep 'reboot'

last | grep -v 'root'

last | grep 'root' |cut -d ' ' -f1 //仅列出一列

grep --color=auto 'MANPATH' /etc/man.config

3.sort排序

例子

cat /etc/passwd | sort

cat /etc/passwd | sort -t ':' -k 3 //-k 一那个区间来进行排序

uniq //去重

例子

last | cut -d ' ' -f1 | sort |uniq

last | cut -d ' ' -f1 | sort |uniq -c //进行计数

wc

-c //多少行 -w //多少字 -m //多少字符

例子

cat /etc/man.config | wc

4.tee

双从重定向

tee [-a] file // -a 以累加的方式

last | tee last.list | cut -d ' ' -f1

ll | tee llfile |more

ll | tee -a llfile |more

5. 字符串转换命令

tr col join paste expand

tr [-ds] SET1 // -d 删除信息当中的set1 这个字符串

last | tr '[a-z]' '[A-Z]' //把小写替换为大写

cat /etc/passwd | tr -d

col [-xb] //-x 将tab转换为对等的空格键

cat /etc/man.config | col -x | cat -A | more

join [-ti12] file1 file2 //处理之前先经过排序,否则对比的项目会被略过

join -t ':' /etc/passwd /etc/shadow

paste [-d] file1 file2

paste /etc/passwd /etc/shadow

expand [-t] file //将tab 按键转为空格键

grep '^MANPATH' /etc/man.config | head -n 3 | expand -t 6 - | cat -A

6.切割命令 split

split [-bl] file PREFIX //-b切割成的文件大小 -l以行数来进行切割

cd /tmp;split -b 300K /etc/termcap termcap

ls -al | split -l 10 -lsroot

wc -l lsroot*

7.参数代换 xargs

xargs [-0epn] command

-e 当xargs分析到这个字符串时,就会停止继续工作

-p 在执行没个命令的参数时,都会询问用户的意思

find /sbin -perm +7000 | xargs ls -l

8.减号 -

tar -cvf - /home | tar -xvf - //后面的-是取前面命令的stdout