Linux常用命令-詳細

遠離漂亮女人發表於2020-11-27

一、Linux命令基礎

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

二、Linux命令的分類

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

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

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

內部命令屬於shell的一部分,外部命令屬於shell程式之外的命令。
內部命令屬於shell的一部分(/bin/bash)沒有單獨的檔案,外部命令一般由指令碼檔案或者二進位制檔案組成。
內部命令自動載入,可以直接使用,外部命令系統必須要知道對應的檔案位置(命令的環境變數),由shell進行載入後,系統才能識別該命令。

三、Linux命令列

通用的命令列使用格式
命令字 —— [選項] —— [ 引數 ] (英文字元區分大小寫)
操作 —— 功能 —— 要執行的物件(檔案、使用者、目錄名)

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

選項
短格式選項:使用“-”符號引導 —— 多個單字元選項(單個字母)可以組合在一起使用
例:ls -a -l -h = ls -alh
長格式選項:使用“- -”符號引導(一個單詞)

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

編輯Linux命令列
編輯Linux命令列的輔助操作
Tab鍵:自動補齊 (按兩下可以查詢所有相同字母的命令)
反斜槓"":強制換行
Ctrl+ U組合鍵:清空至行首
Ctrl+K組合鍵:清空至行尾
Ctrl+ L組合鍵:清屏
Ctrl+ C組合鍵:取消本次命令編輯
Ctrl + a組合鍵:切換到行首
Ctrl+ e組合鍵:切換到行尾
Ctrl+w組合鍵:撤回至空格前

獲得命令幫助的方法
1、內部命令help
檢視Shell內部命令的幫助資訊
2、命令的"–help"選項
適用於大多數Linux外部命令
3、使用man命令閱讀手冊頁
使用“上、下”(ENTER)方向鍵滾動一行文字
使用Page Up和 Page Down (空格) 鍵翻頁
按Q或q鍵退出閱讀環境
按"/"鍵查詢內容, n鍵向下查詢, N鍵向上查詢

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

cd——切換工作目錄
將使用者的工作目錄更改到其他位置

格式說明
cd 目標位置切換到目標位置
cd、cd ~若不指定位置,切換到當前使用者的宿主目錄
cd -切換到上一次執行CD命令之前所在的目錄

絕對路徑,相對路徑

(1)相對路徑表現形式

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

四、列表顯示目錄內容——ls

顯示目錄中內容,包括子目錄和檔案相關屬性資訊
ls【檔案】【檔案或目錄…】
常用選項
-l、-a、-A、-d、-h、-R、–color
結合萬用字元
“?”:代表任意一個字元,且至少一個
“*”:代表任意數個字元,可以是0個或者1個或者多個
“[]”:表示可以匹配字元組中的任意一個字元

ls的常用選項
-l:以長格式(Long) 顯示檔案和目錄的列表,包括許可權、大小、最後更新時間等詳細資訊。ll命令與ls -l功能相同。

-a:顯示所有(All)子目錄和檔案的資訊,包括名稱以點號“."開頭的隱藏目錄和隱藏檔案。

-A: 與-a選項的作用基本類似,但有兩個特殊隱藏目錄不會顯示,即表示當前目錄的“.”和表示父目錄的"…"

-d: 顯示目錄(Directory) 本身的屬性,而不是顯示目錄中的內容,一般結合-l使用。

-h: 以更人性化(Human) 的方式顯示目錄或檔案的大小,預設的大小單位為位元組(B),使用 -h 選項後將顯示為KB、MB等單位。此選項需要結合 -l 選項一起使用。

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

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

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

用ls -l命令檢視某一個目錄會得到一個7個欄位的列表
-rwxrwxr-- 1 root root 762 07-29 18:19 exit
第一個字元代表檔案的型:
"-"表示該檔案是一個普通檔案
"a"表示該檔案是一個目錄
"l"表示該檔案是一個軟連結檔案。類似於windows下的快捷方式

