Linux基礎命令詳解

再給我一次機會發表於2021-06-11

Shell:

  • Linux系統中執行的一種特殊程式
  • 在使用者和核心之間充當“翻譯官”
  • 使用者登入Linux系統時,自動載入一個Shell程式
  • Bash是Linux系統中預設使用的Shell程式
  • 檔案位於/bin/bash

 

Linux命令的分類:

內部命令和外部命令的區別

內部命令 外部命令
整合於Shell直譯器程式內部的一些特殊指令,也稱為內建(Buit-in)指令 Linux系統中能夠完成特定功能的指令碼檔案或二進位制程式
屬於Shell的一部分 屬於Shell直譯器程式之外的命令
沒有單獨對應的系統檔案 每個外部命令對應了一個系統檔案
自動載入記憶體,可以直接使用 必須知道其對應的檔案位置,由Shell載入後才能執行/bin,/usr/bin,/usr/local/bin等

 

 

 

 

 

 

 

Linux命令列的格式

命令字  [選項]  [引數]

 

 

① 命令字

  • 是整條命令中最關鍵的一部分
  • 唯一確定一條命令

②選項

  • 短格式選項:使用“-”符號引導
  • 長格式選項:使用“--”符號引導

③引數

  • 命令字的處理物件
  • 可以是檔名、目錄(路徑)名或使用者名稱等內容
  • 個數可以是零到多個

編輯Linux命令列的輔助操作

  • Tab鍵:自動補齊
  • 反斜槓“\”:強制換行
  • Ctrl+u組合鍵:清空至行首
  • Ctrl+k組合鍵:清空至行尾
  • Ctrl+L組合鍵:清屏
  • Ctrl+c組合鍵:取消本次命令編輯
  • Ctrl+a組合鍵:切換到行首
  • Ctrl+e組合鍵:切換到行尾

獲得命令幫助的方法

①內部命令help

  • 檢視Shell內部命令的幫助資訊

②命令的“help”選項

  • 適用於大多數Linux外部命令

③使用man命令閱讀手冊頁

  • 使用“↑”、“↓”(ENTER)方向鍵滾動一行文字
  • 使用Page Up和Page Down(空格)鍵翻頁
  • 按Q或q鍵退出閱讀環境
  • 按“/”鍵查詢內容,n鍵向下查詢,N鍵向下查詢

檢視當前的工作目錄-pwd

  • 顯示使用者當前所在的工作目錄位置
pwd

 

  • 示例

[root@localhost~]#pwd

/root—當前工作目錄

 

 

 

相對路徑的表現形式

表現形式 說明 示例
直接使用目錄名或檔名 表示當前工作目錄中的子目錄、檔案的位置 grub.conf
以一個點號“.”開頭 表示當前工作目錄作為七點 ./grub.conf
以兩個點號“..”開頭 表示以當前目錄的上一級目錄(父目錄)作為起點 ./vmlinuz
以“~使用者名稱”形式開開頭 表示以指定使用者的宿主目錄作為起點 ~teacher
以“~”形式開頭 表示以當前使用者的宿主目錄作為起點 ~

 

 

 

 

 

 

 

列表顯示目錄內容-ls

  • 顯示目錄中內容,包括,目錄和檔案相關屬性資訊
ls  [選項]  [檔案或目錄...]

 

 

  • 常用選項
選項 說明
-l 以長格式(Long)顯示檔案和目錄的列表,包括許可權、大小、最後更新時間等詳細資訊。ll命令與ls -l功能相同
-a 顯示所有(All)子目錄和檔案的資訊,包括名稱以點號“.”開頭的隱藏目錄和隱藏檔案
-A 與-a選項的作用基本類似,但有兩個特殊隱藏目錄不會顯示,即表示當前目錄的“.”和表示父目錄的“..”
-d 顯示目錄(Directory)本身屬性,而不是顯示目錄中的內容
-h 以更人性化(Human)的方式顯示目錄或者檔案的大小,預設的大小單位為位元組(kB),使用-h選項後將顯示為kB、MB等單位。此選項要結合-l 選項一起使用

-R

以遞迴(Recursive)的方式顯示指定目錄及其子目錄中所有內容
--color

在字元模式中以顏色區分不同的檔案。預設已開啟

通常情況下,深藍色表示目錄,白色表示一般檔案,綠色表示可執行的檔案,黃色表示裝置檔案,紅色表示壓縮檔案

-i 顯示檔案和目錄的inode號

 注:

 用ls -l命令檢視某一個目錄會得到一個7個欄位的列表

-rwxrwxrwx-- 1 root root 762 07-29 18:19 exit

第1欄位:檔案屬性字

第一個字元代表檔案的型別:

“-”表示該檔案是一個普通的檔案

“d”表示該檔案是一個目錄

“1”表示該檔案是一個軟連結檔案。類似於windows下快捷方式

 

 

 

 

 

 

 

 

 

 

 

 

  • 結合萬用字元

“?”:代表任意字元,有且一個字元

“*”:代表任意數個字元,可以是0個或者1個或者多個

“[]”:表示可以匹配字元組中的任意一個字元   [abc]、[a-f]

設定別名

  • 通過別名機制簡化常用的、比較長的命令
alias  命名別名='命令'----“=”兩邊不能有空格

 

 

  • 示例

設定myls為ls-alh的別名

alias  myls='ls-alh'---別名是myls

 

 

  • 取消別名
unalias 命名別名

 

 

統計目錄及檔案空間佔用情況-du

  • 統計指定目錄(或檔案)所佔用磁碟空間的大小
