#find–查找
一、输入输出的定义
1.字符设备
字符设备就是显示字符到屏幕上的设备文件(类似于黑板)
2.stdin
标准输入
编号为0
键盘 鼠标 打字机
3.stdout
标准正确输出
标号为1
4.stderr
标准错误输出
标号为2
二、 如何管理系统输出(普通用户登录)
位置:
Application--Utilities--System Monitor--bash--pid
(root--Other Locations--computer--proc--pid--fa)
0、1、2--软连接/快捷方式(正确位置:/dev/pts/x)
0--输入内容 |
1--正确输出 | 同一字符设备(crw)
2--错误输出 |
1.输出重定向(会覆盖原文件的内容)
#find /yyyy/ -name xxxx > xxxx (管理正确输出)
#find /yyyy/ -name xxxx 2> xxxx(管理错误输出)
#find /yyyy/ -name xxxx &> xxxx(管理所有输出)
2.追加(不会覆盖原文件的内容)
#find /yyyy/ -name xxxx >> xxxx (管理正确输出)
#find /yyyy/ -name xxxx 2>> xxxx(管理错误输出)
#find /yyyy/ -name xxxx &>> xxxx(管理所有输出)
3.管道 “|”
只处理正确输出(pid/fd/1)
原理: pid/fd/1---->pid/fd/0tee-----复制
2>&1 | (将错误输出移动到1里面,然后全部输出)
ls westos hello 2>&1 | wc -l
把前一条命令的输出变成输入传递到下一条命令进行操作
管道在一条命令中可以使用多次
三、如何管理输入(实验环境:超级用户)
外界传递到程序中的信息
cat 文件 | tr ‘X-X’ ‘x-x’ 文件中的大写转换为小写(可互换)
也可单个字母转换| tr ‘a’ ‘b’
输入重定向
1. < 输入重定向
#tr 'a-z' 'A-Z' < test 把test文件中的内容定向到tr程序中(输入到tr下的pid/fd/o)
2. << 多行录入
eg:passwd westos <<EOF (字符任意)
hahaha ##此处的test不能表示为文件名称只表示test字符
hahaha
EOF (当首字母再次出现表示录入结束)
tr与|的本质区别:tr处理的是文件,硬盘中的,|处理的是输出
四、whatis命令的用法
1.whatis xx 系统帮助,查看命令的基本用途
显示nothing appropritae(没有) 表示系统安装完毕后还没有跟新帮助库
``"注意:当执行whatis命令出现 nothing appropriate 时大多数情况是因为系统的帮助数据库未更新,
如何解决此问题,需要在root用户下执行mandb"
#mandb跟新帮助库 manual(手册)db(数据)
2.–help
#cal --help 显示命令的简要帮助
#rm --help 查看命令的基本用法
帮助中符号的含义:[ ] 内容可加可不加
... 内容个数任意
< > 必须在命令执行时加入的元素
3.man(manual)
#man rm 进入到rm命令的帮助
#man -k passwd passwd关键字有多少级别的man
#man的级别
1 命令
2 系统调用
3 函数库调用
4 特殊文件(设备文件等) #5 文件
6 游戏
7 特殊的包
8 系统管理命令
9 内核信息规则
q 退出
/关键字 搜索关键字,n 向下匹配, N 向上匹配
G 快速移动到man的最后
g 表示快速移动到man的最前