1. 程式人生 > 其它 >Linux筆記03: Linux常用命令_3.2目錄操作命令

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。