Linux 常見檔案管理命令
Linux檔案系統
根目錄:/
從根目錄開始,下面有一堆小目錄
root:根使用者的目錄
bin:可執行檔案命令
etc:配置檔案
var:日誌
lib:安裝包或標頭檔案,庫檔案
home:所有使用者的家目錄
proc:程序相關的資訊,比如cpu資訊
~:/home/acs,家目錄,也就是使用者的目錄
~代表的位置:
這個是常用的工作目錄
pwd輸出當前路徑的絕對路徑
對路徑的描述
-
絕對路徑:從根目錄開始描述,即 /
ls /home/ace/main.cpp
-
相對路徑:從當前路徑開始,去描述目標路徑
若當前路徑是 /home/acs
ls tmp/main.cpp
如何區分相對路徑與絕對路徑:
絕對路徑的開頭一定是根目錄,即 /
相對路徑開頭不是斜槓
. 與 ..
. 表示當前目錄
.. 表示上一級目錄
~/ 表示家目錄,即 /home/acs/
回到家目錄:
cd ~/
家目錄就是使用者的目錄,一個Linux伺服器上可以有很多個使用者
~/ <==> /home/acs/
檔案管理常用命令
- ctrl c
- ctrl u
- tab鍵
- ls
- pwd
- cd XXX
- cp XXX YYY
- mkdir XXX
- rm XXX
- mv XXX YYY
- touch XXX
- cat XXX
ctrl c
取消命令,並且換行
給當前正在執行的程序,傳一個終止訊號,用於取消命令,並且換行
使用top
ctrl c
關掉
若輸入一個指令時,突然不想輸入這一行了,按下ctrl c
就會直接跳一行
ctrl u
清空本行命令
tab鍵
補全命令
可以補全命令和檔名,如果補全不了,快速按兩下Tab鍵,可以顯示備選選項
輸入完命令,按了兩下tab後,會出現下面的列表,然後又回到輸入的那個命令中
若系統發現目錄下只有一個檔案,按tab鍵會直接補全
方向鍵:上
重新獲取歷史命令
ls命令
列出當前目錄下所有檔案,藍色是資料夾,白色是普通檔案,綠色是可執行檔案
引數:-l,獲取每個檔案的詳細資訊,長資訊
ls -l
第一列是許可權資訊
d表示 資料夾
-表示 普通檔案
r表示 讀
w表示 寫
x表示 執行
引數:-h,人性化輸出,顯示大小更容易讀
ls -lh
輸出的資訊,更容易看懂
引數:-a,檢視隱藏檔案
檔名若以.開頭,則檔案會被隱藏
-a會顯示當前目錄和上層目錄,-A不會顯示當前目錄和上層目錄
ll命令
等價於
ls -la
pwd命令
顯示當前路徑
cd命令
進入XXX目錄下,cd .. 返回上層目錄
cd後面可以是相對路徑也可以是絕對路徑
直接輸入cd
就會返回家目錄
引數:..
cd ..
返回上一層目錄
引數:-
cd -
返回上一個待過的目錄,也就是跳轉前的那個目錄
返回進入此目錄之前所在的目錄
如果不斷cd -
就是來回切
cp命令
將XXX檔案複製成YYY,XXX和YYY可以是同一個路徑
cp可兼帶重新命名的效果
cp = 複製 + 貼上 + 重新命名
cp a/tmp.txt b
把資料夾a中的tmp檔案複製到資料夾b中
複製的時候順帶重新命名
若要複製目錄,需要加引數 -r
cp a b -r
將目錄a複製到了目錄b中
若資料夾名字有空格,則輸入時要輸入 y\ c
刪掉資料夾,若要處理資料夾,一般要加引數 -r
若想把a複製到當前資料夾,但不能重名
cp a c -r
mkdir命令
建立目錄XXX
mkdir /home/acs/a
若要連續建立多個資料夾,需要引數 -p
mkdir a/b/c -p
若要檢視指令的解釋
mkdir --h
mkdir --hlep
檢視歷史輸入過的所有指令
history
rm命令
刪除普通檔案
可以同時刪除多個檔案
rm tmp.txt tmp1.txt
也支援正則表示式的形式刪除多個檔案
rm *.txt
若要刪除資料夾,則需要加引數 -r
rm a -r
若有的檔案是保護檔案,可以使用引數 -f
rm a -f
若只想刪除目錄內的內容,而不想刪除掉這個目錄
rm a/*
會刪除a中的檔案,而不會刪除目錄,若要刪除目錄,要加 -r
刪除當前目錄下所有檔案、資料夾
rm * -r
刪除當前目錄下所有檔案
rm *
危險指令
rm /* -rf
touch命令
建立一個檔案用 touch
建立一個資料夾用 mkdir
mv命令
將XXX檔案移動到YYY,和cp命令一樣,XXX和YYY可以是同一個路徑,重新命名也是用這個命令
mv = 剪下+貼上+重新命名
等同於拖拽
mv tmp.txt b
重新命名功能
mv tmp.txt tmp1.txt
mv tmp.txt tmp.cpp
cp是把A複製到B
mv是把A移動到B,A不在原來的地方了
mv指令也可以對目錄進行操作
mv a b/
cat命令
展示檔案XXX中的內容,無法對資料夾使用
課後練習
檢視作業要求
homework 1 show
建立作業環境
homework 1 create
若把作業裡面第三個題目的內容全刪了,想只恢復第三個題目
homework 1 create 3
測驗
homework 1 test
建立環境後,有課程目錄,進入課程目錄後,有題目
cd homework/lesson_1/homework_0
作業0
進入homework_0資料夾,分別建立資料夾dir_a,dir_b,dir_c
cd homework/lesson_1/homework_0
ls
mkdir dir_a dir_b dir_c
cd ..
homework 1 test
作業1
進入homework_1資料夾,將a.txt,b.txt,c.txt分別複製成:a.txt.bak,b.txt.bak,c.txt.bak
cd homework/lesson_1/homework_1
cp a.txt a.txt.bak
cp b.txt b.txt.bak
cp c.txt c.txt.bak
cp是複製,但不會刪除被複制的檔案
作業2
進入homework_2資料夾,將a.txt,b.txt,c.txt分別重新命名為:a_new.txt,b_new.txt,c_new.txt
cd homework/lesson_1/homework_2
mv a.txt a_new.txt
mv b.txt b_new.txt
mv c.txt b_new.txt
作業3
進入homework_3資料夾,將dir_a資料夾下的a.txt,b.txt,c.txt,分別移動到資料夾dir_b下
cd homework/lesson_1/homework_3
mv dir_a/a.txt dir_b
mv dir_a/b.txt dir_b
mv dir_a/c.txt dir_b
作業4
進入homework_4資料夾,將普通檔案a.txt,b.txt,c.txt刪除
cd homework/lesson_1/homework_4
rm a.txt b.txt c.txt
作業5
進入homework_5資料夾,將資料夾dir_a,dir_b,dir_c刪除
cd homework/lesson_1/homework_5
rm dir_a dir_b dir_c -r
作業6
進入homework_6資料夾,檢視task.txt的內容,並按其指示進行操作
cd homework/lesson_1/homework_6
cat task.txt
將task.txt重新命名為done.txt,建立目錄dir_a,將done.txt移動到目錄dir_a下
mv task.txt done.txt
mkdir dir_a
mv done.txt dir_a
作業7
進入homework_7資料夾,建立資料夾dir_0,dir 1,dir_2,
將a.txt,b.txt,c.txt複製到dir_0下,重新命名為a0.txt,b0.txt,c0.txt;
將a.txt,b.txt,c.txt複製到dir_1下,重新命名為a1.txt,b1.txt,c1.txt;
將a.txt,b.txt,c.txt複製到dir_2下,重新命名為a2.txt,b2.txt,c2.txt;
cd homework/lesson_1/homework_7
mkdir dir_0 dir_1 dir_2
cp a.txt dir_0/a0.txt
cp b.txt dir_0/b0.txt
cp c.txt dir_0/c0.txt
cp a.txt dir_1/a1.txt
cp b.txt dir_1/b1.txt
cp c.txt dir_1/c1.txt
cp a.txt dir_2/a2.txt
cp b.txt dir_2/b2.txt
cp c.txt dir_2/c2.txt
作業8
進入homework_8資料夾,分別在dir_a,dir_b,dir_c資料夾下檢視task.txt的內容,並分別按照指示進行操作
cd homework/lesson_1/homework_8
cd dir_a
cat task.txt
將a.txt刪除
rm a.txt
cd ../dir_b
cat task.txt
將b.txt重新命名為b_new.txt
mv b.txt b_new.txt
ls
b_new.txt task.txt
cd ../dir_c
cat task.txt
將c.txt複製成c.txt.bak
cp c.txt c.txt.bak
ls
c.txt c.txt.bak task.txt
作業9
進入homework_9資料夾,將其中所有txt型別的檔案刪除
cd homework/lesson_1/homework_9
rm *.txt
總結
重新命名:mv XXX YYY
複製:cp XXX YYY
移動/剪下:mv XXX YYY
展示檔案內容:cat XXX
建立檔案:touch XXX
建立資料夾:mkdir XXX
建立多級目錄:mkdir A/B/C -p
刪除檔案:rm XXX
刪除資料夾:rm XXX -r
刪除保護檔案:rm XXX -f
當前路徑:pwd
補全命令/檔名:tab鍵
列出當前目錄所有檔案:ls
輸出資訊人性化:ls -h
輸出更多的資訊:ls -l
切換目錄:cd XXX
取消命令:ctrl c
消除本行輸入:ctrl u
在當前目錄下查詢子目錄與檔案:find