管理linux中的输入输出
1.输入输出相关的一些定义
(1)重定向
- 输入重定向
允许用户不通过键盘,而是从文件中得到输入数据;
一般输入设备是键盘,若想把文件作为输入数据,即为“输入重定向”;
输入重定向只需将所有想执行的命令打包写入一个文件中,执行此文件即可! - 输出重定向
将原本要输出到屏幕的数据信息写入指定的文件中;
当不想将显示在shell脚本内,使用重定向,将输出内容放在指定文件中;
同时,输出重定向可以将正确的输出和错误的输出分别放在不同的文件中。
(2)当运行一个shell时,通常会自动打开三个文件,分别是标准输入文件(stdin) 标准正确输出(stdout) 标准错误输出(stderr)
(3)字符设备:I/O传输过程中以字符为单位进行传输的设备(例如打印机和键盘) Linux中,字符设备(/dev/pts)是内存中开启的虚拟设备,并非真实存在。
2.重定向输出的一些符号
重定向会覆盖源文件的内容
系统的输出有两种结果:
stdout 命令顺利执行后产生的字符串 输出编号1
stderr 命令失败执行后产生的字符串 输出编号2
> | 重定向正确输出(将正确结果定向到指定的文件) |
---|---|
2> | 将错误结果定向到指定文件 |
&> | 将全部的结果定向到指定的文件 |
>file1 2>file2 | 将正确结果定向到file1,将错误结果定向到file2 |
2> /dev/null | 将错误的内容放在垃圾桶 |
>file | 清空file文件 |
实验解析:以下实验必须在普通用户模式下进行
知识扩展:
(1)注销当前用户
[student@workstation Desktop]$ gnome-session-quit --force
(2)find 命令用法
[student@workstation Desktop]$ ls
1.txt 2.txt 3.txt 4.txt 5.txt 6.txt a.text b.text c.text
[student@workstation Desktop]$ find *.txt
[student@workstation ~]$ find /home/student/Desktop/ -name *.txt
输出重定向
首先查找/etc/passwd文件
[student@workstation Desktop]$ find /etc/ -name passwd
将正确结果重定向到westos.out文件中,错误的结果在shell屏幕中显示
linux中错误输出产生的原因是由于权限的限制不能访问,因此会产生标准错误输出
[student@workstation Desktop]$ find /etc/ -na