Linux 目錄詳解
和 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
/home/user1/Desktop
常用的目錄操作
1) cd:change directory 切換工作目錄,文法格式為
$ cd [目錄名]
2) pwd:print working directory 列印目前工作目錄,文法格式為
如上面的例子示範,切換目錄後可以再用 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 最完整攻略》,大家可以在自己的虛拟機進行演練,注意系統目錄不要删除,否則系統可能就崩掉了,最好在自己的家目錄或者臨時目錄中進行操作。
原文位址
https://www.cnblogs.com/jfzhu/p/12940175.html