CentOS 7 目錄結構,文件類型
文件類型
LINUX有四種基本文件系統類型:普通文件、目錄文件、連接文件和特殊文件,可用file命令來識別。
普通文件:如文本文件、C語言源代碼、Shell腳本、二進制的可執行文件等,可用cat、less、more、vi、emacs來察看內容,用mv來改名。
目錄文件:包括文件名、子目錄名及其指針。它是LINUX儲存文件名的唯一地方,可用ls列出目錄文件。
連接文件:是指向同一索引節點的那些目錄條目。用ls來查看是,連接文件的標志用l開頭,而文件面后以"->"指向所連接的文件。
特殊文件:LINUX的一些設備如磁盤、終端、打印機等都在文件系統中表示出來,則一類文件就是特殊文件,常放在 /dev 目錄內。例如,軟驅A稱為/dev/fd0。LINUX無C:的概念,而是用 /dev/had 來自第一硬盤。
目錄結構
Linux文件系統目錄結構如圖:
1、[ / ] - 根目錄
每一個文件和目錄從根目錄開始。只有 root 用戶具有該目錄下的寫權限。
請注意,/root 是 root 用戶的主目錄,這與 /.不一樣。對你的電腦來說,有且只有一個根目錄。
所有的東西都是從這里開始。舉個例子:當你在終端里輸入 “ /home ” ,你其實是在告訴電腦,先從/(根目錄)開始,再進入到 home 目錄。
/root 這是系統管理員(root user)的目錄。對於系統來說,系統管理員就好比是上帝,它能對系統做任何事情,甚至包括刪除你的文件。因此,請小心使用 root 帳號。
如圖:
2、[ /bin ] - 常見命令
包含二進制可執行文件,在單用戶模式下,你需要使用的常見 Linux 命令都位於此目錄下。
這里存放了標准的(或者說是缺省的)linux 的工具,比如像 “ ls ”、“ vi ” 還有 “ more ” 等等。通常來說,這個目錄已經包含在你的 “ path ” 系統變量里面了。
什么意思呢?就是:當你在終端里輸入 ls,系統就會去 /bin 目錄下面查找是不是有 ls 這個程序。
系統的所有用戶使用的命令都設在這里,例如:ps、ls、ping、grep、cp、mv、rm。
如圖:
3、[ /sbin ] - 系統管理命令目錄 系統二進制文件
就像 /bin,/sbin 同樣也包含二進制可執行文件。但是,在這個目錄下的 linux 命令通常由系統管理員使用,對系統進行維護。
例如:iptables、reboot、fdisk、ifconfig、swapon
/sbin 大多是涉及系統管理的命令的存放,是超級權限用戶 root 的可執行命令存放地,普通用戶無權限執行這個目錄下的命令。
這個目錄和 /usr/sbin、 /usr/X11R6/sbin 或 /usr/local/sbin 目錄是相似的;我們記住就行了,凡是目錄 sbin 中包含的都是root權限才能執行的。
如圖:
4、[ /etc ] - 配置文件
包含所有程序所需的配置文件,也包含了用於啟動/停止單個程序的啟動和關閉 shell 腳本。例如:/etc/resolv.conf、/etc/logrotate.conf。
這里主要存放了系統配置方面的文件。舉個例子:你安裝了 samba 這個套件,當你想要修改 samba 配置文件的時候,你會發現它們(配置文件)就在 /etc/samba 目錄下。
如圖:
5、[ /dev ] - 設備文件
這里主要存放與設備(包括外設)有關的文件( unix 和 linux 系統均把設備當成文件)。
想連線打印機嗎?系統就是從這個目錄開始工作的。另外還有一些包括磁盤驅動、USB驅動等都放在這個目錄。
USB或連接到系統的任何設備。例如:/dev/tty1、/dev/usbmon0
如圖:
6、[ /proc ] - 進程信息
包含系統進程的相關信息。這是一個虛擬的文件系統,包含有關正在運行的進程的信息。例如:/proc/{pid} 目錄中包含的與特定 pid 相關的信息。
系統資源以文本信息形式存在。例如:/proc/uptime
/proc 操作系統運行時,存放進程信息及內核信息,例如 cpu、硬盤分區、內存信息等。
/proc 目錄偽裝的文件系統 proc 的掛載目錄,proc 並不是真正的文件系統,它的定義可以參見 /etc/fstab 。
如圖:
7、[ /var ] - 變量文件
var 代表變量文件,這個目錄的內容是經常變動的。看名字就知道,我們可以理解為 vary 的縮寫;
/var 下有:
/var/log 系統日志文件;
/var/lib 包和數據庫文件,用來存放一些庫文件,比如MySQL的,以及MySQL數據庫的的存放地;
/var/mail 電子郵件;
/var/spool 打印隊列;
/var/lock 鎖文件;
/var/tmp 多次重新啟動需要的臨時文件;
/var/www 目錄是定義Apache服務器站點存放目錄;
如圖:
8、[ /tmp ] - 臨時文件
包含系統和用戶創建的臨時文件。
當系統重新啟動時,這個目錄下的文件都將被刪除。
對於某些程序來說,有些文件被用了一次兩次之后,就不會再被用到,像這樣的文件就放在這里。
有些 linux 系統會定期自動對這個目錄進行清理,因此,千萬不要把重要的數據放在這里。
如圖:
9、[ /usr ] - 用戶程序
包含二進制文件、庫文件、文檔和二級程序的源代碼。
/usr/bin 中包含不適合放在 /bin 或 /etc 目錄下的額外的工具。如果你在 /bin 中找不到用戶二進制文件,到 /usr/bin 目錄看看。例如:at、awk、cc、less、scp。
/usr/sbin 中包含系統管理員的二進制文件。如果你在 /sbin 中找不到系統二進制文件,到 /usr/sbin 目錄看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib 中包含了 /usr/bin 和 /usr/sbin 用到的庫。用於存放那些不能直接 運行的,但卻是許多程序運行所必需的一些函數庫文件。
/usr/local 中包含了從源安裝的用戶程序。例如,當你從源安裝Apache,它會在/usr/local/apache2中。
/usr/share 用於存放一些共享的數據,比如音樂文件或者圖標等等。
如圖:
10、[ /home ] - HOME目錄
這里主要存放你的個人數據。具體每個用戶的設置文件,用戶的桌面文件夾,還有用戶的數據都放在這里。
每個用戶都有自己的用戶目錄,位置為:/home/用戶名。當然,root 用戶除外。例如:/home/john、/home/nikita。
如圖:
11、[ /boot ] - 引導加載程序文件
包含引導加載程序相關的文件。
Linu x的內核及引導系統程序所需要的文件目錄,例如內核的 initrd、vmlinux、grub 文件位於 /boot 下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
在一般情況下,GRUB 或 LILO 系統引導管理器也位於這個目錄。
如圖:
12、[ /lib ] - 系統庫
包含支持位於 /bin 和 /sbin 下的二進制文件的庫文件;
Linux的庫一般在 /lib 或者 /use/lib 目錄下,lib 是庫(library)的英文縮寫,它主要存放系統的鏈接庫文件,沒有該目錄則系統就無法正常運行。
/lib目錄中存儲着程序運行時使用的共享庫。通過共享庫,許多程序可以重復使用相同的代碼,並且這些庫可以存儲在一個公共的位置上,因此能減小運行程序的大小。
這個目錄包含程序在鏈接時使用的各種庫;例如:gcc、binfmt.d、yum-plugins等;
如圖:
13、[ /opt ] - 可選的附加應用程序
opt 代表可選的。包含從個別廠商的附加應用程序。附加應用程序應該安裝在 /opt 或者 /opt/ 的子目錄下。
可以存放哪些可選的程序呢?
例如 安裝 firefox 測試版,那就裝到 /opt 目錄下吧。這樣,當你嘗試完,想刪掉 firefox 的時候,你就可以直接刪除它,而不影響系統其他任何設置。
安裝到 /opt 目錄下的程序,它所有的數據、庫文件等等都是放在同個目錄下面。
舉個栗子:剛才裝的測試版 firefox,就可以裝到 /opt/firefox_beta 目錄下,/opt/firefox_beta目錄下面就包含了運行 firefox 所需要的所有文件、庫、數據等等。
要刪除 firefox 的時候,你只需刪除 /opt/firefox_beta 目錄即可,非常簡單。
如圖:
14、[ /mnt ] - 掛載目錄
臨時安裝目錄,系統管理員可以掛載文件系統。
這個目錄一般是用於存放掛載儲存設備的掛載目錄的,比如有 cdrom 等目錄。可以參看 /etc/fstab 的定義。
有時我們可以把讓系統開機自動掛載文件系統,把掛載點放在這里也是可以的。
主要看 /etc/fstab 中怎么定義了;比如光驅可以掛載到 /mnt/cdrom 。
15、[ /media ] - 可移動媒體設備
linux 的發行版使用這個目錄來掛載那些usb接口的移動硬盤(包括U盤)、CD/DVD驅動器,掛載可移動設備的臨時目錄。
例如,掛載 CD-ROM 的 /media/cdrom,掛載軟盤驅動器的 /media/floppy 等等;
16、[ /srv ] - 服務數據
srv 代表服務,主要用來存儲本機或本服務器提供的服務或數據。(用戶主動生產的數據、對外提供服務)
包含服務器特定服務相關的數據。例如,/srv/cvs 包含 cvs 相關的數據。