Linux檔案與目錄相關操作(增刪改查)

2021-09-23 10:35:32 字數 2956 閱讀 6842

3、檔案查詢

針對目錄本身有以下操作:

點號.乙個點號代表此層目錄

兩個點號…

兩個點號代表上一層目錄

-短號代表前乙個工作目錄

~解析符號代表目前使用者所在資料夾

~使用者名稱

對應/home/使用者名稱目錄,代表某個使用者的主資料夾

2.1目錄的顯示

ls,該命令有諸多引數提供不同的顯示需求,不使用引數時,預設只會顯示非隱藏檔案,以檔名排序和以檔名代表的顏色顯示(藍色代表目錄,白色代表檔案);

ls [-alrtafr....] directory name
以下列出一些常用引數,更全面的可以參考這篇部落格ls命令完全參考 -a

顯示所有檔案及目錄 (ls內定將檔名或目錄名稱開頭為"."的視為隱藏檔,不會列出)

-l除檔名稱外,亦將檔案型態、許可權、擁有者、檔案大小等資訊詳細列出

-r將檔案以相反次序顯示(原定依英文本母次序)

-t將檔案依建立時間之先後次序列出

-a同 -a ,但不列出 「.」 (目前目錄) 及 「…」 (父目錄)

-f在列出的檔名稱後加一符號;例如可執行檔則加 「*」, 目錄則加 「/」

-r若目錄下有檔案,則以下之檔案亦皆依序列出

-d僅顯示目錄名,而不顯示目錄下的內容列表。顯示符號鏈結檔案本身,而不顯示其所指向的目錄列表;

-i顯示檔案索引節點號(inode)。乙個索引節點代表乙個檔案;

-c多列顯示輸出結果。這是預設選項;

2.2目錄或檔案的複製

檔案與目錄的複製使用同乙個命令:cp(copy);由於檔案許可權與檔案所屬使用者和使用者組掛鉤,因此不同的使用者執行複製命令會有不一樣的效果。

預設情況下,cp命令複製所得的目的檔案或目錄的所有者是命令操作者本身,而目的檔案或目錄的許可權相對原始檔也會有改變,通過該命令一些引數的使用,對這些改變可以實現一些控制,具體可總結為高階使用者(eg:root)可以在複製的時候使用引數保留低階使用者檔案的所有屬性,而低階使用者拷貝高階使用者的檔案或目錄時是檔案的所有者和所有組資訊不會改變,但是檔案許可權可以。

cp [-adfilprsu] 		原始檔或目錄  						目的檔案或目錄 

cp [-adfilprsu] 原始檔1,原始檔2,原始檔3..... 目錄

原始檔有兩個或兩個以上,則目的檔案一定要是目錄才行

-a

此選項通常在複製目錄時使用,它保留鏈結、檔案屬性,並複製目錄下的所有內容。其作用等於dpr引數組合。

-d-f

覆蓋已經存在的目標檔案而不給出提示。

-i與-f選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋,回答"y"時目標檔案將被覆蓋。

-p除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中。

-r若給出的原始檔是乙個目錄檔案,此時將複製該目錄下所有的子目錄和檔案。

-l不複製檔案,只是生成鏈結檔案

-s複製成符號鏈結檔案,即快捷方式檔案;

-u若目的檔案比原始檔舊才會更新目的檔案

2.3移除檔案或目錄

rm [-fir] 檔案或目錄

-f:忽略不存在的檔案,不會出現警告資訊;

-i:在刪除前會詢問使用者是否操作;

-r:遞迴刪除,常用在目錄的刪除;注意與rmdir相區分;

若刪除檔名帶有短號「-」,則使用rm ./檔名或者是使用兩個短號的形式:rm - - 檔名的形式;

2.4移動或更名檔案與目錄

mv [-fiu]  原檔案 目的檔案:將原檔案或目錄改名為目的檔案或目錄

mv [-fiu] 原檔案 目錄 :將原檔案移動到某一目錄下;原檔案可以是多個;

-f:如果目標檔案已存在,直接覆蓋不詢問;

-i:目標檔案存在,詢問是否覆蓋;

-u:目標檔案已存在且原檔案比較新才會更新,

也即是如果移動檔案到目錄下時已有該檔案會根據兩個檔案的新舊來決定是否需要移動

2.5獲取檔名或是目錄名
basename 完整路徑:獲取檔名

dirname 完整路徑:獲取目錄名

檔案系統紛亂繁雜,很多時候我們只知道檔名但是不知道檔案的具體位置,想對檔案做出修改變很困難,利用檔案查詢命令可以解決這一問題。

3.1 命令檔案的存放路徑查詢

在linux系統中,一切命令也是檔案,不同的版本可能擁有相同的命令但是命令檔案的存放位置不同,在需要對命令檔案進行修改時就可以利用以下命令查詢具體命令的存放路徑:

which [-a] command :

-a將所有由path目錄中可以找到的命令均列出,沒有該引數時,僅列出第乙個被找到的命令名稱。

該命令是根據path環境變數所規範的路徑去查詢執行檔案的檔名,對於bash的內建命令使用該命令是找不到相應檔案的。

3.2 普通檔案的存放路徑查詢

檔案的查詢與命令檔案的查詢不同,主要使用以下幾種命令:

whereis [-bmsu] 檔案或目錄名

locate [-ir] 關鍵字(可只使用檔案的部分名稱,類似模糊查詢的概念)

whereis 與locate兩個查詢命令查詢linux系統的乙個資料庫檔案,該檔案記錄系統內的所有檔案,其建立是預設每天執行一次,這兩個查詢命令查詢該資料庫檔案,無需直接去硬碟中訪問資料,速度很快,但是由於資料庫檔案的更新頻率問題,如果系統中增刪了某些檔案,可能會造成查詢結果的偏差。

資料庫檔案的存放路徑:/var/lib/mlocate

解決資料庫與磁碟不同步方案:利用updatedb命令手動更新資料庫檔案;

find [path] [option][action]
find查詢命令可以實現很多更細緻的查詢但是由於find直接查詢硬碟對於老舊的磁碟效率會比較低。

find可以實現的細緻查詢:

linux 目錄相關的操作

cd 切換目錄 change dictionary 使用 mkdir 命令建立 runoob 目錄 root www mkdir runoob 使用絕對路徑切換到 runoob 目錄 注意進入某個目錄檔案必須後面再加乙個 root www cd root runoob 注意空格,linux的目錄採用...

Linux學習 目錄相關操作

cp,rm,mv cpoy,remove,move 複製 刪除 移動 cd 變換目錄 pwd 顯示當前目錄 mkdir 建立乙個新的目錄 rmdir 刪除乙個空的目錄 代表此層目錄 代表上一層目錄 代表前乙個工作目錄 代表 目前使用者身份 所在的家的目錄 account 代表account 是個賬號...

linux目錄相關操作5

1.目錄操作 2.cd操作 cd 是 change directory 癿縮寫,這是用杢變換工作目弽癿挃令。注意,目弽名稱不 cd 挃令乊間存在 乙個空格。一登入 linux 系統後,root 會在 root 癿家目弽!那回到上一層目弽可以用 cd 利 用相對路徑癿寫法必須要確訃你目前癿路徑才能正確...