linux系統中的檔案或目錄的屬性主要包括:引索節點(indoe)、檔案類型、權限屬性、連接配接數、所歸屬的使用者和使用者組、最近修改時間。

- 索引節點indoe index node
CentOS5 inode的預設大小是128位元組,centos6 預設大小是256位元組。inode的大小在檔案系統格式化後固定不變,無法更改,格式化前可以指定inode的大小。但一般不會去改。檢視inode大小指令:
一個檔案至少占用一個inode和一個block。block是實習存放内容的地方。block分大了,會浪費磁盤空間,分小了,影響磁盤讀取性能,一般生産環境設定block大小為4K
問100M的磁盤空間,寫入1K檔案,1M的檔案。分别能寫多少??
inode 存放檔案屬性資訊,預設大小128byt 256byt(C6)
block 是存放檔案的實際内容,預設大小1K(boot)或4K(非系統分區預設4K)
一個檔案至少占用1個inode和1個block
知道這3點資訊,剩下的就是數學方程式解決了。
2.硬連結(hard link)與軟連結(symbolic),之前有提到,建立連結的指令時ln,預設不帶參數是建立硬連結,參數-s是建立軟連結。
硬連結是指通過索引節點(inode)來連結,多個檔案名指向同一個索引節點的情況是允許的,這種就成為硬連結。
軟連結,類似于window中的快捷方式。
實戰演練:模拟磁盤空間被占滿,删除相關檔案。
yum install httpd -y ##安裝httpd服務
/etc/init.d/httpd start
lsof -i :80
dd if=/dev/zero of=/dev/sdc bs=8K count=10 ##建立小的檔案系統 80K
ls -l /dev/sdc
mkfs -t ext3 /dev/sdc
[root@mode ~]# mkdir /app/log -p
[root@mode ~]# mount -o loop /dev/sdc /app/log
[root@mode ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.6G 2.6G 3.8G 41% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 760M 0 760M 0% /dev/shm
/dev/sdc 73K 14K 55K 21% /app/log
[root@mode httpd]# cd /etc/httpd/conf ##修改日志存放的路徑 讓web服務往/app/log寫日志
[root@mode conf]# vi httpd.conf
[root@mode conf]# /etc/init.d/httpd restart
####516行路徑改成/app/log……
[root@mode conf]# tail -f /app/log/access_log
##跟蹤檔案變化,此時浏覽器中輸入Linux的IP地##址,能打開Apache的網站,而且這個日志檔案會有變化,不斷出重新整理網站,該檔案也會不斷增加。
for n in `seq 100000`;do curl -s 192.168.1.10 >/dev/null;done
##通路10萬次,來填滿日志檔案
[root@mode conf]# df -h ##檢視磁盤資訊 發現sdc盤已經滿了 就此我們的環境就模拟完成
/dev/sdc 73K 73K 0 100% /app/log
我們模拟了一個被充滿的磁盤sdc,模拟環境也是運維中的重要部分,下面我們就來驗證怎麼去徹底删除檔案,來釋放磁盤空間。
[root@mode conf]# cd /app/log/
[root@mode log]# rm -f access_log
[root@mode log]# df -h|grep sdc
##在删除了access_log 檔案後,我們檢視磁盤資訊,發現sdc依然是滿的,并沒有釋放
[root@mode log]# /etc/init.d/httpd restart
[root@mode log]# df -h