管理linux的输入输出

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

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

管理linux的输入输出_第2张图片

2> find /etc/ -name passwd 2> westos 重定向错误输出到文件 正确的留在shell屏幕
管理linux的输入输出_第3张图片

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

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

管理linux的输入输出_第4张图片
重定向会覆盖源文件内容
3.追加输出
符号 用途
>> 追加正确输出
2>> 追加错误输出
&>> 追加所有输出
不会覆盖源文件内容,追加内容会放到源文件后
管理linux的输入输出_第5张图片

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

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

 [student@workstation ~]$ ls /bin | wc -l      统计/sbin/有多少文件  

管理linux的输入输出_第8张图片

 find /etc/ -name passwd  | wc  -l                     默认只有正确的输出才能通过管道符统计

管理linux的输入输出_第9张图片

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

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

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


[输入标识]

把一个westos文件内容全部更换为大写 文件内容(hello)

[student@workstation Desktop]$ tr 'a-z' 'A-Z'  <    westos          一次输入重定向 将命令输入到文件

管理linux的输入输出_第11张图片
多行录入 <<

每次更改密码都要输入密码是一件繁琐的事情,利用多行录入则简单方便
切换到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 <)
     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.
           更改密码显示成功  

管理linux的输入输出_第12张图片
管理linux的输入输出_第13张图片

你可能感兴趣的:(linux,运维)