- 在變數的前面加入反斜線「 \ 」則後面的特殊字元在執行時無效視為一般字元
- 在單引號「 ’」「’」中的特殊字元在執行時無效視為一般字元
- 在雙引號「”」「”」中的特殊字元在執行時有效。例如:變數
- 「>」為覆蓋原內容 「>>」為附加在文件後面
標準輸入、輸出、錯誤輸出
vi main.c 編輯建立一個程式main
#include <stdio.h>
int main()
{
printf(“Hello\n”);
get char();
return 0;
}
gcc main.c –o main 使用gcc 編譯程式
./main 執行編譯過的程式
pstree -p 查詢所有系統中執行中的程式並顯示process id
cd /proc/process id /fd 可以檢視process id 的標準輸入、輸出、錯誤輸出狀況
標準輸出的導向:
例:
date > /tmp/1.txt
cat /tmp/1.txt
例:
./main > /tmp/1.txt 可查看fd 中的狀況
cat /tmp/1.txt
標準錯誤輸出的導向(錯誤訊息):
例:
useradd 2> /tmp/2.txt 若要將標準的錯誤輸出導向必須使用「 2> 」的方式
cat /tmp/2.txt
vi main2.c 編輯建立一個程式main2
#include <stdio.h>
int main()
{
fprintf(stdout,“OK\n”);
fflush(stdout);
fprintf(stderr,“NO\n”);
fflush(stderr);
get char();
return 0;
}
gcc main2.c –o main2 使用gcc 編譯程式
./main 2 2> /tmp/2.txt 執行編譯過的程式
cat /tmp/2.txt 可以檢視錯誤輸出
將正確和錯誤導向到同一檔案all.txt,建議以第一和方式來使用
./main 1> /tmp/all.txt 2>&1
./main 2> /tmp/all.txt 1>&2
./main &> /tmp/all.txt
標準輸入的導向(用檔案代替鍵盤輸入)
例:
tr a-z A-Z < /etc/passwd 利用tr 指令可以轉換大小寫功能將 /etc/passwd 檔案輸入後進行轉換
例:
mail -s “標題” 帳號 < /tmp/2.txt 利用輸入導向可以將文字檔內容輸入到mail 內容中
使用管線符號將二個程式連結:
./main2 2>&1 | more 將main2 執行時的標準輸出以及錯誤標準輸出交給管線後由more 程式執行
留言列表