美文网首页
I/O重定向符号

I/O重定向符号

作者: 冷月成双 | 来源:发表于2019-10-23 22: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 从文件读入并打印
      

    *|: 管道 : 从一个命令读取输出作为另一个命令的输入

    相关文章

      网友评论

          本文标题:I/O重定向符号

          本文链接:https://www.haomeiwen.com/subject/sgelvctx.html