系统输出管理:管理命令结果的输出,将系统默认存放的位置定向到用户指定位置。
说明:输入命令存入系统内存,回车之后cpu运算产生计算结果以字符方式存入字符设备/dev/pts/0,此文件用于显示字符,不同文件显示字符位置不同。
系统输出分为两种:正确输出1与错误输出2
定向正确输出为>
,定向错误输出为2>
,定向所有输出为>&
,以上操作均可以覆盖原文件内容
举例:在普通用户身份下以名字查找/etc/所有passwd文件,有正确输出与错误输出
如图:
定向正确输出(将正确输出放入file1,错误输出仍在系统默认位置/dev/pts/0)如图:
定向错误输出(将错误输出放入file2,正确输出仍在系统默认位置/dev/pts/0)如图:
定向所有输出(两种输出均放入file3)如图:
注意:find命令下root用户不会报错
#清空一个文件:> file
#将空倒入file或指新建一个文件
> file
导入输出会覆盖原文件file内容,因此引入追加符>>
,2>>
, &>>
,可以进行两个文件的合并。
>> file
导入正确输出 不会覆盖原文件file内容。
举例(echo为print的意思)如图:
#输出管道符|的应用:(对输出进行二次处理,|处理前一条命令的输出,前一条命令的输出变成后一条命令的输入)
举例如图(wc 显示一个文件的行数字符数(包含空格)字节数):
管道符默认通过编号为1的输出通过 举例如图:
将错误输出也通过管道符如图(2>&1将编号为2的错误输出改为编号1):
将输出保存并计算行数如图(输出分为两份,一份用于保存,另一份用于计算行数):
tee 表示复制输出到指定位置
#输入重定向:适用于固定问题回答,<
单次输入定向 举例如图:
<<
多次输入定向 ,举例如图(自动输入两次密码 redhat为passwd的输入,用<<将redhat重定向到passwd命令中,EOF表示告诉passwd命令,开始输入两行密码,EOF再次出现表示输入结束):
练习题:
#用户在系统中的存储方式
/etc/passwd
用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell
/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
/etc/shadows
认证信息文件
/etc/skel/.*
/etc/skel/建立用户时会把所有文件复制一遍到用户的家目录中
默认开启shell的配置,用户的骨文件,用户信息的模板
/home/username
用户的家目录
#用户的查看
whoami #查看当前用户
系统中查看用户
id 查看指定用户id信息
id -g 查看用户gid
id -n 显示名字不显示id数字
id -u 查看用户uid
id -G 查看用户全部组id