1. 程式人生 > >文件及Linux目錄結構

文件及Linux目錄結構

module 最好 win 對待 行修改 fstab size idc .html

什麽是文件

在linux系統上,所有的資源都是文件,Linux系統下的文件類型包括

  • 普通文件(-)
  • 目錄(d)
  • 符號鏈接(l)
  • 字符設備文件(c)
  • 塊設備文件(b)
  • 套接字(s)
  • 命令管道(p)

普通文件:僅僅就是字節序列,Linux並沒有對其內容規定任何結構。普通文件可以是任何文件,Linux不會區別對待這些文件,只有處理這些文件的應用程序才會根據文件的內容為它們賦予相應的含義。

在DOC和Windows環境中,所有的文件名的後綴就能表示該文件的類型,Linux環境下只要是可執行的文件並且具有可執行屬性它就能執行,不管其文件名後綴是什麽,常見的文件後綴

  • *.txt:文本文件
  • *.conf:配置文件
  • *.html/*.xml/*.yml/*.sql:HTML/XML/YAML/SQL文件
  • *.c/*.cpp:C/C++語言源程序文件
  • *.so/*.ko/*.lib:模塊文件、庫文件
  • *.sh/*.php/*.py/*.pl/*.rb:Shell/PHP/Python/Perl/Ruby 腳本文件
  • *.rpm:RPM包
  • *.tar:tar存檔文件
  • *.gz/*.bz2/*.xz:由gzip/bzip2/xz生成的壓縮文件
  • *.tar.gz/*.tgz/*.tar.bz2/*.tbz/*.tar.xz/*.txz:壓縮後的tar包文件
  • *.lock:用於表示某個程序或某種服務正在運行的鎖文件
  • *~備份文件

目錄和硬鏈接

目錄文件由一組目錄項組成,目錄項可以是對其他文件的指向也可以是其下的子目錄指向。實際上,一個文件的名稱是存儲在其父目錄中的,而非同文件內容本身存儲在一起。

硬鏈接:將兩個文件名(存儲在其父目錄的目錄項中)指向硬盤上一個存儲控制,對兩個文件中的任何一個的內容進行修改都會影響到另外一個文件。實際上就是在某目錄中創建目錄項,從而使不止一個目錄可以引用到同一個文件,增加/刪除都會影響到文件的鏈接數

ps:硬鏈接並不是一種特殊類型的文件,只是在同一個文件系統中允許多個目錄項指向同一個文件的一種機制。

1 # ln file1 file2

符號鏈接

符號鏈接又稱軟鏈接:是將一個文件指向另外一個文件的文件名。它只記錄了要指向的文件名而已,所以占用空間很小,增加/刪除文件的鏈接數是不會改變的,如果刪除了指向目標文件,則指向文件會稱為死鏈接

1 # ln -s file1 file2

設備文件

設備是指計算機中的外圍硬件裝置,即除了CPU和內存以外的所有設備。所有的硬件設備都放/dev目錄下。

/dev/hd*:IDE硬盤設備,如hda1,a表示第一塊硬盤,1表示第1個分區

/dev/sd*:SCSI/SATA/SAS/USB硬盤設備,如sda1,a表示第一塊硬盤,1表示第1個分區

/dev/null:空設備,通常用於屏蔽命令行輸出

Linux目錄結構

/: 根目錄,一般根目錄下只存放目錄,不要存放文件,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中
/bin:/usr/bin: 可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等。
/boot: 放置linux系統啟動時用到的一些文件。/boot/vmlinuz為linux的內核文件,以及/boot/gurb。建議單獨分區,分區大小100M即可
/dev: 存放linux系統下的設備文件,訪問該目錄下某個文件,相當於訪問某個設備,常用的是掛載光驅mount /dev/cdrom /mnt。
/etc: 系統配置文件存放的目錄,不建議在此目錄下存放可執行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前記得備份。註:/etc/X11存放與x windows有關的設置。
/home: 系統默認的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下,~表示當前用戶的家目錄,~test表示用戶test的家目錄。建議單獨分區,並設置較大的磁盤空間,方便用戶存放數據
/lib:/usr/lib:/usr/local/lib: 系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助,比較重要的目錄為/lib/modules。
/lost+fount: 系統異常產生錯誤時,會將一些遺失的片段放置於此目錄下,通常這個目錄會自動出現在裝置目錄下。如加載硬盤於/disk 中,此目錄下就會自動產生目錄/disk/lost+found
/mnt:/media: 光盤默認掛載點,通常光盤掛載於/mnt/cdrom下,也不一定,可以選擇任意位置進行掛載。
/opt: 給主機額外安裝軟件所擺放的目錄。如:FC4使用的Fedora 社群開發軟件,如果想要自行安裝新的KDE 桌面軟件,可以將該軟件安裝在該目錄下。以前的 Linux 系統中,習慣放置在 /usr/local 目錄下
/proc: 此目錄的數據都在內存中,如系統核心,外部設備,網絡狀態,由於數據都存放於內存中,所以不占用磁盤空間,比較重要的目錄有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
/root: 系統管理員root的家目錄,系統第一個啟動的分區為/,所以最好將/root和/放置在一個分區下。
/sbin:/usr/sbin:/usr/local/sbin: 放置系統管理員使用的可執行命令,如fdisk、shutdown、mount等。與/bin不同的是,這幾個目錄是給系統管理員root使用的命令,一般用戶只能"查看"而不能設置和使用。
/tmp: 一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不可放置在此目錄下
/srv: 服務啟動之後需要訪問的數據目錄,如www服務需要訪問的網頁數據存放在/srv/www內
/usr: 應用程序存放目錄,/usr/bin 存放應用程序, /usr/share 存放共享數據,/usr/lib 存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件。/usr/local:存放軟件升級包。/usr/share/doc: 系統說明文件存放目錄。/usr/share/man: 程序說明文件存放目錄,使用 man ls時會查詢/usr/share/man/man1/ls.1.gz的內容建議單獨分區,設置較大的磁盤空間
/var: 放置系統執行過程中經常變化的文件,如隨時更改的日誌文件 /var/log,/var/log/message: 所有的登錄文件存放目錄,/var/spool/mail: 郵件存放的目錄, /var/run: 程序或服務啟動後,其PID存放在該目錄下。建議單獨分區,設置較大的磁盤空間

具體目錄結構參考:《Linux 目錄結構》

文件及Linux目錄結構