管理linux的输入输出

1.Linux系统中输入输出的定义
2. 重定向输出
3 .追加输出
4. 管道
5 .输出重定向
1. 输入输出的定义
输入
Stdin[标准输入流]
输入是指系统外接向系统中传递的信息
系统外接想系统中传递数据的方式如下
键盘 鼠标 输入命令
输出
stdout[标准正确输出]
在命令顺利执行完成后产生的字符串
stdout在Linux中的输出编号为 1
stderr[标准错误输出]
在命令失败执行完成后产生的字符串
stderr在Linux中的输出编号为 2
字符设备
字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等
字符设备是内存中开启的虚拟设备并出真实存在
普通用户对于查看有些配置文件使用权限限制的
如下:
在这里插入图片描述
2.重定向输出
1.1重定向输出的方法
符号 用途
1> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
正常字符输出默认被设定存入—— /dev/pts/o

1> find /etc/ -name passwd 1> westos 输出重定向 正确输出到文件中(1可以忽略)错误的出现在shell屏幕
9ibG9nLmNzZG4ubmV0L3FxXzQ2MDg5Mjk5,size_16,color_FFFFFF,t_70)

在这里插入图片描述

2> find /etc/ -name passwd 2> westos 重定向错误输出到文件 正确的留在shell屏幕
在这里插入图片描述

1&> find /etc/ -name passwd &> westos 重定向错误和正确都输出到 文件westos shell屏幕无字符

[student@workstation Desktop]$ find /etc/ -name passwd &> westos

在这里插入图片描述
重定向会覆盖源文件内容
3.追加输出
符号 用途
>> 追加正确输出
2>> 追加错误输出
&>> 追加所有输出
不会覆盖源文件内容,追加内容会放到源文件后
在这里插入图片描述

[student@workstation Desktop]$ find /etc/ -name passwd 2>> westos 追加错误的指令到指定文件 错误的指令在文件后包括上次追加正确的也在里面
在这里插入图片描述
[student@workstation Desktop]$ find /etc/ -name passwd &>> westos 追加重定向错误和正确都输出到文件后
在这里插入图片描述

4.管道
管道 定 义:把输出变成后一条命令的输入
管道 的 相 关 符 号
符号 用途
| 管道符
2>&1 将编号为1的输出转换为2
tee 复制输出到指定位置(文件)

[student@workstation ~]$ ls /bin | wc -l 统计/sbin/有多少文件
在这里插入图片描述

find /etc/ -name passwd | wc -l 默认只有正确的输出才能通过管道符统计
在这里插入图片描述

find /etc/ -name passwd 2>&1 | wc -l 將錯誤庶出重定向到正確的輸出存放位置再統計數量(统计后shell不显示内容)

[student@workstation ~]$ find /etc -name passwd 2>&1 | wc -l

find /etc/ -name passwd 2>&1 | tee file | wc -l 复制输出到文件file中在统计数量(内容在westos文件中)
在这里插入图片描述
使用命令tee时,如果与统计行数命令顺序不同,文件保存的内容也会不一样

5.输入重定向
输入 重 定 向
用符号从文件中获取输入
输入 重 定 向 符 号
command << [输入标识]
内容


[输入标识]

把一个westos文件内容全部更换为大写 文件内容(hello)
[student@workstation Desktop]$ tr ‘a-z’ ‘A-Z’ < westos 一次输入重定向 将命令输入到文件
在这里插入图片描述
多行录入 <<

每次更改密码都要输入密码是一件繁琐的事情,利用多行录入则简单方便
切换到root超级用户身份
切换用户:gonme-session-quit --force

[root@workstation Desktop]$ touch westos.sh(创建一个shell脚本文件)
[root@workstation Desktop]$ vim westos.sh (westos.sh 内容: date 显示当前时间 换行 passwd )
[root@workstation Desktop]$ vim westos.sh
date
passwd <<EOF 多行录入重定向 起始标识(EOF)
westos 密码
westos
EOF(终止) (E0F为起始终止字符)
[root@workstation Desktop]# sh westos.sh 更改密码无需多次输入密码
Mon Dec 30 17:58:04 EST 2019
Changing password for user root.
New password: BAD PASSWORD: The password is shorter than 8 characters
Retype new password: passwd: all authentication tokens updated successfully.
更改密码显示成功

在这里插入图片描述
在这里插入图片描述

发布了9 篇原创文章 · 获赞 4 · 访问量 304

猜你喜欢

转载自blog.csdn.net/qq_46089299/article/details/103790025
今日推荐