Liunx命令(一),Liunx命令(
常用命令:
ls:是list的簡稱。預設情況下用來列印出目前的目錄的列表。使用命令:ls [選項] [檔案目錄]
-a, –all 列出目錄下的所有檔案,包括以 . 開頭的隱含檔案。
-A同-a,但不列出“.”(表示目前的目錄)和“..”(表示目前的目錄的父目錄)。
-c 配合 -lt:根據 ctime 排序及顯示 ctime (檔案狀態最後更改的時間)配合 -l:顯示 ctime 但根據名稱排序否則:根據 ctime 排序
-C 每欄由上至下列出項目
–color[=WHEN] 控制是否使用色彩分辨檔案。WHEN 可以是’never’、’always’或’auto’其中之一
-d, –directory 將目錄象檔案一樣顯示,而不是顯示其下的檔案。
-D, –dired 產生適合 Emacs 的 dired 模式使用的結果
-f 對輸出的檔案不進行排序,-aU 選項生效,-lst 選項失效
-g 類似-l,但不列出所有者
-G, –no-group 不列出任何有關組的資訊
-h, –human-readable 以容易理解的格式列出檔案大小 (例如 1K 234M 2G)
–si 類似 -h,但檔案大小取 1000 的次方而不是 1024
-H, –dereference-command-line 使用命令列中的符號連結指示的真正目的地
–indicator-style=方式 指定在每個項目名稱後加上指示符號<方式>:none (預設),classify (-F),file-type (-p)
-i, –inode印出每個檔案的 inode 號
-I, –ignore=樣式 不印出任何符合 shell 萬用字元<樣式>的項目
-k 即 –block-size=1K,以 k 位元組的形式表示檔案的大小。
-l 除了檔案名稱之外,還將檔案的許可權、所有者、檔案大小等資訊詳細列出來。
-L, –dereference 當顯示符號連結的檔案資訊時,顯示符號連結所指示的對象而並非符號連結本身的資訊
-m所有項目以逗號分隔,並填滿整行行寬
-o 類似 -l,顯示檔案的除組資訊外的詳細資料。
-r, –reverse 依相反次序排列
-R, –recursive 同時列出所有子目錄層
-s, –size 以塊大小為單位列出所有檔案的大小
-S 根據檔案大小排序
-t 以檔案修改時間排序
-u 配合 -lt:顯示訪問時間而且依訪問時間排序
-U 不進行排序;依檔案系統原有的次序列出項目
-v 根據版本進行排序
-w, –width=COLS 自行指定螢幕寬度而不使用目前的數值
-x 逐行列出項目而不是逐欄列出
-X 根據副檔名排序
-1 每行只列出一個檔案
–help 顯示此協助資訊並離開
–version 顯示版本資訊並離開
cd:Linux中最基礎的命令。用於切換目前的目錄至dirName。使用命令:cd [目錄名]
*Linux中使用“\”進入根目錄。
pwd:查看當前工作目錄的完整路徑。使用命令:pwd[選項]
-L 目錄串連連結時,輸出串連路徑
-P 輸出實體路徑
mkdir:用於在指定位置建立檔案夾或目錄。使用命令:mkdir [選項] [目錄]
-m, —mode=模式,設定許可權<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask
-p, --parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;
-v, --verbose - 每次建立新目錄都顯示資訊
rm:刪除檔案和目錄。使用命令:rm [選項] 檔案名稱
-f, --force 忽略不存在的檔案,從不給出提示。
-i, --interactive 進行互動式刪除
-r, -R, --recursive 指示rm將參數中列出的全部目錄和子目錄均遞迴地刪除。
-v, --verbose 詳細顯示進行的步驟
rmdir :刪除空目錄,即與rm項目,其差別在於刪除的目錄必須是空的。使用命令:rmdir [選項] 目錄名。
- p遞迴刪除目錄dirname,當子目錄刪除後其父目錄為空白時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標準輸出上顯示相應的資訊。
-v, --verbose 顯示指令執行過程
mv:move的縮寫。移動檔案或者給檔案改名。使用命令:mv [選項] 源檔案或目錄 目標檔案或目錄。
-b:若需覆蓋檔案,則覆蓋前先行備份。
-f :force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋;
-i :若目標檔案 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標檔案已經存在,且 source 比較新,才會更新(update)
-t : —target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源檔案到一個目錄的情況,此時目標目錄在前,源檔案在後。
cp:命令用來複製檔案或者目錄,是Linux系統中最常用的命令之一。一般情況下,shell會設定一個別名,在命令列下複製檔案時,如果目標檔案已經存在,就會詢問是否覆蓋,不管你是否使用-i參數
使用命令:cp [選項] ...[-T] 源 目的 或 cp [選項] ...源...目錄 或 cp[選項] -t 目錄 源...
-a, --archive - 等於-dR --preserve=all,--backup[=CONTROL為每個已存在的目標檔案建立備份
-b - 類似 --backup 但不接受參數 --copy-contents 在遞迴處理是複製特殊檔案內容
-d - 等於--no-dereference --preserve=links
-f, --force - 如果目標檔案無法開啟則將其移除並重試(當 -n 選項 存在時則不需再選此項)
-i, --interactive - 覆蓋前詢問(使前面的 -n 選項失效)
-H - 跟隨源檔案中的命令列符號連結
-l, --link - 連結檔案而不複製
-L, --dereference - 總是跟隨符號連結
-n, --no-clobber - 不要覆蓋已存在的檔案(使前面的 -i 選項失效)
-P, --no-dereference - 不跟隨源檔案中的符號連結
-p - 等於--preserve=模式,所有權,時間戳記
--preserve[=屬性列表 保持指定的屬性(預設:模式,所有權,時間戳記)
-R, -r, --recursive 複製目錄及目錄內的所有項目
不常用命令:
touch:用於修改檔案時間戳記,或者建立一個不存在的檔案。 使用命令:touch [選項] 檔案
-a,--time=atime,--time=access或--time=use 只更改存取時間。
-c 或--no-create不建立任何文檔。
-d 使用指定的日期時間,而非現在的時間。
-f 此參數將忽略不予處理,僅負責解決BSD版本touch指令的相容性問題。
-m 或--time=mtime或--time=modify 只更改變動時間。
-r 把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。
-t 使用指定的日期時間,而非現在的時間。
cat:連結檔案或標準輸入並列印。常用於顯示檔案內容,或者將幾個問價串連起來顯示,或者從標準輸入讀取內容並顯示,常與重新導向符配合使用。使用命令:cat [選項] [檔案]
三大功能:
選項:
-A, --show-all 等價於 -vET
-b, --number-nonblank 對非空輸出行編號
-e 等價於 -vE
-E, --show-ends 在每行結束處顯示$
-n, --number 對輸出的所有行編號,由1開始對所有輸出的行數編號
-s, --squeeze-blank 有連續兩行以上的空白行,就代換為一行的空白行
-t 與 -vT 等價
-T, --show-tabs 將跳格字元顯示為 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
nl:用於計算檔案中的行號。nl可以將輸出的檔案內容自動加上行號,預設的結果與cat -n不太一樣。nl可以對行號做比較多的顯示設計,包括位元是否自動補齊0等等的功能。使用命令:nl [選項] [檔案]
-b :指定行號指定的方式,主要有兩種:
-b a :表示不論是否為空白行,也同樣列出行號(類似 cat -n);
-b t :如果有空行,空的那一行不要列出行號(預設值);
-n :列出行號表示的方法,主要有三種:
-n ln :行號在螢幕的最左方顯示;
-n rn :行號在自己欄位的最右方顯示,且不加 0 ;
-n rz :行號在自己欄位的最右方顯示,且加 0 ;
-w :行號欄位的佔用的位元。
-p 在邏輯定界符處不重新開始計算。
more:功能類似 cat ,cat命令是整個檔案的內容從上到下顯示在螢幕上。more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more命令從前向後讀取檔案,因此在啟動時就載入整個檔案。使用命令:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
+n 從笫n行開始顯示
-n 定義螢幕大小為n行
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示
-c 從頂部清屏,然後顯示
-d 提示“Press space to continue,’q’ to quit(按空格鍵繼續,按q鍵退出)”,禁用響鈴功能
-l 忽略Ctrl+l(換頁)字元
-p 通過清除視窗而不是滾屏來對檔案進行換頁,與-c選項相似
-s 把連續的多個空行顯示為一行
-u 把檔案內容中的下畫線去掉
操作命令:
Enter 向下n行,需要定義。預設為1行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出檔案名和當前行的行號
V 調用vi編輯器
! 命令, 調用Shell,並執行命令
q 退出more
less:less命令也是對檔案或其它輸出進行分頁顯示的工具,應該說是linux正統查看檔案內容的工具,功能極其強大。less 的用法比起 more 更加的有彈性。在 more 的時候,我們並沒有辦法向前面翻, 只能往後面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看檔案,更容易用來查看一個檔案的內容!除此之外,在 less 裡頭可以擁有更多的搜尋功能,不止可以向下搜,也可以向上搜。使用命令:less [參數] 檔案
-b <緩衝區大小> 設定緩衝區的大小
-e 當檔案顯示結束後,自動離開
-f 強迫開啟特殊檔案,例如外圍裝置代號、目錄和二進位檔案
-g 只標誌最後搜尋的關鍵詞
-i 忽略搜尋時的大小寫
-m 顯示類似more命令的百分比
-N 顯示每行的行號
-o <檔案名稱> 將less 輸出的內容在指定檔案中儲存起來
-Q 不使用警告音
-s 顯示連續空行為一行
-S 行過長時間將超出部分捨棄
-x <數字> 將“tab”鍵顯示為規定的數字空格
/字串:向下搜尋“字串”的功能
?字串:向上搜尋“字串”的功能
n:重複前一個搜尋(與 / 或 ? 有關)
N:反向重複前一個搜尋(與 / 或 ? 有關)
b 向後翻一頁
d 向後翻半頁
h 顯示協助介面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
斷行符號鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
附加備忘:
全屏導航:
ctrl + F - 向前移動一屏
ctrl + B - 向後移動一屏
ctrl + D - 向前移動半屏
ctrl + U - 向後移動半屏
單行導航:
j - 向前移動一行
k - 向後移動一行
其它導航:
G - 移動到最後一行
g - 移動到第一行
q / ZZ - 退出 less 命令
其它有用的命令:
v - 使用配置的編輯器編輯當前檔案
h - 顯示 less 的協助文檔
&pattern - 僅顯示匹配模式的行,而不是整個檔案
標記導航:
當使用 less 查看大檔案時,可以在任何一個位置作標記,可以通過命令導航到標有特定標記的文本位置:
ma - 使用 a 標記文本的當前位置
‘a - 導航到標記 a 處
head:用於顯示檔案開頭某個數量的文字區塊。使用命令:head [參數] [檔案]
-q 隱藏檔案名稱
-v 顯示檔案名稱
-c<位元組> 顯示位元組數
-n<行數> 顯示的行數
tail:從指定點開始將檔案寫到標準輸出。使用命令:tail [必要參數] [選擇參數] [檔案]
-f 迴圈讀取
-q 不顯示處理資訊
-v 顯示詳細的處理資訊
-c<數目> 顯示的位元組數
-n<行數> 顯示行數
--pid=PID 與-f合用,表示在進程ID,PID死掉之後結束。
-q, --quiet, --silent 從不輸出給出檔案名稱的首部。
-s, --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒
檔案尋找命令:
which:查看可執行檔的位置。在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。使用命令:which 可執行檔名稱。
-n - 指定檔案名稱長度,指定的長度必須大於或等於所有檔案中最長的檔案名稱。
-p - 與-n參數相同,但此處的包括了檔案的路徑。
-w - 指定輸出時欄位的寬度。
-V - 顯示版本資訊
whiereis:whereis命令只能用於程式名的搜尋,而且只搜尋二進位檔案(參數-b)、man說明檔案(參數-m)和原始碼檔案(參數-s)。如果省略參數,則返回所有資訊。使用命令:whieris [-bmsu] [BMS -目錄名 -f] 檔案名稱
-b - 定位可執行檔。
-m - 定位協助檔案。
-s - 定位原始碼檔案。
-u - 搜尋預設路徑下除可執行檔、原始碼檔案、協助檔案以外的其它檔案。
-B - 指定搜尋可執行檔的路徑。
-M - 指定搜尋協助檔案的路徑。
-S - 指定搜尋原始碼檔案的路徑。
locate:locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有設定檔名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的 distribution 之中,資料庫的建立都被放在 crontab 中自動執行。locate [選擇參數] [樣式]
-e - 將排除在尋找的範圍之外。
-1 - 如果是1。則啟動安全模式。在安全模式下,使用者不會看到許可權無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的許可權資料。
-f - 將特定的檔案系統排除在外,例如沒有到理要把 proc 檔案系統中的檔案放在資料庫中。
-q 安靜模式,不會顯示任何錯誤訊息。
-n 至多顯示 n 個輸出。
-r 使用正規運算式 做尋找的條件。
-o 指定資料庫存的名稱。
-d 指定資料庫的路徑
-h 顯示輔助訊息
-V 顯示程式的版本訊息
find:在檔案樹中尋找檔案,並做出相應的處理。文法:find pathname -options [-print -exec -ok]
命令參數
pathname - find命令所尋找的目錄路徑。例如用.來表示目前的目錄,用/來表示系統根目錄。
-print - find命令將匹配的檔案輸出到標準輸出。
-exec - find命令對匹配的檔案執行該參數所給出的shell命令。相應命令的形式為’command’ { } \;,注意{ }和\;之間的空格。
-ok - 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓使用者來確定是否執行。
命令選項
-name 按照檔案名稱尋找檔案。
-perm 按照檔案許可權來尋找檔案。
-prune 使用這一選項可以使find命令不在當前指定的目錄中尋找,如果同時使用-depth選項,那麼-prune將被find命令忽略。
-user 按照檔案屬主來尋找檔案。
-group 按照檔案所屬的組來尋找檔案。
-mtime -n +n 按照檔案的更改時間來尋找檔案, - n表示檔案更改時間距現在n天以內,+ n表示檔案更改時間距現在n天以前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。
-nogroup 尋找無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在。
-nouser 尋找無有效屬主的檔案,即該檔案的屬主在/etc/passwd中不存在。
-newer file1 ! file2 尋找更改時間比檔案file1新但比檔案file2舊的檔案。
-type 尋找某一類型的檔案,諸如:
b - 塊裝置檔案。
d - 目錄。
c - 字元裝置檔案。
p - 管道檔案。
l - 符號連結檔案。
f - 普通檔案。
-size n:[c] 尋找檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。-depth:在尋找檔案時,首先尋找目前的目錄中的檔案,然後再在其子目錄中尋找。
-fstype:尋找位於某一類型檔案系統中的檔案,這些檔案系統類型通常可以在設定檔/etc/fstab中找到,該設定檔中包含了本系統中有關檔案系統的資訊。
-mount:在尋找檔案時不跨越檔案系統mount點。
-follow:如果find命令遇到符號連結檔案,就跟蹤至連結所指向的檔案。
-cpio:對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。
另外,下面三個的區別:
-amin n 尋找系統中最後N分鐘訪問的檔案
- -
atime n 尋找系統中最後n*24小時訪問的檔案
-cmin n 尋找系統中最後N分鐘被改變檔案狀態的檔案
-ctime n 尋找系統中最後n*24小時被改變檔案狀態的檔案
-mmin n 尋找系統中最後N分鐘被改變檔案資料的檔案
-mtime n 尋找系統中最後n*24小時被改變檔案資料的檔案