天天看點

linux目錄和檔案基本操作

作者:03的雲計算工程師

1)pwd 指令:顯示使用者目前所在的工作目錄位置

2)cd 指令:切換工作目錄

cd 目标位置 切換到目标位置

cd ~ 若不指定目标位置,切換到目前使用者的宿主目錄

cd - 切換到上一次執行 cd 指令之前所在的目錄

絕對路徑和相對路徑:從根檔案夾開始的目錄叫絕對路徑,從目前檔案夾開始的路徑叫相對路徑。

直接使用目錄名或檔案名 目前工作目錄中的子目錄、檔案的位置 grub.conf

以一個點号“.”開頭 以目前的工作目錄作為起點 ./grub.conf

以兩個點号“..”開頭 以目前目錄的上一級目錄(父目錄)作為起點 ../vmlinuz

以“~使用者名”形式開頭 以指定使用者的宿主目錄作為起點 ~teacher

3)ls 指令:顯示目錄中内容,包括子目錄和檔案相關屬性資訊

格式

文法:ls [選項] [檔案或目錄… ]

-l 以長格式顯示檔案和目錄的清單,包括權限、大小、最後更新時間等詳細資訊

-a 顯示所有子目錄和檔案的資訊,包括名稱以點号“.”開頭的隐藏目錄和隐藏檔案

-A 與-a選項的作用基本類似,但不會顯示“.”目錄和“..”目錄

-d 顯示目錄本身的屬性

-h 顯示出目錄或檔案的大小(KB、MB),預設的大小機關為位元組(B)

-R 遞歸方式顯示指定目錄及其子目錄中的所有内容

--color 在字元模式中以顔色區分不同的檔案

如:檢視兩個檔案的資訊

ls -lh /etc/vdpau_wrapper.cfg /boot/vmlinuz-3.11.0-12-generic

通配符:?比對檔案名中一個未知字元

*比對檔案名中任意多個未知字元

如:以長格式列出 /etc/ 目錄下以“ns”開頭“.conf”結尾的檔案資訊

ls -lh /etc/ns*.conf

touch

4)du 指令:統計指定目錄(或檔案)所占用磁盤空間的大小

du [選項] [檔案或目錄… ]

-a 統計磁盤空間占用時包括所有的檔案,而不僅僅隻統計目錄

-h 顯示出目錄或檔案的大小(K、M),預設的大小機關為位元組(KB)

-s 隻統計指定目錄所占用空間總的大小,而不是統計每個子目錄、檔案的大小

如:統計 /var/log 目錄所占用空間的大小,以 M 為機關

du -sh /var/log

分别統計 /boot 目錄中所有檔案、子目錄各自占用的空間大小

du -ah /boot/

5)alias 指令:通過别名機制簡化常用的、比較長的指令

文法格式:

alias 指令别名 = 指令

如:alias myls = ‘ls – alh’

unalias 加上别名直接删除

文法:unalias [-a][别名]

參數 -a 表示删除全部的别名

6)建立新目錄:mkdir

格式:mkdir [選項] 目錄位置及名稱

選項:-p:一次性建立嵌套的多層目錄

如:在目前目錄下建立名為 public_html 的子目錄

mkdir public_html

建立目錄 /multimedia,在 /multimedia 目錄下建立子目錄movie,在 /multimedia/movie 目錄下建立子目錄cartoon

mkdir -p /multimedia/movie/cartoon

7)建立空檔案:touch

功能:更新檔案的時間标記,經常用于建立多個新的空檔案。

格式:touch 檔案

建立兩個空檔案:沙漠駱駝.mp3 和 羅刹門.mp4

touch 沙漠駱駝.mp3 羅刹門.mp4

8)建立連結檔案: ln 指令

功能:為檔案或目錄建立連結檔案

連結檔案分類:

軟連結(符号連結):删除原始檔案後,連結失效,适用于檔案或目錄,與原始檔案可以位于不同的檔案系統中。

硬連結:删除原始檔案後,連結仍有效,隻适用于檔案,必須與原始檔案在同一個檔案系統中,如在同一個linux分區中。

