文章目錄
- linux的基礎命令
- 一、linux的目錄結構
- (一)Linux路徑的描述方式
- 二、Linux命令入門
- (一)Linux命令基礎格式
- 三、ls命令
- (一)HOME目錄和工作目錄
- (二)ls命令的參數
- 1.ls命令的-a選項
- 2.ls命令的-l選項
- 3.ls命令的-h選項
- 4.ls命令選項的組合使用
- 5.ls選項和參數的組合使用
- 四、目錄切換相關命令(cd/pwd)
- (一)cd 切換工作目錄
- (二)pwd查看當前工作目錄
- 五、相對路徑、絕對路徑和特殊路徑符
- (一)相對路徑和絕對路徑
- (二)特殊路徑符
- 六、創建目錄命令(mkdir)
- (一)mkdir命令
- (二)mkdir -p 選項
- 七、文件操作命令part1(touch、cat、more)
- (一)touch 創建文件
- (二)cat命令 查看文件內容
- (三)more命令查看文件內容
- 八、文件操作命令part2(cp、mv、rm)
- (一)cp命令復制文件文件夾
- (二)mv移動文件或文件夾
- (三)rm刪除文件、文件夾
- 1.rm命令-通配符
- 九、查找命令(which、find)
- (一)which命令
- (二)find命令-按文件名查找文件
- 1.find命令-通配符
- 2.find命令-按文件大小查找文件
- 十、grep、wc和管道符
- (一)grep命令
- (二)wc命令做數量統計
- (三)管道符
- 十一、echo、tail和重定向符
- (一)echo命令
- (二)反引號`
- (三)重定向符
- (四)tail命令
linux的基礎命令
一、linux的目錄結構
-
Linux的目錄結構是一個樹型結構
-
Windows 系統可以擁有多個盤符, 如 C盤、D盤、E盤
-
Linux沒有盤符這個概念, 只有一個根目錄 /, 所有文件都在它下面
(一)Linux路徑的描述方式
- 在Linux系統中,路徑之間的層級關系,使用: / 來表示
/usr/local/hello.txt
注意:
- 開頭的 / 表示根目錄
- 后面的 / 表示層級關系
二、Linux命令入門
(一)Linux命令基礎格式
無論是什么命令,用于什么用途,在Linux中,命令有其通用的格式:
command [-options] [parameter]
- command:命令本身
- -options:[可選,非必填]命令的一些選項,可以通過選項控制命令的行為細節
- parameter:[可選,非必填]命令的參數,多數用于命令的指向目標
語法中的[],表示可選的意思
示例:
-
ls -l /home/itheima,ls是命令本身,-l是選項,/home/itheima是參數
意思是以列表的形式,顯示/home/itheima目錄內的內容
-
cp -r test1 test2,cp是命令本身,-r是選項,test1和test2是參數
意思是復制文件夾test1成為test2
三、ls命令
ls命令的作用是列出目錄下的內容,語法細節如下:
ls [-a -l -h] [linux路徑]
- -a -l -h 是可選的選項
- Linux路徑是此命令可選的參數
當不使用選項和參數,直接使用ls命令本體,表示:以平鋪形式,列出當前工作目錄下的內容
(一)HOME目錄和工作目錄
直接輸入ls命令,表示列出當前工作目錄下的內容,當前工作目錄是?
Linux系統的命令行終端,在啟動的時候,默認會加載:
- 當前登錄用戶的HOME目錄作為當前工作目錄,所以ls命令列出的是HOME目錄的內容
- HOME目錄:每個Linux操作用戶在Linux系統的個人賬戶目錄,路徑在:/home/用戶名
- 如,圖中的Linux用戶是itheima,其HOME目錄是:/home/itheima
(二)ls命令的參數
ls [-a -l -h] [linux路徑]
- 當ls不使用參數,表示列出:當前工作目錄的內容,即用戶的HOME目錄
- 當使用參數,ls命令的參數表示:指定一個Linux路徑,列出指定路徑的內容
如:通過ls /
列出了根目錄的內容
1.ls命令的-a選項
ls [-a -l -h] [linux路徑]
- -a選項,表示:all的意思,即列出全部文件(包含隱藏的文件/文件夾)
可以看到,ls -a 對比 ls 列出的內容更多了。
- 圖中以.開頭的,表示是Linux系統的隱藏文件/文件夾(只要以.開頭,就能自動隱藏)
- 只有通過-a選項,才能看到這些隱藏的文件/文件夾
2.ls命令的-l選項
- -l選項,表示:以列表(豎向排列)的形式展示內容,并展示更多信息
3.ls命令的-h選項
- -h 表示以易于閱讀的形式,列出文件大小,如K、M、G
- -h選項必須要搭配 -l 一起使用
4.ls命令選項的組合使用
語法中的選項是可以組合使用的,比如學習的-a和-l可以組合應用。
寫法:
- ls -l -a
- ls -la
- ls -al
上述三種寫法,都是一樣的,表示同時應用-l和-a的功能
5.ls選項和參數的組合使用
除了選項本身可以組合以外,選項和參數也可以一起使用。
四、目錄切換相關命令(cd/pwd)
(一)cd 切換工作目錄
當Linux終端(命令行)打開的時候,會默認以用戶的HOME目錄作為當前的工作目錄
我們可以通過cd命令,更改當前所在的工作目錄
cd命令來自英文:Change Directory
語法:cd [Linux路徑]
- cd命令無需選項,只有參數,表示要切換到哪個目錄下
- cd命令直接執行,不寫參數,表示回到用戶的HOME目錄
(二)pwd查看當前工作目錄
通過ls來驗證當前的工作目錄,其實是不恰當的
我們可以通過pwd命令,來查看當前所在的工作目錄
pwd命令來自:Print Work Directory
語法:pwd
- pwd命令,無選項,無參數,直接輸入pwd即可
五、相對路徑、絕對路徑和特殊路徑符
(一)相對路徑和絕對路徑
如圖,通過pwd得知當前所在是HOME目錄:/home/itheima
現在想要通過cd命令,切換工作目錄到Desktop文件夾中去。那么,cd命令的參數(Linux路徑)如何寫呢?
- cd /home/itheima/Desktop 絕對路徑寫法
- cd Desktop 相對路徑寫法
絕對路徑:以根目錄為起點,描述路徑的一種寫法,路徑描述以/開頭
相對路徑:以當前目錄為起點,描述路徑的一種寫法,路徑描述無需以/開頭
(二)特殊路徑符
如圖,當前工作目錄處于:/home/itheima/Desktop
現在想要,向上回退一級,切換目錄到/home/itheima中,如何做?
- 可以直接通過cd,即可回到HOME目錄
- 也可以通過特殊路徑符來完成。
特殊路徑符:
-
. 表示當前目錄,比如 cd ./Desktop 表示切換到當前目錄下的Desktop目錄內,和cd Desktop效果一致
-
… 表示上一級目錄,比如:cd … 即可切換到上一級目錄,cd …/… 切換到上二級的目錄
-
~ 表示HOME目錄,比如:cd ~ 即可切換到HOME目錄或cd ~/Desktop,切換到HOME內的Desktop目錄
- ~ == /home/itheima/Deskto
六、創建目錄命令(mkdir)
(一)mkdir命令
通過mkdir命令可以創建新的目錄(文件夾)
mkdir來自英文:Make Directory
語法:mkdir [-p] Linux路徑
- 參數必填,表示Linux路徑,即要創建的文件夾的路徑,相對路徑或絕對路徑均可
- -p選項可選,表示自動創建不存在的父目錄,適用于創建連續多層級的目錄
(二)mkdir -p 選項
如果想要一次性創建多個層級的目錄,如下圖
會報錯,因為上級目錄itcast和good并不存在,所以無法創建666目錄
可以通過-p選項,將一整個鏈條都創建完成。
注意:創建文件夾需要修改權限,請確保操作均在HOME目錄內,不要在HOME外操作
涉及到權限問題,HOME外無法成功
七、文件操作命令part1(touch、cat、more)
(一)touch 創建文件
可以通過touch命令創建文件
語法:touch Linux路徑
- touch命令無選項,參數必填,表示要創建的文件路徑,相對、絕對、特殊路徑符均可使用
(二)cat命令 查看文件內容
有了文件后,我們可以通過cat命令查看文件的內容。
不過,現在我們還未學習vi編輯器,無法向文件內編輯內容,所以,暫時,我們先通過圖形化,在圖形化中,手動向文件內添加內容,以測試cat命令
準備好文件內容后,可以通過cat查看內容
語法:cat Linux路徑
- cat同樣沒有選項,只有必填參數,參數表示:被查看的文件路徑,相對、絕對、特殊路徑符都可以使用
(三)more命令查看文件內容
more命令同樣可以查看文件內容,同cat不同的是:
- cat是直接將內容全部顯示出來
- more支持翻頁,如果文件內容過多,可以一頁頁的展示
語法:more Linux路徑
- 同樣沒有選項,只有必填參數,參數表示:被查看的文件路徑,相對、絕對、特殊路徑都可以使用
Linux系統內置有一個文件,路徑為:/etc/services,可以使用more命令查看
more /etc/services
- 在查看的過程中,通過空格翻頁
- 通過q退出查看
八、文件操作命令part2(cp、mv、rm)
(一)cp命令復制文件文件夾
cp命令可以用于復制文件\文件夾,cp命令來自英文單詞:copy
語法:cp [-r] 參數1 參數2
- -r選項,可選,用于復制文件夾使用,表示遞歸
- 參數1,Linux路徑,表示被復制的文件或文件夾
- 參數2,Linux路徑,表示要復制去的地方
復制文件
復制文件夾
復制文件夾,必須使用-r選項,否則不會生效
(二)mv移動文件或文件夾
mv命令可以用于移動文件\文件夾,mv命令來自英文單詞:move
語法:mv 參數1 參數2
- 參數1,Linux路徑,表示被移動的文件或文件夾
- 參數2,Linux路徑,表示要移動去的地方,如果目標不存在,則進行改名,確保目標存在
(三)rm刪除文件、文件夾
rm命令可用于刪除文件、文件夾
rm命令來自英文單詞:remove
語法:rm [-r -f] 參數1 參數2 …… 參數N
- 同cp命令一樣,-r選項用于刪除文件夾
- -f表示force,強制刪除(不會彈出提示確認消息)
- 普通用戶刪除內容不會彈出提示,只有root管理員用戶刪除內容會有提示
- 所以一般普通用戶用不到-f選項
- 參數1、參數2、……、參數N表示要刪除的文件或文件夾路徑,按照空格隔開
刪除文件
刪除多個文件
刪除文件夾,如下圖,必須使用-r選項才可以
演示強制刪除,-f選項
可以通過 su - root,并輸入密碼123456(和普通用戶默認一樣)臨時切換到root用戶體驗
通過輸入exit命令,退回普通用戶。(臨時用root,用完記得退出,不要一直用,關于root我們后面會講解)
1.rm命令-通配符
rm命令支持通配符 *,用來做模糊匹配
符號*表示通配符,即匹配任意內容(包含空),示例:
- test*,表示匹配任何以test開頭的內容
- *test,表示匹配任何以test結尾的內容
- *test *,表示匹配任何包含test的內容
演示:刪除所有以test開頭的文件或文件夾
rm是一個危險的命令,特別是在處于root(超級管理員)用戶的時候。請謹慎使用。
如下命令,請千萬千萬不要在root管理員用戶下執行:
rm -rf /rm -rf /*
效果等同于在Windows上執行C盤格式化。
九、查找命令(which、find)
(一)which命令
我們在前面學習的Linux命令,其實他們的本體就是一個個的二進制可執行程序。和windows系統中的.exe文件,是一個意思。
我們可以通過which命令,查看所使用的一系列命令的程序文件存放在哪里
語法:which 要查找的命令
(二)find命令-按文件名查找文件
在Linux系統中,我們可以通過find命令去搜索指定的文件。
語法:find 起始路徑 -name "被查找文件名"
為了確保后續演示,擁有最大的權限,可以在整個系統完成搜索,我們可以切換到root用戶以獲得管理員權限
執行命令:
su - root
輸入密碼:123456(和你普通用戶的密碼一樣)
查找文件名叫做:test文件,從根目錄開始搜索
find 起始路徑 -name "被查找文件名"
基于語法,可以有命令:
find / -name "test"
1.find命令-通配符
根據語法:find 起始路徑 -name "被查找文件名"
被查找文件名,支持使用通配符*來做模糊查詢
符號* 表示通配符,即匹配任意內容(包含空),示例:
-
test*,表示匹配任何以test開頭的內容
- 查找所有以test開頭的文件:
find / -name “test*”
- 查找所有以test開頭的文件:
-
*test,表示匹配任何以test結尾的內容
- 查找所有以test結尾的文件:
find / -name “*test”
- 查找所有以test結尾的文件:
-
*test *,表示匹配任何包含test的內容
- 查找所有包含test的文件:
find / -name “*test*”
- 查找所有包含test的文件:
基于通配符的含義,可以結合find命令做文件的模糊查詢。
2.find命令-按文件大小查找文件
語法:find 起始路徑 -size +|-n[kMG]
- +、-表示大于和小于
- n表示大小數字
- kMG表示大小單位,k(小寫字母)表示kb,M表示MB,G表示GB
示例:
- 查找小于10kb的文件:
find / -size -10k
- 查找大于100MB的文件:
find / size + 100M
- 查找大于1GB的文件:
find / -size + 1G
十、grep、wc和管道符
(一)grep命令
可以通過grep命令,從文件中通過關鍵字過濾文件行
語法:grep [-n] 關鍵字 文件路徑
- 選項-n,可選,表示在結果中顯示匹配的行和行號
- 參數,關鍵字,必填,表示過濾的關鍵字,帶有空格或其他特殊符號,建議使用==" "==將關鍵字包圍起來
- 參數,文件路徑,必填,表示要過濾內容的文件路徑,可作為內容輸入端口
現在,通過touch命令在HOME目錄創建itheima.txt,并通過圖形化頁面編輯并保存如下內容:
- 過濾itheima關鍵字
- 過濾itcast關鍵字
- 過濾code關鍵字,并顯示行號
(二)wc命令做數量統計
可以通過wc命令統計文件的行數、單詞數量等
語法:wc [-c -m -l -w] 文件路徑
- 選項,-c,統計bytes數量
- 選項,-m,統計字符數量
- 選項,-l,統計單詞數量
- 選項,文件路徑,被統計的文件,可作為內容輸入端口
-
不帶選項,統計文件
-
統計字節數
wc -c itheima.txt
-
統計字符數R
wc -m itheima.txt
- 統計行數
wc -l itheima.txt
- 統計單詞數
wc -w itheima.txt
(三)管道符
學習了grep命令后,我們在來學習一個新的特殊符號,管道符:|
管道符的含義是:將管道符左邊命令的結果,作為右邊命令的輸入
- cat itheima.txt的輸出結果(文件內容)
- 作為右邊grep命令的輸入(被過濾文件)
管道符的應用非常多,例如:
ls | grep Desktop
,過濾ls的結果
find / -name "test" | grep "/usr/lib64"
,過濾結果,只找到帶有/usr/lib64的結果
cat itheima.txt | grep itcast | grep itheima
(可以嵌套使用)
- cat itheima.txt的結果給grep itcast使用
- cat itheima.txt | grep itcast的結果給grep itheima使用
十一、echo、tail和重定向符
(一)echo命令
可以使用echo命令在命令行內輸出指定內容
語法:echo 輸出的內容
- 無需選項,只有一個參數,表示要輸出的內容,復雜內容可以用" "包圍
演示:
-
在終端上顯示:Hello Linux
-
帶有空格或\等特殊符號,建議使用雙引號包圍
- 因為不包圍的話,空格后很容易被識別為參數2,盡管echo不受影響,但是要養成習慣
(二)反引號`
看一下命令:echo pwd
本意是想,輸出當前的工作路徑,但是pwd被作為普通字符輸出了。
我們可以通過將命令用反引號(通常也稱之為飄號)**`**將其包圍,被``包圍的內容,會被作為命令執行,而非普通字符
(三)重定向符
我們再來學習兩個特殊符號,重定向符:>和>>
>
:將左側命令的結果,覆蓋寫入到符號右側指定的文件中>>
:將左側命令的結果,追加寫入到符號右側指定的文件中
例如:
echo "Hello Linux" > itheima.txt
echo "Hello itheima" > itheima.txt
,再次執行,覆蓋新內容
echo "Hello itcast" >> itheima.txt
,再次執行,使用>>追加新內容
(四)tail命令
使用tail命令,可以查看文件尾部內容,跟蹤文件的最新更改,語法如下:
語法:tail [-f -num] Linux路徑
- 參數,Linux路徑,表示被跟蹤的文件路徑
- 選項,-f,表示持續跟蹤
- 選項,-num,表示查看尾部多少行,不填默認10行
例如:
- 查看/var/log/vmware-network.log文件的尾部10行:
tail/var/log/vmware-network.log
- 查看/var/log/vmware-network.log文件的尾部3行:
tail -3 /var/log/vmware-network.log