和 Windows 一樣,Linux 也有目錄的概念。系統中眾多的文件需要藉助到目錄進行存儲與管理。我們下麵對 Linux 系統中的目錄結構以及經常使用到的概念進行一個完整介紹。 Linux 系統目錄結構 在 Windows下,系統把硬碟劃分為不同的磁碟分區,每個磁碟分配一個不同的盤符,比如 C:\ ...
和 Windows 一樣,Linux 也有目錄的概念。系統中眾多的文件需要藉助到目錄進行存儲與管理。我們下麵對 Linux 系統中的目錄結構以及經常使用到的概念進行一個完整介紹。
Linux 系統目錄結構
在 Windows下,系統把硬碟劃分為不同的磁碟分區,每個磁碟分配一個不同的盤符,比如 C:\、D:\ 等等。每個分區都單獨存放自己的文件,有自己的根目錄,比如 C:\、D:\ 就相當於 C 盤和 D 盤的根目錄了。而 Linux 則是將整個硬碟統一管理,整個系統只有一個根目錄 "/",所有的文件和目錄都是在這個根目錄下,它表示 Linux 文件系統的起點。另外要註意一點,Linux 中目錄間的間隔使用的是斜線 (forward slash)"/",而 Windows中用的是反斜線 (back slash)"\"。
為了規範,絕大多數的 Linux 發行版本中 (參見 《這麼多Linux版本,你究竟該怎麼選擇?》)系統目錄的機構都保持了一致。以 CentOS 7 為例,下麵介紹一下常用的系統目錄和它們的作用。
-
/root:超級用戶 root 的家目錄
-
/bin:是 Binary 的縮寫,用於存放系統中常用的命令,任何用戶都有許可權執行
-
/boot:存放系統啟動時所需要的文件,Linux 的內核就存放在這個目錄中
-
/dev:是 Device 的縮寫,存放硬碟、光碟機、滑鼠等設備文件,在 Linux中訪問設備和訪問文件的方式是相同的
-
/etc:存放系統和程式所需的配置文件,作用類似於 Windows 的註冊表
-
/home:普通用戶的家目錄。普通用戶的家目錄一般和用戶賬號名相同,比如 user1 的家目錄是 /home/user1
-
/var:存放一些經常變化的文件,比如 /var/log 存放日誌,/var/spool/mail 存放郵件
-
/lib /lib64:存放連接共用庫,作用類似於 Windows 的 dll 文件。它們自己不能被執行,需要被其他的程式調用,幾乎所有的應用程式都需要用到共用庫
-
/usr:軟體預設的安裝位置,存放用戶應用程式和文件,類似於 Windows 下的 Program Files
-
/media:用於掛載 U 盤、光碟機等系統自動識別的設備
-
/lost+found:存放系統崩潰或意外關機時產生的碎片文件,正常情況下是空的
-
/mnt:用於臨時掛載別的文件系統,比如增加一塊硬碟,需要手動掛載
-
/opt:用於安裝額外軟體所用的目錄,預設是空的
-
/proc:虛擬文件系統,是系統記憶體的映射。訪問這個目錄可以獲取很多有用的系統信息
-
/sbin:s 就是 super 的意思,存放只有系統管理員才有許可權執行的命令
-
/srv:存放一些服務啟動後所需要提取的數據
-
/sys:該目錄下安裝了文件系統 sysfs,該文件系統是內核設備樹的一個直觀反映
-
/tmp:存放臨時文件,所有用戶都可執行寫操作
-
/run:存放進程產生的臨時文件,系統重啟以後,這個目錄會被清空
絕對路徑與相對路徑
1) 絕對路徑:將目錄用完整的路徑表示出來,從根目錄“/”開始,比如 /user/bin,使用絕對路徑可以非常準確的表示一個目錄的位置,只不過路徑較長的時候,輸入會比較麻煩。
下麵看一個例子,當以用戶 user1 登錄後,使用 pwd (print working directory)命令來列印出當前的工作目錄
$ pwd
/home/user1
/home/user1 就是當前工作目錄的絕對路徑,也是 user1 的家目錄,如上面介紹,普通用戶的家目錄都是在 /home 下麵。
2) 相對路徑:顧名思義,就是不用絕對路徑表示,而是用當前工作目錄為起點來表示的相對路徑,比如當前工作目錄為 /home/user1,/home/user1/Desktop 用相對路徑表示即為 ./Desktop 或者直接 Desktop,“.”表示當前工作目錄,“..”表示上一級目錄
$ cd Desktop
$ pwd
/home/user1/Desktop
常用的目錄操作
1) cd:change directory 切換工作目錄,語法格式為
$ cd [目錄名]
2) pwd:print working directory 列印當前工作目錄,語法格式為
$ pwd
如上面的例子演示,切換目錄後可以再用 pwd 命令確認一下當前目錄是否正確
3) ls:list,語法格式為
$ ls [選項] [目錄或文件名]
如果ls 命令後邊是目錄,會顯示目錄下包含的文件信息,如果是文件名則會顯示該文件的信息,如果沒有跟任何參數則顯示當前工作目錄下包含的文件信息。
常用選項:
-a 顯示所有文件,包括隱藏文件
-l 以長格式顯示目錄或文件的信息
-d 只顯示目錄本身的信息,不顯示目錄下包含的文件
-h human readable,用人性化顯示的形式查看,比如以 K (KB),M (MB),G(GB)表示文件大小
4) mkdir:make directory,創建目錄,語法格式為
$ mkdir [選項] 目錄名
常用選項:
-p 可以用於創建嵌套的多級目錄
5) cp:copy,複製文件或目錄
語法格式為
$ cp [選項] 源文件或目錄 目標文件或目錄
常用選項:
-r 如果複製的是一個目錄,則必須使用這個選項,會把目錄下所有的內容都複製到目標目錄中去
6) mv:move,移動文件或目錄
語法格式為
$ mv [選項] 源文件或目錄 目標文件或目錄
如果移動的是一個目錄,不需要加 -r 選項,可以直接將目錄進行移動
7) rm:remove,刪除文件或目錄
語法格式為
$ rm [選項] 文件或目錄
常用選項:
-r 如果刪除的是一個目錄,則必須使用這個選項
-f 強制刪除,無須用戶確認
一般刪除目錄時,兩個選項會同時使用 -rf,但是建議刪除前先用 mv 命令將待刪除的目錄移動到一個指定的回收目錄中去,等過一段時間確認不再需要這些文件和目錄,再使用 rm 命令將其刪除。
最後
本文介紹了 Linux 系統目錄的結構和它們的用途,目錄相關的概念,以及最常用到的相關命令。結合之前的文章《虛擬機安裝 Linux 最完整攻略》,大家可以在自己的虛擬機進行演練,註意系統目錄不要刪除,否則系統可能就崩掉了,最好在自己的家目錄或者臨時目錄中進行操作。
相關閱讀:
- The End -