Linux的大部分命令都具有标准的输入输出端口,有哪些标准设备信息?
名称 | 文件描述符 | 含义 | 设备 | 说明 |
stdin | 0 | 标准输入 | 键盘 | 命令在执行时所需要的输入数据,通过它来获取 |
stdout | 1 | 标准输出 | 显示器 | 命令在执行后所产生的输出数据,通过它来送出 |
stderr | 2 | 标准错误 | 显示器 | 命令在执行后所产生的错误信息,通过它来送出 |
什么是文件描述符?
文件描述符是与某个打开的文件或数据流相关联的整数。
什么是系统重定向?
不使用系统的标准输入端口、标准输出端口和标准错误输出端口,而进行重新的指定,所以重定向分为输入、输出和错误重定向,通常情况下重定向到一个文件。
重定向符号 | 说明 |
< | 实现输入重定向,不常使用 |
> | 实现输出重定向,覆盖 |
>> | 实现输出重定向,追加 |
2> | 实现错误重定向,覆盖 |
2>> | 实现错误重定向,追加 |
&> | 同时实现输出重定向和错误重定向 |
ticy@ubuntu:~/share$ ls -l /tmp/ >dir----将ls命令生成的tmp目录的清单存到当前目录的dir文件
ticy@ubuntu:~/share$ cat dir
-rw------- 1 ticy ticy 0 Dec 27 01:10 config-err-ddZDLq
drwx------ 3 root root 4096 Dec 27 00:59 systemd-private-8beabf06e6054c24a0502f54b517ff0d-colord.service-cpOPI7
ticy@ubuntu:~/share$ ls -l /etc/ >> dir---将ls命令生成的etc目录的清单追加到当前目录的dir文件
ticy@ubuntu:~/share$ cat dir
-rw------- 1 ticy ticy 0 Dec 27 01:10 config-err-ddZDLq
drwx------ 3 root root 4096 Dec 27 00:59 systemd-private-8beabf06e6054c24a0502f54b517ff0d-colord.service-cpOPI7
drwxr-xr-x 3 root root 4096 Aug 1 2017 acpi
ticy@ubuntu:~/share$ aaa 2>err_file----将错误信息保存到err_file文件
ticy@ubuntu:~/share$ cat err_file
No command 'aaa' found, did you mean:
Command 'aa' from package 'astronomical-almanac' (universe)
Command 'ara' from package 'ara' (universe)
Command 'aha' from package 'aha' (universe)
Command 'jaaa' from package 'jaaa' (universe)
aaa: command not found
ticy@ubuntu:~/share$ wc -l -w <err_file----统计err_file文件的行数和字数
6 35