文法格式:ln [-s] 源檔案或目錄… 連結檔案或目标位置

預設建立 硬連結,參數-s指定後用于建立軟連結。

如:ln -s 沙漠駱駝.mp3 歌曲.mp3

9)複制檔案或目錄-cp 指令:

功能:将需要複制的檔案或目錄(源)重建一份,并儲存為新的檔案或目錄

文法格式:cp [選項]… 源檔案或目錄… 目标檔案或目錄

選項:

-f 覆寫目标同名檔案或目錄時不進行提醒,直接強制複制

-i 覆寫目标同名檔案或目錄時提醒使用者确認

-p 複制時保持源檔案的權限、屬主及時間标記等屬性不變

-r 複制目錄時必須使用此選項,表示遞歸複制所有檔案及子目錄

示例:

把 /bin/touch 指令程式複制到目前目錄下,并命名為 mytouch

cp /bin/touch ./mytouch

将 /etc/inittab 檔案複制一份作為備份,添加 .bak 擴充名,存放 /etc 目錄中

cp /etc/init.d/rc /etc/rc.bak

将目錄 /boot/grub 和檔案 /etc/apg.conf 複制到目前目錄下的 public_html 檔案夾中

cp -r /boot/grub/ /etc/host.conf public_html/

10)删除檔案或目錄-rm 指令(remove)

功能:删除指定的檔案或目錄

格式:rm [選項] 要删除的檔案或目錄…

選項取值:-f、-i、-r

11)移動檔案或目錄-mv 指令(move)

功能:将指定的檔案或目錄轉移位置,如果目标位置與源位置相同,則相當于執行重命名操作

文法:mv [選項] … 源檔案或目錄… 目标檔案或目錄

示例:

把目前目錄中 mytouch 程式檔案改名為 mkfile

mv mytouch mkfile

将 mkfile 檔案移動到已存在的 public_html 目錄中,檔案名保持不變

mv mkfile public_html/

12)查找指令/檔案存放目錄-which 指令

格式

which 指令|程式名 預設當找到第一個目标後不再繼續查找

which -a 指令|程式名 如果希望在所有搜尋路徑中查找

示例:which ls

查找範圍:echo $PATH

13)查找檔案或目錄-find 指令

采用遞歸方式,根據目标的名稱、類型、大小等不同屬性進行精細查找

文法:

find [查找範圍] [查找條件表達式]

常用查找條件類型:

按名稱查找 -name(關鍵字) 根據目标檔案的名稱進行查找,允許使用“*”及“?”通配符

按檔案大小查找 -size 根據目标檔案的大小進行查找一般使用“+”、“-”号設定超過或小于指定的大小作為查找條件常用的容量機關包括 kB(注意 k 是小寫)、MB、GB

按檔案屬主查找:-user, 根據檔案是否屬于目标使用者進行查找

按檔案類型查找 -type 根據檔案的類型進行查找檔案類型包括普通檔案(f)、目錄(d)、塊裝置檔案(b)、字元裝置檔案(c)等,b塊裝置是指成塊讀取資料的裝置(如硬碟、記憶體等),字元裝置是指按單個字元讀取資料的裝置(如鍵盤、滑鼠等)

如:遞歸查找 /etc 目錄中名稱以“resol”開頭、以“.conf”結尾的檔案

find /etc –name "resol*.conf"

/boot 目錄中查找出所有的檔案夾(類型為d),忽略其他類型的檔案

find /boot -type d

使用 find 指令實作多個查找條件:

各表達式之間使用邏輯運算符

“-a”表示 而且(and)

“-o”表示 或者(or)

需求描述

查找 /boot 目錄中 大小超過 1024KB 且 名稱以“vmlinuz”開頭的檔案

find /boot -size +1024k -a -name "vmlinuz*“

查找 /boot 目錄中 大小超過 1024KB 或 名稱以“vmlinuz”開頭的檔案

find /boot -size +1024k -o -name "vmlinuz*"

繼續閱讀