echo 是最常用也差不多是最簡單的命令,通常用在指令碼語言和批處理檔案中來在標準輸出或者檔案中顯示一行文字或者字串。
echo [選項] [字串]
-n 不要在最後自動換行
-e 若字串中出現以下字元,則特別加以處理,而不會將它當成一般
文字輸出:
\a 發出警告聲;
\b 刪除前乙個字元;
\c 最後不加上換行符號;
\f 換行但游標仍舊停留在原來的位置;
\n 換行且游標移至行首;
\r 游標移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\\ 插入\字元;
\nnn 插入nnn(八進位制)所代表的ascii字元;
場景1:在標準輸出上顯示字串
$ echo "welcome\nwww.zicreate.com\n"
welcome\nwww.zicreate
.com\n
$ echo -e "welcome\nwww.zicreate.com"
welcome
www.zicreate
.com
場景2:使用重定向符來輸出到乙個檔案而不是標準輸出
在操作 linux 核心引數時經常需要使用 echo 改變某個引數的值,例如開啟 linux 核心的 nat **功能:
$ echo 1 > /proc/sys/net/ipv4/ip_forward清空、替換檔案內容時經常這麼用:
$ echo 「」 > file.txt向檔案追加內容時經常這麼用:
$ echo 「something」 >> file.txt(1)用echo命令列印帶有色彩的文字
文本色:
echo -e 「\e[1;31mthis is red text\e[0m」
this is red text
\e[1;31m 將顏色設定為紅色
\e[0m 將顏色重新置回
顏色碼:重置=0,黑色=30,紅色=31,綠色=32,黃色=33,藍色=34,洋紅=35,青色=36,白色=37
背景色:
echo -e 「\e[1;42mgreed background\e[0m」
greed background
顏色碼:重置=0,黑色=40,紅色=41,綠色=42,黃色=43,藍色=44,洋紅=45,青色=46,白色=47
文字閃動:
echo -e 「\033[37;31;5mmysql server stop…\033[39;49;0m」
紅色數字處還有其他數字引數:0 關閉所有屬性、1 設定高亮度(加粗)、4 下劃線、5 閃爍、7 反顯、8 消隱
(2)printf
printf命令格式化並輸出結果到標準輸出。學過c語言的童鞋對這個命令應該非常熟悉。
命令格式
printf(選項)(引數)格式替代符
%b
相對應的引數被視為含有要被處理的轉義序列之字串。
%c ascii字元。顯示相對應引數的第乙個字元
%d, %i 十進位制整數
%e, %e, %f 浮點格式
%g %e或%f轉換,看哪乙個較短,則刪除結尾的零
%g %e或%f轉換,看哪乙個較短,則刪除結尾的零
%o 不帶正負號的八進位制值
%s 字串
%u 不帶正負號的十進位制值
%x 不帶正負號的十六進製制值,使用a至f表示10至15
%x 不帶正負號的十六進製制值,使用a至f表示10至15
%% 字面意義的%
轉義序列
\a 警告字元,通常為ascii的bel字元
\b 後退
\c 抑制(不顯示)輸出結果中任何結尾的換行字元(只在%b格式指示符控制下的引數字串中有效),而且,任何留在引數裡的字元、任何接下來的引數以及任何留在格式字串中的字元,都被忽略
\f 換頁(formfeed)
\n 換行
\r 回車(carriage return)
\t 水平製表符
\v 垂直製表符
\\ 乙個字面上的反斜槓字元
\ddd 表示1到3位數八進位制值的字元,僅在格式字串中有效
\0ddd 表示1到3位的八進位制值字元
示例:
$ printf
"%-5s %-10s %-4s\n" welcome to zicteate
welcome to zicteate
$ printf
"%-5s %-10s %-4.2f\n"
01 tom 90.3456
01 tom 90.35
echo 與 printf 的區別:
(1)首先echo是回顯,自帶換行的;而printf只是列印出來,沒有換行;
(2)echo 與 printf 使用變數的方式不一樣;
例如:定義變數 w=「www.zicreate.com」
$ w=「www.zicreate
.com」
$ echo $w
「www.zicreate
.com」
$ printf "%s\n" $w
「www.zicreate
.com」
注意:
printf 命令預設輸出結果沒有換行符,需要手工新增\n。
printf 命令後面不能接受管道符引數,如:ls | printf 『%s』 是錯誤的。
print 命令後可以跟系統命令執行的結果, 如:printf 『%s』 $(ls)』
每天乙個Linux命令
將我遇到的linux指令總結一下,不斷增加 1 sz和rz 一般來說,linux 伺服器大多是通過 ssh客戶端來進行遠端的登陸和管理的,使用 ssh登陸 linux ssh有關的兩個命令可以提供很方便的操作 sz 將選定的檔案傳送 send 到本地機器 rz 執行該命令會彈出乙個檔案選擇視窗,從本...
每天乙個linux命令
linux cmp命令 linux cmp命令用於比較兩個檔案是否有差異。當相互比較的兩個檔案完全一樣時,則該指令不會顯示任何資訊。若發現有所差異,缺省會標示出第乙個不同之處的字元和列數編號。若不指定任何檔名稱或是所給予的檔名為 則cmp指令會從標準輸入裝置讀取資料。語法cmp clsv i 字元數...
每天乙個 Linux 命令
head 與 tail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 想當然爾就是看檔案的結尾。1 命令格式 head 引數 檔案 2 命令功能 head 用來顯示檔案的開頭至標準輸出中,預設head命令列印其相應檔案的...