一、快捷鍵

  • 剪下游標前的內容

    • Ctrl + u
  • 剪下游標至行末的內容
    • Ctrl + k
  • 貼上 Ctrl + u 或 Ctrl +k 的內容
    • Ctrl + y
  • 移動游標到行末
    • Ctrl + e
  • 移動游標到行首
    • Ctrl + a
  • 清屏
    • Ctrl + l
  • 搜尋歷史命令
    • Ctrl + r
  • 結束搜尋歷史命令
    • Ctrl+ g
  • 刪除游標前面的單詞的字元
    • Ctrl + w
  • 恢復之前的狀態,撤銷操作
    • Ctrl + _

二、常用命令

1、ls命令

list的縮寫 ,通過ls命令可以檢視Linux資料夾包含的檔案,而且可以檢視檔案許可權(包括目錄、資料夾、檔案許可權等等)

格式:ls [選項] [目錄名]

常用引數搭配:

  • ls -a 列出目錄所有檔案,包含以.開始的隱藏檔案
  • ls -A 列出除. 及.. 的其他檔案
  • ls -r 反序排列
  • ls -R 同時列出所有子目錄層
  • ls -l 除了檔名之外,還將檔案的許可權、所有者、檔案大小等資訊詳細列出來(別名 ll)
  • ls -S 以檔案大小排序

例項:

(1)按大小反序顯示檔案詳細資訊

  • ls -lrS

(2)列出當前目錄中所有以 t 開頭的目錄詳細內容

  • ls -l t*

2、cd命令

切換當前目錄至dirName

格式:cd[目錄名]

例項:

(1)進入系統根目錄

  • cd /

(2)進入當前使用者主目錄

  • cd ~

(3)進入上一次工作路徑

  • cd -

(4)把上個命令的引數作為cd引數使用

  • cd !$

3、pwd命令

檢視當前工作目錄路徑

例項:

(1)檢視當前路徑

  • pwd

(2)檢視軟連線的實際路徑

  • pwd -p

4、mkdir命令

建立目錄

格式 :mkdir [選項] 目錄

可用選項:

-m:對新建目錄設定存取許可權,也可以用chmod命令設定

-p:可以是一個路徑名稱,遞迴建立多個空目錄

-v:建立目錄都顯示提示資訊

例項:

(1)當前工作目錄下建立名為 study 的資料夾

  • mkdir study

(2)在tmp目錄下建立路徑為test/ study/ t的目錄,偌不存在,則建立

  • mkdir -p /tmp/test/study/t

5、rm 命令

刪除一個目錄中的一個或多個檔案或目錄,如果沒有使用-r選項,則rm不會刪除目錄

格式:rm [選項] 檔案

可用選項:

-r :能遞迴刪除目錄和檔案。如果沒有使用- r選項,則rm不會刪除目錄

-i: 互動式刪除,與操作者確認

-f: 不用確認

例項:

(1)刪除任何.log檔案:刪除前逐一詢問確認

  • rm -i *.log

(2)刪除test子目錄及子目錄中所有檔案刪除,並且不用確認

  • rm -rf test

(3)刪除以-f開頭的檔案

  • rm -- -f*

6、rmdir命令

從一個目錄中刪除一個或多個目錄項,刪除某目錄時也必須具有對其父目錄的寫許可權

注意:不能刪除非空目錄

格式:rmdir [選項] 目錄

可用選項:

-p:遞迴刪除多個空目錄

-v:刪除目錄都顯示提示資訊

例項:

(1)遞迴刪除study/test/ddd 目錄

  • rmdir -p study/test/ddd

7、mv命令

移動檔案或者修改檔名,根據第二引數型別(如目錄,則移動檔案;如為檔案則重新命名該檔案)

當第二個引數為目錄時,可多個檔案以空格分隔作為第一引數,移動多個檔案到引數2指定的目錄中

mv [檔案1] [檔案2] / [目錄]:將檔案1改名為檔案2/移動到目錄中

mv [目錄1] [目錄2]:如果目錄2不存在,將目錄1改名為目錄2;否則,將目錄1移動到目錄2中

