I/O重定向符号
2019-10-23 本文已影响0人
冷月成双
I/O
重定向符号
-
>
: 标准输出覆盖重定向:将命令的输出重定向输出到其他文件中,如果文件已存在并且有内容就会清空已有内容,再写进去,文件不存在则创建新文件# 将 ls -l 命令的输出重定向到ls_usr.txt文件中 ~$ ls -l /usr > ls_usr.txt # 这会看到 ls -l /usr的输出内容 ~$ cat ls_usr.txt ~$ ls -l /usr/notExists > notExists.txt ls: 无法访问'/usr/notExists': 没有那个文件或目录 # ls -l /usr > ls_usr.txt 等价于 ls -l /usr/ 1> ls_usr.txt ~$ ls -l /usr/ 1> ls_usr.txt # 同样会重定向到ls_usr.txt文件中 # 上面的1是文件标识符 # 如果命令产生错误输出 如 : ls -l /usr/notExists > notExists.txt,那文件标识符就是2 ~$ ls -l /usr/notExists 2> notExists.txt # 错误的输出重定向到文件中 ~$ cat notExists.txt # 查看文件,错误信息写到文件中 ls: 无法访问'/usr/notExists': 没有那个文件或目录 # 如果某命令既有标准输出,又有错误标准输出,可以分别输出到指定的文件中 ~$ ls -l /usr/ 1> ls_usr.txt 2> ls_usr_err.txt
-
>>
: 标准输出追加重定向:将命令的输出重定向输出到其他文件中,这个和上面不同的是如果文件已存在,不会清空已有内容而是追加到文件的后面~$ ls -l /tmp/ >> ls_usr.txt ~$ cat ls_usr.txt # 可以看到追加到文件的后面了
-
>&
: 标识输出重定向:将一个标识的输出重定向到另一个标识的输入# 执行command 命令,将标准输出的内容重定向到stdout.txt文件中,如果有标准错误输出也重定向到该文件中 ~$ command > stdout.txt 2>&1
-
<
: 标准输入重定向 : 命令将从指定的文件中读取输入而不是键盘输入~$ cat # 等待键盘输入 hello # 键盘输入hello hello # cat命令读出并且打印出hello world # 键盘输入world world # cat 命令读出并且打印出world ~$ cat < ls_usr.txt 从文件读入并打印
*|
: 管道 : 从一个命令读取输出作为另一个命令的输入