管理Linux中的输入输出【RHEL8】

1.输入输出

输入

Stdin[标准输入流]
• 输入是指系统外接向系统中传递的信息
系统外接想系统中传递数据的方式如下
• 键盘
• 鼠标
• 输入命令

输出

stdout[标准正确输出]
• 在命令顺利执行完成后产生的字符串
• stdout在Linux中的输出编号为1
stderr[标准错误输出]
• 在命令失败执行完成后产生的字符串
• stderr在Linux中的输出编号为2

字符设备

字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等
字符设备是内存中开启的虚拟设备并出真实存在

2. 重定向输出

重定向输出的方法

> 只会输出正确的
2> 输出错误
&> 输出所有

实验环境为普通用户环境

[student@workstation Desktop]$ find /etc/ -name passwd >westos.out  ##将正确输出到westos.out中,错误的就输出到当前位置
find:/etc/pki/rsyslog’: Permission denied
find:/etc/dhcp’: Permission denied
find:/etc/polkit-1/rules.d’: Permission denied
find:/etc/polkit-1/localauthority’: Permission denied
find:/etc/sssd’: Permission denied
find:/etc/grub.d’: Permission denied
find:/etc/audit’: Permission denied
find:/etc/firewalld’: Permission denied
find:/etc/sudoers.d’: Permission denied
find:/etc/lvm/archive’: Permission denied
find:/etc/lvm/backup’: Permission denied
find:/etc/lvm/cache’: Permission denied
find:/etc/libvirt’: Permission denied
find:/etc/cups/ssl’: Permission denied
[student@workstation Desktop]$ find /etc/ -name passwd 2>westos.err  ##将错误输出到westos.err中,正确的就输出到当前位置
/etc/pam.d/passwd
/etc/passwd
[student@workstation Desktop]$ find /etc/ -name passwd &> westos.out  ##将所有内容输出到westos.out

在这里插入图片描述
重定向会覆盖原文件内容

对于输入输出过程的具体描述:
命令行窗口 ---->输入命令 --->会进入内存中的/dev/pts0中---->回车--->cpu进行相关处理--->继续传输到/dev/pts0中--->回到命令行窗口进行显示
####################################################
date> /dev/pts/0  ###输出重定向
cat /dev/pts/0   ###会在这个界面查看到操作
两个操作hhhhhh,一直摁一直有

在这里插入图片描述

新建一个shell
ps
cd /proc
cd num  ##切换到进程号
cd fd
ls -l  ##可以查看到关于0 1 2的描述
0-->所有输入;1-->输出正确;2-->输出错误

在这里插入图片描述

3.追加

追加符号

符号 用途
>> 追加正确输出
2>> 追加错误输出
&>> 追加所有输出
[student@workstation Desktop]$ vim xiao    ##建立一个文件,并且写如写进一定的内容
[student@workstation Desktop]$ find /etc/ -name passwd >> xiao  ##追加passwd中正确的内容到xaio中
find:/etc/pki/rsyslog’: Permission denied
find:/etc/dhcp’: Permission denied
find:/etc/polkit-1/rules.d’: Permission denied
find:/etc/polkit-1/localauthority’: Permission denied
find:/etc/sssd’: Permission denied
find:/etc/grub.d’: Permission denied
find:/etc/audit’: Permission denied
find:/etc/firewalld’: Permission denied
find:/etc/sudoers.d’: Permission denied
find:/etc/lvm/archive’: Permission denied
find:/etc/lvm/backup’: Permission denied
find:/etc/lvm/cache’: Permission denied
find:/etc/libvirt’: Permission denied
find:/etc/cups/ssl’: Permission denied  ##只会输出不正确的
[student@workstation Desktop]$ find /etc/ -name passwd 2>>xiao  ##追加passwd中不正确的内容到xiao中
/etc/pam.d/passwd
/etc/passwd  ##屏幕输出只有正确的
[student@workstation Desktop]$ find /etc/ -name passwd &>> xiao  ##追加passwd中所有内容到xiao中,屏幕上不会再进行显示输出
[student@workstation Desktop]$ vim xiao  ##再一次查看xiao文件,确保在操作正确

在这里插入图片描述

4.管道

管道定义:把输出变成后一条命令的输入
管道的相关符号

符号 用途
l 管道符
2>&1 将编号为1的输出转换为2
tee 复制输出到指定位置

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

5.输入重定向

1.一次输入重定向
echo hhhhhh kkkkkk > westos  ##向westos中写如内容
tr ‘a-z’  ‘A-Z’ < westos  ##westos将自己的内容输入重定向到tr中,tr才可以执行自己的相关操作
2.多行录入
以下操作必须在root用户下进行
建立一个脚本文件
vim westos.sh
写入 passwd,退出保存
sh westos.sh  ##执行操作,发现他在等待输入
继续vim编辑westos.sh
passwd << EOF  ##多行录入开始
xiao
xiao
EOF  ##当起始字符再次出现,录入结束

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

6.Linux中的帮助

whatis command  ##产看命令用途
command --help  ##查看命令的基本用法
[内容]          ##在执行时候可加可不加
...              ##加入内容的个数任意
< >             ##在执行操作的时候必须加入
man level target  ##man的命令的用法
man           ##man命令本身
level       ##man的级别
target  ##man的对象

在这里插入图片描述

level:
1 ##命令
2 ##系统调用
3 ##函数调用
4 ##函数特殊文件
5 ##系统配置文件
6 ##游戏
7 ##特殊包
8 ##系统管理命令
9 ##内核规则

example

man passwd  ##查看passwd命令用法
man 5 passwd  ##查看/etc/passwd 文件
man -k passwd  ##查看passwd在系统中有多少个级别的man
发布了15 篇原创文章 · 获赞 4 · 访问量 389

猜你喜欢

转载自blog.csdn.net/weixin_43519951/article/details/103785378