例項:

(1)將檔案test.log重新命名為test1.txt

  • mv test.log test1.txt

(2)將檔案log1.txt,log2.txt,log3.txt移動到根的test3目錄中

  • mv llog1.txt log2.txt log3.txt /test3

(3)將檔案file1改名為file2,如果file2已經存在,則詢問是否覆蓋

  • mv -i log1.txt log2.txt

(4)移動當前資料夾下的所有檔案到上一級目錄

  • mv * ../

8、cp命令

將原始檔複製到目標檔案,或將多個原始檔複製到目標目錄

主要:命令行復制,如果目標檔案已經存在會提示是否覆蓋,而在shell指令碼中,如果不加-i引數,則不會提示,而是直接覆蓋

可用選項:

-i 提示

-r 複製目錄及目錄內所有專案

-a 複製的檔案與原始檔時間一樣

例項:

(1)複製a.txt到test目錄下,保持原檔案時間,如果原檔案存在提示是否覆蓋

  • cp -ai a.txt test

(2)為a.txt建一個連結(快捷方式)

  • cp -s a.txt link_a.txt

9、touch命令

新建檔案

格式:touch 檔名 可以一次新建多個檔案

10、cat命令

cat主要有三大功能:

  1. 一次顯示整個檔案:cat filename
  2. 從鍵盤建立一個檔案:cat > filename 只能建立新檔案,不能編輯已有1檔案
  3. 將幾個檔案合併為一個檔案:cat file1 file2 > file

可用選項:

-b :對非空輸出行號

-n:從1開始對所有輸出行進行編號

例項:

(1)把 log2012.log 的檔案內容加上行號後輸入 log2013.log 這個檔案裡

​ cat -n log2012.log log2013.log

(2)把 log2012.log 和 log2013.log 的檔案內容加上行號(空白行不加)之後將內容附加到 log.log 裡

​ cat -b log2012.log log2013.log log.log

(3)使用here doc生成新檔案

​ cat >log.txt <<EOF

​ >Hello

​ >World

​ >PWD=$(pwd)

​ >EOF

​ ls -l log.txt

​ cat log.txt

​ Hello

​ World

​ PWD=/opt/soft/test

(4)反向列示

​ tac log.txt

​ PWD=/opt/soft/test

​ World

​ Hello

11、tail命令

用於顯示指定檔案末尾內容,不指定檔案時,作為輸入資訊進行處理。常用檢視日誌檔案。

常用引數:

-f 迴圈讀取(常用於檢視遞增的日誌檔案)

-n<行數> 顯示行數(從後向前

三、文字編輯器(vi)

  • vi 有3種工作模式

命令模式:控制螢幕游標的移動

注:不管使用者處於何種模式只要按一下ESC鍵即可進入命令列模式

文字輸入模式:修改檔案內容

注:在命令模式下按i、a或o等鍵均可進入命令模式

末行模式:儲存檔案或退出,也可進行內容查詢等操作

注:命令模式下使用者按: 鍵即可進入末行模式,末行命令執行完後自動回到命令模式

  • vi的進入與退出

進入vi:vi 檔名

注:若檔名不存在,則會建立一個新的檔案

退出vi:退出需在末行模式下進行

:q 直接退出,如果修改了文件內容則不能退出

:wq 儲存後退出

:x 同 wq

:q! 不儲存內容 強制退出

  • vi中顯示行號

在末行模式下輸入如下命令:set number

  • 游標移動操作(命令模式)

    $ 游標移到行尾

    H 游標移到螢幕上顯示的第一行(並不一定是檔案頭)

    L 游標移到螢幕上顯示的最後一行(並不一定是檔案尾)

    0 游標移到當前行首

    M 游標移到螢幕的中間一行

    另:可使用鍵盤上四個方向鍵進行上下左右移動

  • 螢幕翻滾類命令(命令模式)

    Ctrl+B:向檔案首一頁

    Ctrl+F:向檔案尾一頁

    shift+G:到達檔案底部