命令:一些单一功能的小程序
分类:
- shell内建命令:cd、source、if、pwd等
- 外部命令:存在与各种bin目录中
1 重定向
作用:修改输入和输出的位置
1.1 文件描述符(fd)
- 0:STDIN,标志输入,默认标准输入设备是终端
- 1:STDOUT,标准输出,默认标准输出设备是终端
- 2:STDERR,标准错误输出,默认标准错误输出是终端
1.2 输出重定向
- 标准输出
STDOUT
重定向[1]>
> FILE
:覆盖式标准输出:若原文件存在,则将其内容覆盖;若原文件不存在,则会创建该文件>> FILE
:追加式标输出:若原文件存在,则输出会追加在原文件后面;若原文件不存在,则会创建该文件
- 标准错误输出
STDERR
重定向2>
2>
2>>
- 所有输出重定向
CMD &> FILE
:相当于1> + 2>
CMD > FILE 2>&1
:将标准输出重定向到FILE,再将标准错误输出重定向到标准输出
- 常用输出设备
/dev/null
:将输出重定向到此设备将不会打印任何输出信息
1.3 输入重定向
-
cat > text.txt < test1.txt
:将text1.txt中的内容输入(覆盖)到text.txt中 -
cat > text.txt << END
:变成终端输入模式,终端输入的所有内容都会覆盖到这个文件里END
:指定输入终止符,可以为自定义的
2 管道(|)
作用:通过管道 |
,将一个命令的标准输出称为另一个命令的标准输入
[root@localhost ~]# ls /etc/fstab fstab 2>&1
/etc/fstab fstab
[root@localhost ~]# ls /etc/fstab fstab 2>&1 | wc -l
2
通过管道修改用户密码:echo "awsl" | passwd --stdin aw
3 命令队列
\
:续行,输入后按回车命令不会执行,而是可以换一行继续输入;
:命令之间的分割符CMD1; CMD2; CMD3; …
&
:将命令放到后台执行ping baidu.com > /dev/null 2>&1 &
:不显示命令的输出信息并将命令放到后台执行
&&
:逻辑与||
:逻辑或