第1字元的後面9個字母表示該檔案或目錄的許可權位:
r表是讀(檢視、下載)、w表示寫(新增、更改、刪除、上傳)、x表示執行(執行檔案、切換目錄)
其中前三個表示檔案擁有者(屬主)的許可權,中間三個表示檔案所屬組擁有的許可權,最後三個表示其他使用者擁有的許可權。
第2欄位:檔案硬連結數
如果一個檔案不是目錄,此時這一欄位表示這個檔案所具有的硬連結數
如果是一個目錄,則第2欄位表示該目錄所含子目錄的個數。
如果新建一個空目錄,這個目錄的第二欄位就是2,表示該目錄下有兩個子目錄。
第3欄位:檔案\目錄擁有者
第4欄位:檔案\目錄擁有者所在的組
第5欄位:檔案所佔用的空間(預設以位元組為單位如果是一個目錄,則表示該目錄的大小,而不是目錄以及它下面的檔案的總大小。Linux系統中一切皆檔案,因此目錄也是一種檔案
第6欄位:檔案\目錄最近訪問或修改時間
第7欄位:檔名
如果是一個符號連結(軟連結檔案) ,那麼會有一個“->"箭頭符號,後面根一個它指向的檔名
通常情況下
深藍色:目錄
白色(黑色):一般檔案
綠色:可執行的檔案(指令碼/程式)
黃色:裝置檔案
紅色:壓縮檔案
淡藍色:連結檔案/快捷方式。

五、長格式

-rwx rwx rwx 1 root root 81 10月 18 20:09 123 .txt
-代表一般檔案
d代表目錄
l代表軟連結檔案

r代表檔案可讀
w代表檔案可寫入可修改
x代表檔案可執行
有x許可權檔案會變成綠色

第一個rwx代表這個檔案所有者所擁有的許可權,是第一個root
第二個rwx代表所屬組,組成員所擁有的許可權,第二個root,組名
第三個rwx代表其他使用者所擁有的許可權,賦予時注意,防止獲取關鍵資訊和破壞系統

六、設定別名-alias

通過別名機制簡化常用的、比較長的命令
lias 命令別名=‘命令’ ( "="兩邊不能有空格)
通過別名機制簡化常用的、比較長的命令
alias + 命令別名=‘命令’ (“=”兩邊不能有空格)
例如alias viens=‘vim /etc/sysconfig/network-scripts/ifcfg-ens33’
輸完上面的命令後,每次改ens33網路卡配置的時候就可以直接輸入viens
如果不想使用了,要取消別名就需要unalias,別名取消後,用type也找不到了
示例:
設定myls為ls-alh的別名

在這裡插入圖片描述
2、取消別名
unalias 命令別名

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

1、統計指定目錄(或檔案)所佔用磁碟空間的大小
du [選項] [檔案或目錄…]
2、常用選項

選項說明
-a統計磁碟空間佔用時包括所有的檔案
-h以更人性化的方式(預設以 KB 計數,但不顯示單位)顯示出統計結果
-s只統計作戰用空間總的大小
–max-depth=n統計所有小於等於N層的目錄的總大小

-a和-s不能同時使用是因為都統計本目錄的大小,同時使用會有衝突。

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

八、建立新目錄-mkdir

建立新的空目錄
在這裡插入圖片描述
例子:
在當前目錄下建立名為public-html的子目錄
在這裡插入圖片描述
建立目錄/aa,在/aa目錄下建立子目錄bb,在/aa/bb目錄下建立子目錄cc
在這裡插入圖片描述

八、建立空檔案-touch命令

更新檔案的時間標記

經常用於建立多個新的空檔案
在這裡插入圖片描述
例:建立兩個空檔案,檔名分別為aa.txt和bb.txt
在這裡插入圖片描述

建立連結檔案-ln
為檔案或目錄建立連結檔案,類似於Windows系統的快捷方式

連結檔案型別

軟連結(又稱為符號連結)
在這裡插入圖片描述
例:
在這裡插入圖片描述
軟硬連線的區別
在這裡插入圖片描述
在Linux中,檔名 和 檔案的資料 是分開儲存的

注意:
在Linux中,只有檔案的硬連結數==0才會被刪除

使用ls -l可以檢視一個檔案的硬連結的數量

需要注意的是不能對目錄做硬連結,在日常工作中,幾乎不會建立檔案的硬連結

軟連線檔案與硬連結檔案的區別

九、複製檔案或目錄——cp

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

cp常用選項
-f:覆蓋目標同名的檔案或目錄時不進行提醒,而直接強制複製。
-i:覆蓋目標同名的檔案或目錄時提醒使用者確認。
-p:複製時儲存檔案的許可權、屬主及時間標記等屬性不變。
-r:複製目錄時必須使用此選項,表示遞迴複製所有檔案及子目錄。
注:複製多個檔案或目錄時,目標位置必須是目錄,且目標目錄必須已存在。

十、刪除檔案或目錄——rm

刪除指定的檔案或目錄
rm【選項】要刪除的檔案或目錄
常用選項
①-f:刪除檔案或目錄時不進行提醒,而直接強制刪除。
②-i:刪除檔案或目錄時提醒使用者確認。(y表示刪除,n表示不刪除)
③-r:刪除目錄時必須使用此選項,表示遞迴刪除整個目錄樹(謹慎使用)
例:rm -rf public_html/grub/
rm -i public_html/apg.conf
注:不要直接刪除系統中已有的目錄或配置檔案,以避免出現意外故障。
刪除目錄下檔案時建議最好先切換到目錄下再執行rm -rf命令。
cd /etc/yum.repos.d/
rm -rf ./*

# 十一、移動檔案或目錄——mv
將指定檔案或目錄轉移位置

如果目標位置與源位置相同,則相當於執行重新命名操作
mv 【選項】…原始檔或目錄…目標檔案或目錄

mv命令只能對單個檔案重新命名,可使用rename命令批量修改檔名
rename 舊字元 新字元 目標檔案
例:rename b o * .txt

十二、查詢命令檔案存放目錄——which

搜尋範圍由環境變數PATH決定(echo$PATH)
讓系統能識別命令所在檔案位置的環境變數PATH

which 命令/程式名 //預設當查詢到第一個目標後不再繼續查詢
which -a 命令/程式名 //在所有搜尋路徑中查詢
例which ls
which history

十三、find查詢檔案或目錄——find

採用遞迴方式,根據目標的名稱、型別、大小等不同屬性進行精細查詢
find 【查詢範圍】 【查詢條件表示式】
使用find命令實現多個查詢條件
各表示式之間使用邏輯運算子
-a表示 而且(and)
-o表示 或者 (or)
例:find /boot -size +1024k -a -name “vmlize”

常用查詢條件型別

查詢型別關鍵字說明
按名稱查詢-name根據目標檔案的名稱進行查詢,允許使用 “*” 及 “?” 萬用字元
按檔案大小查-size根據目標檔案的大小進行查詢,一般使用“+”、“-”號設定超過或小於指定的大小作為查詢條件,常用的容量單位包括kB(注意k是小寫)、MB、GB
按檔案屬主查詢-user根據檔案是否屬於目標使用者進行查詢
按檔案型別查詢-type根據檔案的型別進行查詢,檔案型別包括普通檔案(f)、目錄(d)、塊裝置檔案(b)、字元裝置檔案(c)等。

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

相關文章