標籤:shell
一、基本命令回顧
date //顯示日期和時間
who //查看登入系統的所有使用者
echo //顯示輸入的內容
檔案操作類
ls //列出檔案清單
cat //顯示檔案內容
wc //統計檔案中的單詞數
cp //複製檔案
mv //檔案重新命名
rm //刪除檔案
目錄操作類
pwd //顯示當前工作目錄
cd //改變當前工作目錄
mkdir //建立目錄
ln //連結檔案
ln -s 源檔案 目標檔案 //將源檔案連結到目標檔案
rmdir //刪除目錄
字元匹配
* //匹配0個或以上的字元
? //匹配任意一個字元
[abc] //匹配單個a或b或c
[0-9] //匹配0到9中的一個字元,指定範圍的第一個字元的序號必須小於後一個字元的
樣本:
[a-np-z]* //匹配除了o之外的從a-z的任意一個字母開頭的檔案名稱
! //非
樣本:
[!a-z] //匹配除了a到z的小寫字母之外的任一字元
*[!o] //匹配任意不以小寫字母o結尾的檔案名稱
ls [a-z]*[0-9] //列出以小寫字母開頭並以數字結尾的檔案名稱清單
標準輸入、輸出
以who為例,who命令把登入到系統的使用者清單寫入到標準輸出裝置。
輸入、輸出重新導向
> //輸出重新導向,覆蓋已有內容
>> //追加輸出重新導向,不覆蓋已有內容
cat(catenate) //後面跟多個檔案時,可將多個檔案串連起來
如:
cat a b >> c //將a和b檔案中的內容追加到c檔案中
> file //建立一個名為file的空檔案,長度為0字元
wc -l a //計算a檔案中的行數
管道
| //管道符
who | wc -l //將who命令的輸出反饋給wc -l作為輸入
過濾器
指從標準輸入接受輸入,對輸入進行處理後,把結果寫入標準輸出的任何程式,如sort,wc都算,但ls不算;
標準錯誤
2> //標準錯誤重新導向
; //分隔命令,如date;pwd
& //用於命令後面,表示後台執行
ps //顯示系統正在啟動並執行進程資訊
二、shell是什麼
init->getty->login->sh
如果要執行一個特定的程式,shell會在磁碟上搜尋並找到指定程式,找到後,shell請求核心對程式進行初始化,之後shell進入“睡眠”,直到程式執行完畢。
程式名 參數表
shell作用:
執行程式;
解釋程式設計語言;
環境控制;
管道線串連;
I/O重新導向;
變數和檔案名稱置換;
shell通過特定的字元去判斷程式名的起止位置和參數表的起止位置,有空白字元、定位字元、行結束符(統稱為空白字元);
shell自動忽略空白字元;
unix shell編程摘記系列(一)