一,重定向
> 覆盖输出
>> 追加输出
set -c 禁止对已存在的文件使用覆盖重定向
强制覆盖输出,则使用 >|
set +c 关闭上述功能
ls /varr > /tmp/var2.out 文件/varr不存在,会错误.错误信息不回重定向至 输出文件中
因为>只是定位了标准输出,而错误输出不会重定向.如果要重定向错误输出,得需要使用 2>,同理也有2>>
ls /varr >/tmp/var2.out 2>var3.out 这个命令是无论ls命令正确,这重定向至 var2.out否则重定向至var3.out tip:当然都可以重定向同一个文件
上面的命令还有一个简单的命令 ls /varr &> /tmp/var.out 无论是错误输出还是标准输出,都会重定向
输入重定向
cat < /etc/fstab
<< here document 此处生成文件
cat << END
the first line
the end line
END
cat >> /tmp/myfile.txt << EOF
输入一些内容到/tmp/myfile.txt
管道 |
命令1 | 命令2 | 命令3 (前一个命令的输出当成后一个命令的输入)
cat -d: -f1 /etc/passwd | sort
sort默认按字符排序 sort -n 按照数字排序
tr 'a-z' 'A-Z'
tee 既输出至标准输出,又输出至文件
echo 'hello.out' | tee /tmp/hello.out (既会输出至屏幕,又会保存至文件中)
wc -l
head -2
sort -u
cut -d: -f7 /etc/passwd | sort -u
取文件的第6行
head -6 /etc/inittab | tail -1
取出/etc/passwd文件中倒数第9个用户的用户名和shell
tail -9 /etc/passwd | head -1 |cut -d: -f1,7 | tee /tmp/hello.out
显示/etc 目录下所有以pa开头的文件,并统计其个数
ls -d /etc/pa* | wc -l