原創文章,作者:wangqiang,如若轉載,請注明出處:http://www.www58058.com/74693
文件系統
文件和目錄被組織成一個單根倒置樹結構
文件系統從根目錄下開始,用“/”表示
文件名稱區分大小寫
以.開頭的文件為隱藏文件 一個.表示本目錄。 兩個..表示根目錄
路徑分隔的/ 路徑分割為正斜線分割
文件有兩類數據:
元數據:metadata 屬性
數據:data
-rw-r–r– . 1 root root 0 Mar 27 08:35 1
權限相關 權限相關 連接數 文件所有者 文件組 大小 修改時間 文件
文件系統分層結構:LSB Linux Standard Base
簡寫 標準庫
FHS:(Filesystem Hierarchy Standard)
文件名規則
文件名最長255個字節 可以加文字 符號 但是不能超過255個字節
包括路徑在內文件名稱最長4095個字節
藍色—->目錄 綠色—>可執行文件 紅色—->壓縮文件 淺藍色—>連接文件 灰色—>其他文件
除了斜杠和NUL,所有字符都有效。但使用特殊字符的目錄名和文件不推薦使用,有些字符需要用引號來引用它們。
標準Linux文件系統(ext4),文件名稱大小寫敏感。例如:MAIL,Mail,mail, mAiL.
linux 下的文件類型
– :普通文件 [root@localhost run]# ll
-rw——-. 1 root root 4 Apr 25 09:15 gssproxy.pid
d :目錄文件 [root@localhost run]# ll
drwxr-xr-x. 4 root root 120 Apr 25 09:14 initramfs
b: 塊設備 ll /dev/sda*
brw-rw—-. 1 root disk 8, 0 Apr 25 09:14 /dev/sda
c:字符設備 ll /dev/zero
crw-rw-rw-. 1 root root 1, 5 Apr 25 09:14 /dev/zero
crw-rw-rw-. 1 root root 1, 3 Apr 25 09:14 /dev/null
l :符號連接文件 ll /etc/redhat-release
lrwxrwxrwx. 1 root root 14 Mar 27 08:22 /etc/redhat-release -> centos-release
p :管道文件pipe [root@localhost run]# ll
prw——-. 1 root root 0 Apr 25 09:14 dmeventd-server
s :套接字文件socket [root@localhost run]# ll
srw-rw-rw-. 1 root root 0 Apr 25 09:15 gssproxy.sock
刪除文件名“-”
rm -f /root/-h
文件系統結構
/boot:引導文件存放目錄,內核文件(Vmlinuz),引導加載器(boottloader,grub)
都存放于此目錄
/bin:供所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
/sbin:管理類的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
/lib:啟動時程序依賴的基本共享文件以及內核模塊文件(/lib/modules)
/lib64:專用于x86_64系統上的輔助共享庫文件存放位置
/etc:配置文件目錄
/home/USERNAME:普通用戶家目錄
/root:管理員的家目錄
/media:便攜式移動設備掛載點
/mnt:臨時文件系統掛載點
/dev:設備文件及特殊文件存儲位置
b:block device, 隨機訪問
c:character device, 線性訪問
/opt:第三方應用程序的安裝位置
/srv:系統上運行的服務用到的數據
/tmp:臨時文件存儲位置
/usr:universal shared , read-only data
bin:保證系統擁有完整功能而提供的應用程序
sbin:
lib:32位使用
lib64:只存在64位系統
include:C程序的頭文件(header files)
share:結構化獨立的數據,例如doc, man等
local:第三方應用程序的安裝位置
bin,sbin,lib,lib64,etc, share
/var:variabie data files
cache:應用程序緩存數據目錄
lib:應用程序狀態信息數據
local:專用于為/usr/local下的應用程序存儲可變數據;
lock:鎖文件
log:日志目錄及文件
opt:專用于為/opt下的應用程序存儲可變數據
run:運行中的進程相關數據,通常用于存儲進程pid文件
spool:應用程序數據池
tmp:保存系統兩次重啟之間產生的臨時數據
/proc:用于輸出內核與進程信息相關的虛擬文件系統
/sys:用于輸出當前系統上的硬件設備相關信息虛擬文件系統
/selinux:security enhanced linux, selinux相關的安全策略等信息的存儲位置
Linux上的應用程序的組成部分
二進制程序:/bin,/sbin,/usr/bin,/usr/sbin ,/usr/local/bin,/usr/local/sbin
庫文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
配置文件:/etc,/etc/DIRECTORY,/usr/local/etc
幫助文件:/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc
CentOS 7目錄變化
/bin和/usr/bin
/sbin和/usr/sbin
/lib和/usr/lib
/lib64和/usr/lib64
顯示當前工作目錄
每個shell和系統進程都有一個當前的工作目錄
CWD:current work directory
顯示當前shell CWD的絕對路徑
#pwd:printing working directory
-p 顯示真實物理路徑
-L 顯示連接路徑(默認)
更改目錄
cd 改變目錄
使用絕對路徑或相對路徑
cd /home/wang/
cd home/wang
切換至父目錄: cd ..
切換至當前用戶主目錄: cd
切換至當前的工作目錄: cd –
選項: -p
相關的環境變量
PWD;當前目錄路徑
OLDPWD:上一次目錄路徑
列出目錄內容
列出當前目錄的內容或指目錄
用法:ls[options] [files_or_dirs]
示例:
ls -a 包含隱藏文件
ls -l 顯示額外的信息
ls R 目錄遞歸通過
ls -ld 目錄和符號鏈接信息
ls -1 文件分行顯示
ls -S 按從大到小排列
ls -t 按mtime排列
ls -u 配合-t選項,顯示并按atime從新到舊排列
ls -U 按目錄存放順序顯示
ls -X 文件后綴排序
基本上Linux最主要的文件系統為Ext2,該文件系統內的信息主要由:
superblock:記錄此文件系統的整體信息,包括inode/block的總量,使用量,剩余量,以及文件系統的 格式化與相關信息等。
inode:記錄文件的屬性,一個文件占用一個inode,同時記錄此文件的數據所在的block號碼。
block:實際記錄文件的內容,若文件太大時,會占用多個block。
Ext2文件系統的數據訪問為索引式文件系統(indexed allocation)
需要碎片整理的原因就是文件寫入的bloxk太過離散了,此時文件讀取的性格將變得很差所致,這個時候可以通過碎片整理將同一個文件所屬的block匯集在一起。
Ext2文件系統主要有boot sector,superblock,inode bitmap,block bitmap,inode table,data block等六大部分。
data block是用來放置文件內容數據地方,在Ext2文件系統中所支持的block大小有1KB,2KB及4KB三種而已。
inode記錄文件的屬性/權限等數據,每個inode大小均固定為128bytes;每個文件都僅會占用一個inode而已;因此文件系統能夠新建的文件數量與inode的數量有關
文件的block記錄文件的實際數據,目錄的block則記錄該目錄下面文件名與其inode號碼的對照表。
日志(journal)文件系統會多出一塊記錄區,隨時記載文件系統的主要活動,可加快系統恢復時間。
Linux文件系統為增加性能,會讓主存儲器作為大量的磁盤高速緩存。
實際連接只是多了一個文件名對該inode號碼的鏈接而已。
符號鏈接就類似Windows的快捷方式功能。
磁盤的使用必需要經過分區,格式化與掛載,分別慣用的命令fdisk,mkfs和mount。
開機自動掛載可參考/etc/fstab的設置,設置完畢務必使用mount -a測試語法正確否。
贊 (0)
Linux系統程序包的管理-Yum及編譯安裝
上一篇
2017-05-02
linux文件系統分類
下一篇
2017-05-02