系统设定
默认输入设备:标准输入,STDIN,0
默认输出设备:标准输出,STDOUT ,1
标准错误输出:STDERR 2
Linux:
>:覆盖输出
>>:追加输出
如果覆盖输出怕已存在的文件被覆盖,可以使用命令set -C来设置关闭
已存在内容的文件被覆盖,取消相应的set +C表示关闭此功能;
如果要强行覆盖,可以在>后面加个|
such as:
1 | #cat /etc/fstab |
2>:重定向错误输出
2>>:追加定向错误输出
ls /var > var.out 2>var.out
&>:重定向标准输出或错误输出至同一个文件:
ls /var &> var.out
<:输入重定向
tr a-z A-Z < /etc/inittab
<<:
cat << END
此处可编写内容
END
cat <<EOF(end of file ,和END一样)
cat >> /tmp/myfile.txt << EOF
这个会在当前编写的东西保存到/tmp/myfile.txt
当然,有可能会遇到一种情况,就是写的内容要保存一份,但是
也要在当前窗口进行输出,
echo “Hello World.” | tee /tmp/hello.out
管道:前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3 …
cut -d: -f3 /etc/passwd | sort -n | tr a-z A-Z
练习:
- 统计/usr/bin/目录下的文件个数
#ls -l /usr/bin | wc -l
- 取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按照顺序进行显示
#cut -d: -f7 /etc/passwd | sort -u
- 思考,如何显示/var/log/目录下每个文件的内容类型
#file /var/log/*
- 取出/etc/inittab文件的第6行
#head -6 /etc/inittab | tail -1 (man tail -n选项)
- 取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;
#tail -9 /etc/passwd | head -1 | cut -d: -f 1,7 | tee /tmp/users
- 显示/etc/目录下所有以pa开头的文件,并统计其个数
#ls /etc | grep pa | wc -l