- >, 1> 輸出重定向符stdout,代碼為1,重定向內容到文件,清除已有的內容,然后加入新內容,如果文件不存在還會創建文件
- >>, 1>> 追加輸出重定向符,追加內容到文件
- <, 0< 輸入重定向符stdin,代碼為0
- <<, 0<< 追加輸入重定向符
- 2> 標准錯誤輸出
- 2>> 追加標准錯誤輸出
- | 管道符
- \ 轉義字符
- . 或 ./ 一個點號是當前目錄;其它功能,正則,任意單個字符
- .. 或 ../ 兩個點號是當前目錄的上級目錄
- / 根目錄,即Linux里所有目錄的頂點,也就是路徑分隔符
- ; 命令分隔符
- {} 生成字符或數字序列,類似seq,一般配合echo等命令使用,find里的{}的意思是其安米娜命令的結果
- !
- 第一種,!字母,表示調出最近一次以此字母開頭的命令;
- 第二種,!! 表示使用最近一次操作;
- 第三種,!數字,調出歷史的第幾條命令;
- 第四種,取反的意思
- ~ 當前用戶的家目錄
- - 用戶上一次所在的目錄,-由OLDPWD變量控制
- && 並且
重定向擴展:
- > 或 1> 輸出重定向:把前面輸出的東西輸入到后面的文件中,會清除文件原有內容。
- >> 或 1>> 追加重定向:把前面輸出的東西追加到后面的文件尾部,不會清除文件原有內容。
- 0< 或 < 輸入重定向:輸入重定向用於改變命令的輸入,后面指定輸入內容,前面跟文件名。
- 0<< 或<< 追加輸入重定向:后跟字符串,用來表示“輸入結束”,也可以用ctrl+d來結束輸入
- 2> 錯誤重定向:把錯誤信息輸入到后邊的文件中,會刪除文件原有內容。
- 2>> 錯誤追加重定向:把錯誤信息追加到后邊的文件中,不會刪除文件原有內容。
說明:
- 箭頭的指向就是數據的流向
- 數字說明:
- 標准輸入stdin:代碼為0,使用 < 或 << 。數據流向從右向左
- -標准正常輸出stdout:代碼為1,使用 > 或 >>。數據流向從左向右。
- 標准錯誤輸出stderr:代碼為2,使用 2> 或 2>> 。
- 2>&1 標准正常輸出和標准錯誤輸出一樣,1放到哪,2就放到哪。
- echo 'message' >info.txt 2>&1 (推薦寫法,2>&1的寫法相當於&>)
- echo 'message' 1>info.txt 2>info.txt (傻瓜寫法)
- echo 'message' &>info.txt (和第一種寫法等價)
[root@oldboy data]# echo 1 2 3 4 56 7,8 9 >oldboy.txt [root@oldboy data]# cat oldboy.txt 1 2 3 4 56 7,8 9 [root@oldboy data]# xargs -n 2 <oldboy.txt 1 2 3 4 56 7,8 9 [root@oldboy data]# xargs -n 4 <oldboy.txt # 輸入重定向,將oldboy.txt中的內容交給xargs執行分組命令,按每行4個進行分組 1 2 3 4 56 7,8 9
&>文件名
這種用法表示 標准輸出和標准錯誤輸出的內容寫入同一個文件,和echo 1234 1>info.txt 2>info.txt等價
[root@oldboy data]# echo 'right and wrong messages both print to the file' &>info.txt [root@oldboy data]# cat info.txt right and wrong messages both print to the file
