系统输入与输出

  • 来源:网络
  • 更新日期:2020-07-09

摘要:系统运维 /dev/sda2 硬盘 /dev/shm 内存1.理解系统中的输入输出shell程序中的指令------>cpu产生运算结果------->字符设备在shell程序

系统运维

/dev/sda2 硬盘 /dev/shm 内存
1.理解系统中的输入输出
shell程序中的指令------>cpu产生运算结果------->字符设备
在shell程序中输入指令,送到cpu中运算产生的结果,再送到字符设备中显示。
2.管理输入输出的符号

: 重定向正确输出
2>: 重定想错误输出
&>: 重定向所有输出
注意:
重定向会覆盖原文件内容
示例:(要截图)
注意:以下实验必须在student用户下完成
find /etc/ -name passwd > file 定向正确输入到file
find /etc/ -name passwd 2> file.err 定向错误输入到file.err
find /etc/ -name passwd &> file.all 定向所有输入到file.all
清空一个文件命令: > 文件名


3.管道作用

1.wc命令
利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。
-c 显示bytes或chars 只显示bytes
-l 显示行数
-w 显示字数
$ wc 文件名 :显示文件的行数 单词数 字节数
$ wc 多个文件: 统计三个文件的信息

3.2.管道的作用
"|" 管道的作用是把前一条命令的输出变成后一条命令的输入
所以 ls /bin/ | wc -l 为1588 但是ls /bin/ | wc -l 就是1 的原因是1588就只有一行
注意: 管道只允许正确输出通过
通过管道的输入将会变成输入,而比变成输入的这些输出是会被第二条命令处理的,如果需要输出保存内容,那么需要复制一输出,用到的命令是"tee"
此实验在普通用户下操作:
find /etc/ -name passwd | wc -l 会看到结果为2,因为错误输出不能通过管道
find /etc/ -name passwd 2>&1 | wc -l 会看到19,因为编号为2的输出被“2>&1”转换为编号为1
find /etc/ -name passwd 2>&1 |tee file| wc -l 保存一份输出到file在统计行数

4.3.输入重定向

cat >file <<EOF
tr \'a-z\' \'A-Z’< westos
格式化输入内容到文件
cat >westos<<EOF
HELLO
WORLD
EOF

新网虚拟主机