100 個 Linux 常用命令大全(上)
1.ls [選項] [目錄名 | 列出相關目錄下的所有目錄和檔案
-a 列出包括.a開頭的隱藏檔案的所有檔案
-A 通-a,但不列出"."和".."
-l 列出檔案的詳細資訊
-c 根據ctime排序顯示
-t 根據檔案修改時間排序
---color[=WHEN] 用色彩辨別檔案型別 WHEN 可以是’never’、’always’或’auto’其中之一
白色:表示普通檔案
藍色:表示目錄
綠色:表示可執行檔案
紅色:表示壓縮檔案
淺藍色:連結檔案
紅色閃爍:表示連結的檔案有問題
黃色:表示裝置檔案
灰色:表示其它檔案
2.mv [
-b 覆蓋前做備份
-f 如存在不詢問而強制覆蓋
-i 如存在則詢問是否覆蓋
-u 較新才覆蓋
-t 將多個原始檔移動到統一目錄下,目錄引數在前,檔案引數在後
eg:
mv a /tmp/ 將檔案a移動到 /tmp目錄下
mv a b 將a命名為b
mv /home/zenghao test1.txt test2.txt test3.txt
3.cp [選項] 原始檔或目錄 目錄或多個原始檔 | 將原始檔複製至目標檔案,或將多個原始檔複製至目標目錄。
-r -R 遞迴複製該目錄及其子目錄內容
-p 連同檔案屬性一起復制過去
-f 不詢問而強制複製
-s 生成快捷方式
-a 將檔案的所有特性都一起復制
4.scp [引數] [原路徑] [目標路徑] | 在Linux伺服器之間複製檔案和目錄
-v 詳細顯示輸出的具體情況
-r 遞迴複製整個目錄
(1) 複製檔案:
命令格式:
scp local_file [email protected]_ip:remote_folder
或者
scp local_file [email protected]_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2個指定了使用者名稱,命令執行後需要輸入使用者密碼,第1個僅指定了遠端的目錄,檔名字不變,第2個指定了檔名
第3,4個沒有指定使用者名稱,命令執行後需要輸入使用者名稱和密碼,第3個僅指定了遠端的目錄,檔名字不變,第4個指定了檔名
(2) 複製目錄:
命令格式:
scp -r local_folder [email protected]_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1個指定了使用者名稱,命令執行後需要輸入使用者密碼;
第2個沒有指定使用者名稱,命令執行後需要輸入使用者名稱和密碼;
eg:
從 本地 複製到 遠端
scp /home/daisy/full.tar.gz [email protected]:/home/root
從 遠端 複製到 本地
scp [email protected]/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
5.rm [選項] 檔案 | 刪除檔案
-r 刪除資料夾
-f 刪除不提示
-i 刪除提示
-v 詳細顯示進行步驟
6.touch [選項] 檔案 | 建立空檔案或更新檔案時間
-a 只修改存取時間
-m 值修改變動時間
-r eg:touch -r a b ,使b的時間和a相同
-t 指定特定的時間 eg:touch -t 201211142234.50 log.log
-t time [[CC]YY]MMDDhhmm[.SS],C:年前兩位
7.pwd 檢視當前所在路徑
8.cd 改變當前目錄
- :返回上層目錄
.. :返回上層目錄
回車 :返回主目錄
/ :根目錄
9.mkdir [選項] 目錄… | 建立新目錄
-p 遞迴建立目錄,若父目錄不存在則依次建立
-m 自定義建立目錄的許可權 eg:mkdir -m 777 hehe
-v 顯示建立目錄的詳細資訊
10.rmdir 刪除空目錄
-v 顯示執行過程
-p 若自父母刪除後父目錄為空則一併刪除
11.rm [選項] 檔案… | 一個或多個檔案或目錄
-f 忽略不存在的檔案,不給出提示
-i 互動式刪除
-r 將列出的目錄及其子目錄遞迴刪除
-v 列出詳細資訊
12.echo:顯示內容
-n 輸出後不換行
-e 遇到轉義字元特殊處理
eg:
echo "he\nhe" 顯示he\nhe
ehco -e "he\nhe" 顯示he(換行了)he
13.cat [選項] [檔案]..| 一次顯示整個檔案或從鍵盤建立一個檔案或將幾個檔案合併成一個檔案
-n 編號檔案內容再輸出
-E 在結束行提示$
14.tac | 反向顯示
15.more | 按頁檢視文章內容,從前向後讀取檔案,因此在啟動時就載入整個檔案
+n 從第n行開始顯示
-n 每次檢視n行資料
+/String 搜尋String字串位置,從其前兩行開始檢視
-c 清屏再顯示
-p 換頁時清屏
16.less | 可前後移動地逐屏檢視文章內容,在檢視前不會載入整個檔案
-m 顯示類似於more命令的百分比
-N 顯示行號
/ 字串:向下搜尋“字串”的功能
? 字串:向上搜尋“字串”的功能
n 重複前一個搜尋(與 / 或 ? 有關)
N 反向重複前一個搜尋(與 / 或 ? 有關)
b 向後翻一頁
d 向後翻半頁
17.nl [選項]… [檔案]… | 將輸出內容自動加上行號
-b
-b a 不論是否有空行,都列出行號(類似 cat -n)
-b t 空行則不列行號(預設)
-n 有ln rn rz三個引數,分別為再最左方顯示,最右方顯示不加0,最右方顯示加0
18.head [引數]… [檔案]… | 顯示檔案開頭,預設開頭10行
-v 顯示檔名
-c number 顯示前number個字元,若number為負數,則顯示除最後number個字元的所有內容
-number/n (+)number 顯示前number行內容,
-n number 若number為負數,則顯示除最後number行資料的所有內容
19.tail [必要引數] [選擇引數] [檔案] | 顯示檔案結尾內容
-v 顯示詳細的處理資訊
-q 不顯示處理資訊
-num/-n (-)num 顯示最後num行內容
-n +num 從第num行開始顯示後面的資料
-c 顯示最後c個字元
-f 迴圈讀取
20.vi 編輯檔案
:w filename 將文章以指定的檔名儲存起來
:wq 儲存並退出
:q! 不儲存而強制退出
命令列模式功能鍵
1)插入模式
按「i」切換進入插入模式「insert mode」,按"i"進入插入模式後是從游標當前位置開始輸入檔案;
按「a」進入插入模式後,是從目前游標所在位置的下一個位置開始輸入文字;
按「o」進入插入模式後,是插入新的一行,從行首開始輸入文字。
2)從插入模式切換為命令列模式
按「ESC」鍵。
3)移動游標
vi可以直接用鍵盤上的游標來上下左右移動,但正規的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制游標左、下、上、右移一格。
按「ctrl」+「b」:螢幕往"後"移動一頁。
按「ctrl」+「f」:螢幕往"前"移動一頁。
按「ctrl」+「u」:螢幕往"後"移動半頁。
按「ctrl」+「d」:螢幕往"前"移動半頁。
按數字「0」:移到文章的開頭。
按「G」:移動到文章的最後。
按「$」:移動到游標所在行的"行尾"。
按「^」:移動到游標所在行的"行首"
按「w」:游標跳到下個字的開頭
按「e」:游標跳到下個字的字尾
按「b」:游標回到上個字的開頭
按「#l」:游標移到該行的第#個位置,如:5l,56l。
4)刪除文字
「x」:每按一次,刪除游標所在位置的"後面"一個字元。
「#x」:例如,「6x」表示刪除游標所在位置的"後面"6個字元。
「X」:大寫的X,每按一次,刪除游標所在位置的"前面"一個字元。
「#X」:例如,「20X」表示刪除游標所在位置的"前面"20個字元。
「dd」:刪除游標所在行。
「#dd」:從游標所在行開始刪除#行
5)複製
「yw」:將游標所在之處到字尾的字元複製到緩衝區中。
「#yw」:複製#個字到緩衝區
「yy」:複製游標所在行到緩衝區。
「#yy」:例如,「6yy」表示拷貝從游標所在的該行"往下數"6行文字。
「p」:將緩衝區內的字元貼到游標所在位置。注意:所有與"y"有關的複製命令都必須與"p"配合才能完成複製與貼上功能。
6)替換
「r」:替換游標所在處的字元。
「R」:替換游標所到之處的字元,直到按下「ESC」鍵為止。
7)回覆上一次操作
「u」:如果您誤執行一個命令,可以馬上按下「u」,回到上一個操作。按多次"u"可以執行多次回覆。
8)更改
「cw」:更改游標所在處的字到字尾處
「c#w」:例如,「c3w」表示更改3個字
9)跳至指定的行
「ctrl」+「g」列出游標所在行的行號。
「#G」:例如,「15G」,表示移動游標至文章的第15行行首。
21.which 可執行檔名稱 | 檢視可執行檔案的位置,在PATH變數指定的路徑中檢視系統命令是否存在及其位置
22.whereis [-bmsu] [BMS 目錄名 -f ] 檔名| 定位可執行檔案、原始碼檔案、幫助檔案在檔案系統中的位置
-b 定位可執行檔案。