一.重定向
标准输入:0
标准正确输出:1
标准错误输出:2
&表示将正确的和错误的混合输出
二.输出重定向
> ----覆盖
>> ----追加
正确输出: 1> 1>> 等价于 > >>
错误输出: 2> 2>>
; 命令分割符
&& 上一条命令执行失败,不会进行下一条命令
|| 上一条命令执行失败则进行下一条指令$? 返回值是0上一条命令执行成功
返回值非0,命令执行失败
三.输入重定向
标准输入 < 等价于0<
语法:cat > file5 <<EOF #可以写到脚本或者文件里面
EOF:开始和结束的标记。结尾的另一个必须定格写。
四.管道
用法:command1 | command2 |command3 |...
实例一:
rpm -qa |grep 'httpd' #查询所有安装的软件包,过滤包含httpd的包
ps aux | grep 'sshd'
实例二:
sort -t":" -k3 -n /etc/passwd #以: 分隔,将第三列按字数升序
sort -t":" -k3 -n /etc/passwd -r #以: 分隔,将第三列按字数降序
sort -t":" -k3 -n /etc/passwd |head #以: 分隔,将第三列按字数升序看前十行
sort -t":" -k3 -n /etc/passwd |tail #以: 分隔,将第三列按字数升序看后十行
参数详解:
sort 排序,默认升序
-t 指定分隔符
-k 指定列
-n 按数值
-r 降序
head 默认输出前十行
tail 默认输出后十行
cut -d: -f2 (-f3-打印 第三列以后的列)
-d 指定分割符
-f 指定第几行
五、参数传递:xargs
对:ls cp rm 管道不能执行。所以通过xargs。
语法:
cat a.txt | xargs -i cp {} /目录
{}:前面传过来的内容
-i :为了让大括号生效
目录时 -r
解释:前面传过来的东西交给大括号
cat file.txt |xargs ls -l
前面是目录或者目录的路径。 ls - l 后面可以不加大括号,直接执行。
常用小命令
du -h /etc/ #查看目录及目录中的文件大小 du -sh /etc/ #查看目录的总大小 ls /etc/ | wc -l #查看目录中有多少个文件uniq -c 去重,统计数量
wc -l 统计行数
wc -w 统计有多少个单词