Linux基礎學習系列——Linux檔案目錄操作命令

farsun發表於2021-09-09
Linux檔案目錄操作命令

工作目錄切換命令

  • pwd命令
  • cd命令
  • ls命令

檔案目錄管理命令

  • touch命令
  • mkdir命令
  • cp命令
  • mv命令
  • rm命令
  • dd命令
  • file命令

pwd命令

pwd命令用於顯示使用者當前所處的工作目錄。

格式:

pwd [選項]

示例:

[root@Linuxprobe 桌面]# pwd
/root/桌面

cd命令

cd命令用於切換工作路徑。

格式:

cd [目錄名稱]

說明:

透過cd命令可以迅速、靈活地切換到不同的工作目錄。除了指定具體的目錄名稱外,還可以使用下述幾種形式,快速的切換目錄。

  • cd -:返回到上一次所處的目錄。
  • cd ..:進入到上級目錄。
  • cd ~:切換到當前使用者的家目錄。
  • cd ~username:切換到其他使用者的家目錄。

示例一,切換到/bin目錄下:

[root@Linuxprobe etc]# cd /bin
[root@Linuxprobe bin]# 

示例二,返回到上一次的目錄:

[root@Linuxprobe bin]# cd -
/etc

示例三,切換到當前使用者的家目錄:

[root@Linuxprobe etc]# cd ~
[root@Linuxprobe ~]# 

ls命令

ls命令用於顯示目錄中的檔案資訊。

格式:

ls [選項] [檔案或目錄]

說明:

ls命令可以輸出當前目錄下的所有檔案資訊,包括隱藏檔案。常用的選項有以下幾種。

  • -a:檢視全部檔案,包括隱藏檔案。
  • -l:檢視檔案的屬性、大小等詳細資訊。
  • -d:檢視目錄屬性資訊。

可以將上述選項組合使用。

示例一,使用ls -al命令檢視當前目錄中的所有檔案並輸出這些檔案的屬性資訊:

[root@Linuxprobe ~]# ls -al
total 56
dr-xr-x---. 14 root root 4096 Aug 14 14:49 .
drwxr-xr-x. 17 root root 4096 Aug 14  2018 ..
-rw-------.  1 root root 1029 Jul 18 00:21 anaconda-ks.cfg
-rw-------.  1 root root 1052 Jul 30 17:02 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
drwx------.  9 root root 4096 Jul 17 18:13 .cache
drwxr-xr-x. 15 root root 4096 Jul 17 18:13 .config
...

示例二,使用ls -ld檢視/etc目錄的許可權與屬性資訊:

[root@Linuxprobe ~]# ls -ld /etc
drwxr-xr-x. 132 root root 8192 Aug 14 14:36 /etc

touch命令

touch命令用於建立空白檔案或設定檔案的時間。

格式:

touch [選項] [檔案]

說明:

對於建立空白檔案,使用touch命令比較簡單,直接使用touch 檔名即可。

除了建立檔案之外,它還可以設定以下幾種情況的時間:

  • 設定檔案內容的修改時間(mtime)
  • 設定檔案許可權或屬性的更改時間(ctime)
  • 設定檔案的讀取時間(atime)

touch命令的引數和作用如下:

-a:僅修改“讀取時間”(atime)

-m:僅修改“修改時間”(mtime)

-d:同時修改atime與mtime

示例,首先使用ls命令檢視一下檔案的修改時間,然後使用touch命令把修改後的檔案時間設定成修改之前的時間:

[root@Linuxprobe 桌面]# cd ~
[root@Linuxprobe ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1029 Jul 18 00:21 anaconda-ks.cfg
[root@Linuxprobe ~]# touch -d "2018-08-15 08:08" anaconda-ks.cfg 
[root@Linuxprobe ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1029 Aug 15 08:08 anaconda-ks.cfg

mkdir命令

mkdir命令用於建立空白的目錄(資料夾)。

格式:

mkdir [選項] 目錄

說明:

除了能建立單個空白目錄外,mkdir命令還可以結合-p引數來遞迴建立出具有巢狀疊層關係的檔案目錄。

示例,使用mkdir -p建立多層級目錄:

[root@Linuxprobe ~]# mkdir smallz
[root@Linuxprobe ~]# cd smallz/
[root@Linuxprobe smallz]# mkdir -p a/b/c/d
[root@Linuxprobe smallz]# cd a
[root@Linuxprobe a]# cd b
[root@Linuxprobe b]# cd c
[root@Linuxprobe c]# 

cp命令

cp命令用於複製檔案或目錄。

格式:

cp [選項] 原始檔 目標檔案

說明:

在Linux系統中,複製操作分為以下3中情況:

  • 如果目標檔案是目錄,則會把原始檔複製到該目錄中;
  • 如果目標檔案也是普通檔案,則會詢問是否要覆蓋它;

  • 如果目標檔案不存在,則執行正常的複製操作。

cp命令的引數及其作用如下:

  • -p:保留原始檔案的屬性
  • -d:若物件為“連結檔案”,則保留該“連結檔案”的屬性
  • -r:遞迴持續複製(用於目錄)
  • -i:若目標檔案存在則詢問是否覆蓋
  • -a:相當於-pdrpdr為上述引數)

示例,使用touch建立一個新檔案,接著使用cp命令複製為新的備份檔案:

[root@Linuxprobe ~]# touch wy.log
[root@Linuxprobe ~]# cp wy.log wy.log.bak
[root@Linuxprobe ~]# ls
anaconda-ks.cfg       smallz  wy.log.bak  公共  文件  模板  音樂
initial-setup-ks.cfg  wy.log  下載        圖片  桌面  影片
[root@Linuxprobe ~]# 

mv命令

mv命令用於剪下檔案或將檔案重新命名。

格式:

mv [選項] 原始檔 [目標路徑|目標檔名]

說明:

剪下操作不同於複製操作,因為它會預設把原始檔刪除掉,只保留剪下後的檔案。如果在同一個目錄中對一個檔案進行剪下操作,其實也就是對其進行重新命名。

示例,使用mv命令實現重新命名檔案操作,將wy.log重新命名為linux.log

[root@Linuxprobe ~]# mv wy.log linux.log
[root@Linuxprobe ~]# ls
anaconda-ks.cfg       linux.log  wy.log.bak  公共  文件  模板  音樂
initial-setup-ks.cfg  smallz     下載        圖片  桌面  影片

rm命令

rm命令用於刪除檔案或目錄。

格式:

rm [選項] 檔案

說明:

在Linux系統中刪除檔案時,系統會預設向您詢問是否要執行刪除操作,如果不想總是看到這種反覆的確認資訊,可在rm命令後跟上-f引數來強制刪除。

另外,想要刪除一個目錄,需要在rm命令後面一個-r引數才可以,否則刪除不掉。

示例,刪除之前建立的檔案和目錄:

[root@Linuxprobe ~]# rm wy.log.bak
rm: remove regular empty file ‘wy.log.bak’? y
[root@Linuxprobe ~]# rm -f linux.log 
[root@Linuxprobe ~]# ls
anaconda-ks.cfg       smallz  公共  文件  模板  音樂
initial-setup-ks.cfg  下載    圖片  桌面  影片
[root@Linuxprobe ~]# rm -r smallz
rm: descend into directory ‘smallz’? y
rm: descend into directory ‘smallz/a’? y
rm: descend into directory ‘smallz/a/b’? y
rm: descend into directory ‘smallz/a/b/c’? y
rm: remove directory ‘smallz/a/b/c/d’? y
rm: remove directory ‘smallz/a/b/c’? y
rm: remove directory ‘smallz/a/b’? y
rm: remove directory ‘smallz/a’? y
rm: remove directory ‘smallz’? y
[root@Linuxprobe ~]# ls
anaconda-ks.cfg       下載  圖片  桌面  影片
initial-setup-ks.cfg  公共  文件  模板  音樂

dd命令

dd命令用於按照指定大小和個數的資料塊來複制檔案或轉換檔案。

格式:

dd [引數]

說明:

dd命令能夠讓使用者按照指定大小和個數的資料塊來複制檔案的內容。還可以在複製過程中轉換其中的資料。

dd命令的引數及其作用:

  • if:輸入的檔名稱
  • of:輸出的檔名稱
  • bs:設定每個“塊”的大小
  • count:設定要複製“塊”的個數

示例一,用dd命令從/dev/zero裝置檔案中取出一個大小為560MB的資料塊,然後儲存成名為560_file的檔案:

[root@Linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied, 2.59138 s, 227 MB/s

示例二,直接使用dd命令將檔案壓制出光碟映象檔案(ISO格式的映象檔案):

[root@Linuxprobe ~]# dd if=560_file of=test.iso
1146880+0 records in
1146880+0 records out
587202560 bytes (587 MB) copied, 3.28271 s, 179 MB/s
[root@Linuxprobe ~]# ls
560_file         initial-setup-ks.cfg  下載  圖片  桌面  影片
anaconda-ks.cfg  test.iso              公共  文件  模板  音樂
[root@Linuxprobe ~]# 

file命令

file命令用於檢視檔案的型別。

格式:

file 檔名

說明:

在Linux系統中,由於文字、目錄、裝置等所有這些一切都統稱為檔案,而我們又不能單憑字尾就知道具體的檔案型別,這時就需要使用file命令來檢視檔案型別了。

示例:

[root@Linuxprobe ~]# file abc.txt
abc.txt: empty
[root@Linuxprobe ~]# file smallz
smallz: directory

參考資源

  • 《Linux就應該這麼學》

本文後續會隨著知識的積累不斷補充和更新,內容如有錯誤,歡迎指正。

最後一次更新時間:2018-08-15


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4289/viewspace-2806930/,如需轉載,請註明出處,否則將追究法律責任。

相關文章