du  [選項]  [檔案或目錄....]

 

 

  • 常用選項
選項 說明
-a 統計磁碟佔用時包括所有的檔案,而且僅僅只統計目錄
-h 以更人性化的方式(預設以KB計數,但不顯示單位)顯示出統計結果
-s 只統計所佔空間的大小,而不是統計每個子目錄、檔案的大小
--max-depth=n 統計所有小於等於第n層目錄的大小
                            選項-a和-s不可同時使用

 

 

 

 

 

 

 

  • 統計出/var/log目錄的大小
du -h --max-depth=1/var/log

 

 

建立新目錄-mkdir

  • 建立新的空目錄
mkdir [選項] 目錄位置及名稱..

  -p:一次性建立巢狀的多層目錄

 

  • 示例

在當前目錄下建立名為public_html的目錄

mkdir public_html

 

 

建立目錄/aa,在/aa目錄下建立子目錄bb,在/aa/bb目錄下建立子目錄cc

mkdir -p /aa/bb/cc

 

 

建立空檔案-touch命令

  • 更新檔案的時間標記
  • 經常用於建立多個新的檔案
touch  檔案...

 

 

  • 示例

建立兩個空檔案,檔名分別為aa.txt和bb.txt

touchu aa  bb

touch {a,b}.txt

 

 

 

建立連結檔案-ln

  • 為了檔案或目錄建立連結檔案,類似於Windows系統的快捷方式
  • 連結檔案型別

            ①軟連結

            ②硬連結

ln -s 原始檔或目錄....連結檔案或目錄位置         -s:建立軟連結

 

 

  • 示例
ln -s /bin/bzip2/bin/wx/

 

 

複製檔案或目錄-cp

  • 將需要複製的檔案或目錄(源)重建一份,並儲存為新的檔案或目錄
cp [選項]...原始檔或目錄...目標檔案或目錄....

 

 

  • 常用選項

        -f、-i、-p、-r

刪除指定的檔案或目錄

  • 刪除指定的檔案或目錄
rm [選項] 要刪除的檔案或目錄...

 

 

  • 常用選項

       -f、-i、-r

  • 示例

rm -rf public_html/grub/

rm -i public-html/apg·conf

 

 

 

查詢命令檔案存放目錄-which

  • 搜尋範圍由環境變數PATH決定(echo$PATH)
which 命令|程式名       //預設當找到第一個目標後不在繼續查詢

 

 

which -a  命令|程式名      //所有搜尋路徑中查詢

 

 

  • 示例

which ls

which history

 

 

 

使用which查詢內部命令時,將找不到對應的程式

查詢檔案或目錄-find

  • 採用遞迴方式,根據目標的名稱、型別、大小等不同屬性進行精細查詢
find  [查詢範圍] [查詢條件表示式]

 

 

查詢範圍:查詢檔案或子目錄的目錄位置

查詢條件表示式:查詢條件型別

  • 常用查詢條件型別
查詢型別 關鍵字 說明
按名稱查詢 -name 根據目標檔案的名稱進行查詢,允許使用“*”及“?”萬用字元
按檔案大小查詢 -size

根據目標檔案的大小進行查詢,一般使用“+”、“-”號設定超過或者小於指定的大小

作為查詢條件,常用的容量單位包括kB(注意k是小寫)、MB、GB

按檔案屬性查詢 -user 根據檔案是否屬於目標使用者進行查詢
按檔案型別查詢 -type

根據檔案的型別查詢,檔案型別包括普通檔案(f)、目錄(d)、塊裝置檔案(b)、字元裝置檔案(c)等

塊裝置檔案(b):成塊讀取資料的裝置(硬碟、記憶體、光碟機)

字元裝置檔案(c):按單個字元讀取資料的裝置(鍵盤、滑鼠)

 

 

 

 

 

 

 

 

 

 

 

使用find命令實現多個查詢條件

  •   各表格式之間使用邏輯運算子

         ①“-a”表示而且(and)

         ②“-o”表示或者(or)

  • 示例

find /boot -size +1024k -a -name "vmlinuz"

find /boot -size +1024k -o -name "vmlinuz"

 

 

 

find之exec用法

  • -exec引數後面跟的是Linux命令,它是以分號“,”為結束標誌,由於各個系統中分號會有不同的意義,因此在分號前面加上反斜槓轉義符“\”。{}代表前面find查詢出來的檔名
  • find命令匹配到了當前目錄下所有普通檔案,並在-exec選項中使用ls -l 命令將它門列出

           find ./-type f -exec ls -l {}\;

命令的優先順序

  • 第一優先順序:指定路徑的命令。絕對路徑/usr/bin/ls或者相對路徑cd/usr/bin ./ls
  • 第二優先順序:別名指定的命令 alias mylsr=‘/usr/bin/ls -alh’
  • 第三優先順序:內部命令
  • 第四優先順序:hash命令--linux系統下會有一個hash表,當你剛開機時這個hash表為空,每當你執行一條命令時,hash表會記錄下這條命令的路徑,就相當於快取表一樣。第一次執行命令shell直譯器預設的會從PATH路徑下尋找該命令的路徑,當你第二次使用該命令時,shell直譯器首先會檢視hash表,沒有該命令才會去PATH路徑下尋找。hash表能提高命令的呼叫速率。
  • 第五優先順序:通過PATH定義的查詢順序查詢

如果以上順序都找不到,就會報“未找到命令....”的錯誤

相關文章