Linux筆記03: Linux常用命令_3.2目錄操作命令
3.2 目錄操作命令
3.2.1 ls命令
●命令名稱:ls。
●英文原意:list directory contents。
●所在路徑:/usr/bin/ls。
●執行許可權:所有使用者。
●功能描述:列出目錄內容。
(1)命令格式
[root@localhost ~]# ls [選項] [檔名或目錄名]
選項:
-a: 顯示所有檔案
--color=when: 支援顏色輸出,when的值預設是always(總顯示顏色),也可以是
never(從不顯示顏色)和auto(自動)
-d: 顯示目錄資訊,而不是目錄下的檔案
-h: 人性化顯示,按照我們習慣的單位顯示檔案大小
-i: 顯示檔案的i節點號
-l: 長格式顯示
(2)常見用法
①“-a”選項中的a是all的意思,也就是顯示所有檔案(包括隱藏檔案)。例如:
[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_profile .cache .cshrc initial-setup-ks.cfg .xauthzjMlTg
.. .bash_logout .bashrc .config .dbus .tcshrc
列出了以“.”開頭的隱藏檔案。
隱藏檔案不是為了把檔案藏起來不讓其他使用者找到,而是為了告訴使用者這些檔案都是重要的系統檔案,如非必要,不要亂動!所以,不論是Linux還是Windows都可以非常簡單地檢視隱藏檔案。
②“-d”選項顯示目錄本身的資訊,例如:
[root@localhost ~]# ls -ld /root
dr-xr-x---. 5 root root 204 Nov 27 09:09 /root
③“-h”選項按照人們習慣的單位顯示檔案大小,例如:
[root@localhost ~]# ls -lh
total 8.0K
-rw-------. 1 root root 1.7K Nov 27 2022 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.7K Nov 27 2022 initial-setup-ks.cfg
④“-i”選項用來檢視檔案的inode號,例如:
[root@localhost ~]# ls -i
16797762 anaconda-ks.cfg 16797786 initial-setup-ks.cfg
每個檔案都有一個被稱作inode(i節點)的隱藏屬性,可以看成系統搜尋這個檔案的ID。
⑤“-l”選項用於顯示檔案的詳細資訊,例如:
[root@localhost ~]# ls -l
total 8
-rw-------. 1 root root 1649 Nov 27 2022 anaconda-ks.cfg
-rw-r--r--. 1 root root 1677 Nov 27 2022 initial-setup-ks.cfg
“-l”選項顯示的7列,含義分別是:
●第一列:許可權。
●第二列:引用計數。檔案的引用計數代表該檔案的硬連結個數,而目錄的引用計數代表該目錄有多少個一級子目錄。
●第三列:所有者。也就是這個檔案屬於哪個使用者,預設所有者是檔案的建立使用者。
●第四列:所屬組。預設所屬組是檔案建立使用者的有效組,一般情況下就是建立使用者的所在組。
●第五列:大小。預設單位是位元組。
●第六列:檔案修改時間。檔案狀態修改時間或檔案資料修改時間都會更改這個時間,注意這個時間不是檔案的建立時間。
●第七列:檔名。
3.2.2 cd命令
●命令名稱:cd。
●英文原意:change directory。
●所在路徑:/usr/bin/cd(Shell內建命令)。
●執行許可權:所有使用者。
●功能描述:切換所在目錄。
Linux的命令按照來源方式分為兩種:Shell內建命令和外部命令。
所謂Shell內建命令,就是Shell自帶的命令,這些命令是沒有執行檔案的;而外部命令就是由程式設計師單獨開發的,是外來命令,所以會有命令的執行檔案。
[root@localhost ~]# cat /usr/bin/cd
#!/bin/sh
builtin cd "$@"
Linux中的絕大多數命令是外部命令,而cd命令是一個典型的Shell內建命令。
(1)命令格式
[root@localhost ~]# cd [目錄名]
選項:
-P:(大寫)如果切換的目錄是軟連結目錄,則進入其原始的物理目錄,而不是進入軟連結目錄;
-L: 如果切換的目錄是軟連結目錄,則直接進入軟連結目錄。
(2)常見用法
①基本用法:只需在cd命令後加目錄名即可。例如:
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]#
②簡化用法:cd命令可以識別一些特殊符號,用於快速切換所在目錄,這些符號如下表所示。
特殊符號 |
含義 |
~ |
使用者的家目錄 |
- |
上次所在目錄 |
. |
當前目錄 |
.. |
上級目錄 |
3.2.3 mkdir命令
●命令名稱:mkdir。
●英文原意:make directories。
●所在路徑:/usr/bin/mkdir。
●執行許可權:所有使用者。
●功能描述:建立空目錄。
(1)命令格式
[root@localhost ~]# mkdir [選項] 目錄名
選項:
-p: 遞迴建立目錄
(2)常見用法
①建立目錄
[root@localhost ~]# mkdir Layton
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg Layton
②遞迴建立目錄
[root@localhost ~]# mkdir -p LaytonWang/Movies/Disney
[root@localhost ~]# cd LaytonWang/
[root@localhost LaytonWang]# ls
Movies
遞迴建立多級空目錄,需要使用“-p”選項。
3.2.4 rmdir命令
●命令名稱:rmdir。
●英文原意:remove empty directories。
●所在路徑:/usr/bin/rmdir。
●執行許可權:所有使用者。
●功能描述:刪除空目錄。
(1)命令格式
[root@localhost ~]# rmdir [選項] 目錄名
選項:
-p: 遞迴刪除目錄
(2)常見用法
①刪除目錄
[root@localhost ~]# rmdir Layton
rmdir命令只能刪除空目錄,一旦刪除的目錄中有內容,就會報錯。例如:
[root@localhost ~]# rmdir LaytonWang
rmdir: failed to remove ‘LaytonWang/’: Directory not empty
②遞迴刪除目錄
[root@localhost ~]# rmdir -p LaytonWang/Movies/Disney
遞迴刪除多級空目錄,需要使用“-p”選項。
3.2.5 tree命令
●命令名稱:tree。
●英文原意:list contents of directories in a tree-like format。
●所在路徑:/usr/bin/tree。
●執行許可權:所有使用者。
●功能描述:顯示目錄樹。
(1)安裝tree
如果系統沒有tree命令,需要聯網並使用“yum -y install tree”命令安裝tree。VMware下CentOS連線網路請參考“2.3 Linux網路連線”章節。
[root@localhost ~]# yum -y install tree
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.ustc.edu.cn
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
updates/7/x86_64/primary_db | 18 MB 00:00:02
省略部分內容……
Complete!
(2)常見用法
①顯示當前目錄樹
[root@localhost ~]# tree
.
├── anaconda-ks.cfg
├── initial-setup-ks.cfg
└── LaytonWang
└── Movies
└── Disney
3 directories, 2 files
②顯示指定目錄樹
[root@localhost ~]# tree LaytonWang/
LaytonWang/
└── Movies
└── Disney
2 directories, 0 files
小結:
本節介紹目錄操作相關命令。ls命令列出目錄內容,“-l”選項顯示檔案的詳細資訊;cd命令切換所在目錄,特殊符號“~”切換到使用者家目錄、“..”切換到上級目錄;mkdir命令建立空目錄,“-p”選項遞迴建立多級空目錄;rmdir命令刪除空目錄,“-p”選項遞迴刪除多級空目錄;tree命令顯示目錄樹,如果系統沒有tree命令,需要聯網並使用“yum -y install tree”命令安裝tree。