1. 程式人生 > 其它 >Linux 常見檔案管理命令

Linux 常見檔案管理命令

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