Linux常用命令-詳細
文章目錄
一、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 {};
相關文章
- 【超詳細】Linux常用命令,這些你需要掌握!Linux
- linux常用命令詳解Linux
- git常用命令stash詳細解釋。Git
- Linux grep命令詳細教程Linux
- Linux 常用命令之 top 命令詳解Linux
- linux20個常用命令詳解和用法 linux常用命令大全介紹Linux
- linux命令yum的詳細解析Linux
- Linux安裝Nginx詳細教程LinuxNginx
- Linux sed命令詳細說明Linux
- Linux文字處理詳細教程Linux
- Linux ptrace詳細分析系列(二)Linux
- Linux常用命令詳解—基於CentOS7LinuxCentOS
- RabbitMQ超詳細安裝教程(Linux)MQLinux
- Linux安裝jdk的詳細步驟LinuxJDK
- Linux系統安裝MySQL詳細教程LinuxMySql
- Linux系統安裝gcc詳細教程。LinuxGC
- 【Linux工具】yum和gdb詳細使用教程。Linux
- Linux安裝jdk的詳細步驟。LinuxJDK
- Linux安裝和配置zokeeper 詳細教程Linux
- Linux安裝和配置tomcat詳細教程LinuxTomcat
- Linux /etc/shadow 超詳細內容解析Linux
- Linux 目錄結構及詳細操作Linux
- Linux 檔案屬性及詳細操作Linux
- 詳細理解Linux虛擬記憶體Linux記憶體
- [原創] Linux ptrace詳細分析系列(一)Linux
- Linux系統超詳細Linux設定靜態IP教程!Linux
- Linux下 netstat ps kill 命令詳解及常用命令收集Linux
- Linux下使用Kibana教程(詳細圖文演示)Linux
- Linux系統Docker最佳化詳細教程。LinuxDocker
- Linux 防火牆配置(iptables和firewalld)詳細教程。Linux防火牆
- Linux 虛擬機器詳細安裝MySQLLinux虛擬機MySql
- Linux:査看檔案的詳細資訊Linux
- Linux Centos 7安裝MongoDB(簡單!詳細!)LinuxCentOSMongoDB
- linux shell 指令碼語言教程(超詳細!)Linux指令碼
- Linux 常用命令Linux
- Linux常用命令Linux
- 超詳細,手把手教你入門.NET for LinuxLinux
- Linux系統PHP效能最佳化詳細教程。LinuxPHP