linux系統文件屬性

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

wKioL1e4L4_BVXGKAAD1a473XV0761.png 

  1. 索引節點indoe index node

wKiom1e4MM-gZWc1AAM6vxfECBo600.png

wKioL1e4MYbDyCjJAACja0aQmaI971.png


wKiom1e4MeiReJjOAAI0l-_Jduw802.png

   CentOS5 inode的默認大小是128字節,centos6 默認大小是256字節。inode的大小在文件系統格式化後固定不變,無法更改,格式化前可以指定inode的大小。但一般不會去改。查看inode大小命令:

wKiom1e4MwuQFkyTAABDr99Vln4130.png

   一個文件至少佔用一個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中的快捷方式。

wKioL1e5cnCRv_1gAAPlxs5Qhik467.png


實戰演練:模擬磁盤空間被佔滿,刪除相關文件。

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盤已經滿了 就此我們的環境就模擬完成

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   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

/dev/sdc               73K   73K     0 100% /app/log

##在刪除了access_log 文件後,我們查看磁盤信息,發現sdc依然是滿的,並沒有釋放

[root@mode log]# /etc/init.d/httpd  restart

[root@mode log]# 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

##在重啓服務後,在看sdc盤,我們發現一部分的空間已經釋放了。


博文轉載:http://oldboy.blog.51cto.com/2561410/612351

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章