一、管理输出
输入 | 编号为0 |
正确输出 | 编号为1 |
错误输出 | 编号为2 |
1.1 输出重定向
> | 重定向正确输出 |
2> | 重定向错误输出 |
&> | 重定向左右输出 |
e.g.
find /etc -name passwd > file ##将根下的etc目录中名为passwd的文件的正确输入放进文件file中
输出重定向会覆盖文件的内容
1.2 追加
>> | 正确输出 |
2>> | 错误输出 |
&>> | 所有输出 |
e.g.
find /etc -name passwd >> file ##将根下的etc目录中名为passwd的文件的正确输入放进文件file中
追加不会覆盖文件的内容,而是将相应的输出放到文件的最后
1.3 管道
管道符 “|” :将前一条命令的输出作为后一条命令的输入进行传递,在一条命令中可以多次使用管道符,但管道符只能用来处理正确输出
e.g.
ls /bin/ | tee file | wc -l
##显示根下的bin目录中的信息,并将正确输出复制到文件file中,再显示file的行数
如何让管道符可以处理错误输出?
固定格式:2>&1
将错误输出的结果放入正确输出中,管道符就可以处理错误输出了
e.g.
ls haha 2>&1 | wc -l
##haha是不存在的用户,因此ls haha只会有1条错误输出,将其放入正确输出中后,再显示行数,行数应为1
二、管理输入
2.1 输入重定向 <
用来解决命令不识别输入是文件的情况
e.g.
tr 'a-z' 'A-Z' < file
##将文件file内容中的小写字母转换为大写字母
2.2 多行录入 <<
e.g.
data
passwd <<EOF
123
123
EOF
##<<EOF代表录入起始,再次出现与录入起始相同字符EOF代表录入结束,录入起始和录入结束之间的内容会多次输入到指定程序中
##passwd命令在执行时需要操作者输入两次密码,如果passwd出现在脚本中会影响脚本的自动运行,此时就需要多行录入来解决
三、查看命令的帮助
3.1 whatis 命令名
用来查看命令的基本用途
当出现nothing错误时,需要更新帮助数据库。
更新帮助数据库:在超级用户下,使用mandb命令更新
e.g.
##查看man命令的基本用途失败,出现nothing错误
##使用mandb命令更新帮助数据库
##更新完成
##再次查看man命令的基本用途,显示成功
3.2 命令名 --help
options:参数
format:格式
[ ] | 表示内容可加可不加 |
< > | 表示必须要加 |
... | 表示个数任意 |
e.g.
3.3 man
3.3.1 man 命令名
用来进入该命令的帮助页面
输入/关键词,可高亮显示和关键词相关的帮助
n 向下匹配
N 向上匹配
G 快速移动到最后
g 快速移动到最前
q 退出
##进入date命令的帮助页面
##输入关键词day
##高亮显示与day相关的内容
3.3.2 man -k 关键词
查看该关键词的级别
(1)命令
(2)系统调用
(3)函数库调用
(4)特殊文件(设备文件等)
(5)文件
(6)游戏
(7)特殊包
(8)系统管理命令
(9)内核优化规则
e.g.
3.3.3 man 数字 关键词
查看相应级别的帮助
e.g.
输入/关键词,可高亮显示和关键词相关的帮助
n 向下匹配
N 向上匹配
G 快速移动到最后
g 快速移动到最前
q 退出