Linux文件屬性
ls –lhi = ll -hi
139610 drwxr-xr-x 2 root root 4.0K Oct 4 23:33 ad
139610 inode索引節點編號 系統讀取文件時,首先通過文件名找到inode,然後才能讀取到文件內容
drwxr-xr-x 第一位是文件類型、後面9位為文件權限
2 硬鏈接數量(同一個文件的,兩個不同的訪問入口) 一個鏈接刪掉,數據沒丟。
root 屬主
root 屬組
4.0K 大小
Oct 月份
4 日期
23:33 時間 最近修改時間? 修改時間也就是改變時間?
ad 文件名
硬盤要存數據
首先要分區(隔斷)
被格式化為ext4(CentOS6.7)文件系統後,一般分為兩個部分:
第一個是Inode(很多) 數據的屬性信息(也就是ls –l的結果)不限於
還包括文件實體的指針功能(inode節點 – block的對應關系)
但是inode唯獨不包括文件名
第二個是Block(很多) 存放實際數據
inode還會為每個文件進行信息索引,所以就有了inode的數值。操作系統根據指令,通過inode的值
最快的找到相對應的文件實體。
下圖對應關系 文件———inode———
兩種查看都行
第二個swap分區打不開 不清楚為啥
第一和第三個分區大小不一樣
一是boot 二是swap 三是根
使用情況
查看inode還剩多少
任何一項滿了,就不能再放數據了
磁盤滿的一個特征
no space on device left
8)一個文件正常情況下有且只能有一個inode(人和身份證)
補充6:可以認為是一個文件的不同入口
企業裏文件一般都會比較大(一般會大於4K),block設置大一些會提高磁盤訪問效率
舉個例子,假設磁盤空間100M,A文件大小為10M,文件inode大小1M,符號鏈接0.1M。
創建文件後磁盤空間大小為100-10-1=89M,那麽以下操作對應的磁盤空間為:
1.復制,使用cp命令,磁盤空間大小為89-10-1=78M
2.硬鏈接,使用ln不帶參數命令,磁盤空間為89-1=88M
3.軟鏈接,使用 ln -s命令,磁盤空間為89-0.1=88.9M
“復制”深度不同而已!
這題目上網找下
last 顯示登錄列表/var/log/wtmp數據文件
lastlog 顯示最近登錄的用戶信息 /var/log/lastlog數據文件
dumpe2fs查看文件系統內部信息(元數據)
後面會講
查看目錄
鏈接文件
read 4 讀
write 2 寫
x 1 執行
- 0 沒有權限
總結:
軟鏈接
包含源文件所在路徑 找它就會找到源文件路徑
第三條如果不理解看上面的圖
條件是文件的鏈接 文件! 文件!
一樣的
而.. 指向的也是test目錄
所以這裏的3 就是
下級目錄的..為第三個
所以這道題,第一個問題是2 第二個問題是3
下面的一級目錄就有80個 除去下面二級目錄裏的.. 以及目錄自身的.
動態文件刪除
http://oldboy.blog.51cto.com/2561410/612351
案例 要細看
#yuminstall httpd –y
#/etc/init.d/httpdstart
#lsof -i:80
#/etc/init.d/iptablesstop 防火墻關閉
#cd/etc/httpd/conf
#vimhttpd.conf
查找到這句在513行(set nu)
q
[root@hostconf 22:52:03]#grep "#CustomLog logs/access" httpd.conf
#CustomLoglogs/access_log common
查找到的內容 下條命令會替換掉
#sed -i‘s@#CustomLog logs/access_log common@CustomLog /app/logs/access_log common@g‘httpd.conf
替換掉
[root@hostconf 22:53:47]#grep "CustomLog /app/logs/access_log common"httpd.conf
CustomLog/app/logs/access_log common
驗證一下
創建一個小的文件系統,用於存放上述access_log日誌。
dd if=/dev/zero of=/dev/sdc bs=8K count=10
mkfs -t ext4 /dev/sdc 格式化
tune2fs -c -1 /dev/sdc 上面寫了180天或29次後 要做檢查
這條命令之後就不會了
掛載
mount -oloop /dev/sdc /app/logs
echo oldboy >/var/www/html/index.html
(3)重啟httpd服務,確保日誌記錄到了上述文件系統掛載的/app/log下面
/etc/init.d/httpd restart
(4)寫個循環腳本訪問httpd,使得httpd日誌充滿/app/logs整個空間。
for n in `seq 20000`;do curl -s 127.0.0.1>/dev/null;done
弄了幾次都這麽大,以為哪出問題了 結果了因為已經滿了
[root@C64log]# df -h
錯誤解決方法:
直接刪除日誌
這樣沒有用
因為:只是刪除了文件
服務進程還在
而且這樣一弄,文件名就看不見了,但系統空間還是沒有釋放
用這個命令查一下
lsof |grep del
1、請先停掉模擬訪問測試腳本
forn in `seq 100000`;do curl -s 127.0.0.1 >/dev/null;done
重啟Http服務、查看處理結果
(7)較好的處理方案
清空日誌而不刪除日誌。
>/app/logs/access_log 下圖
這個屬於block滿了 因為查看inode還沒有滿 一個大的文件進來占用所有block
這個滿屬於Inode滿了 大量小文件 占滿所有inode
本文出自 “11745576” 博客,請務必保留此出處http://11755576.blog.51cto.com/11745576/1975851
Linux文件屬性