Linux文件或目錄屬性
Linux 文件或目錄的屬性主要包括:文件或目錄的節點、種類、權限模式、鏈接數量、所歸屬的用戶和用戶組、最近訪問或修改的時間等內容。具體情況如下:
命令: ls -lih
輸出:[root@localhost test]# ls -lih
總計 16K
2095113 drwxr-xr-x 6 root root 4.0K 10-27 01:58 scf
2095109 drwxrwxr-x 2 root root 4.0K 11-13 06:08 test3
2095131 drwxrwxr-x 2 root root 4.0K 11-13 05:50 test4
2095112 -rw-r--r-- 1 root root 2.0K 11-13 06:03 log2012.log
說明:
第一列:inode索引節點編號,系統讀取文件時首先通過文件名找到inode,然後才能讀取到文件的內容。
第二列:文件種類和權限;
文件類型:d表示目錄,-表示文件
文件權限:文件權限是rw-r--r-- ,表示文件屬主可讀、可寫、不可執行;文件所歸屬的用戶組不可寫,可讀,不可執行;其它用戶不可寫,可讀,不可執行;
第三列: 硬鏈接個數;硬鏈接個數: log2012.log這個文件沒有硬鏈接;因為數值是1,就是他本身
第四列: 文件屬主:也就是這個文件歸哪於哪個用戶 ,它歸於root,也就是第一個root;
第六列:文件或目錄的大小;
第七列和第八列:最後訪問或修改時間;
第九列:文件名或目錄名
2、inode:索引節點
inode 索引節點index node。每個存儲設備或存儲設備的分區(存儲設備是硬盤、軟盤、U盤等等)被格式化為文件系統後,有兩部份,一部份是inode(很多個),另一部份是Block(很多個),Block是用來存儲數據用的。inode是用來存儲這些數 據的信息包括文件大小、屬主、歸屬的用戶組、讀寫權限,還包含指向文件實體的指針,但是inode不包括文件名,文件名嚴格來說不算屬性。
inode為每個文件進行信息索引,所以就有了inode的數值。操作系統根據指令, 能通過inode值最快的找到相對應的文件,訪問文件通過 文件名--->inode--->block.
inode對應磁盤上的一塊分區空間,每個inode是有大小的,centos 5系列默認inode大小128字節,centos 6系列默認inode大小256字節,
3、block:數據塊
磁盤讀取數據是按照block讀取的;
一個文件可能占用多個block,但是每讀取一個block,就消耗一個磁盤I/O,為提高磁盤I/O性能,可將block適當設置大一點,使一次性讀取的數據盡量多一點。
一個block只能存放一個文件的內容,即使有剩余也不能再裝其他文件的內容,剩余的就浪費了。
block不是越大越好,太大存放小文件(一般小文件小於1K,大文件一般大於16K)容易浪費磁盤空間,太小不利於提高磁盤I/O性能。
block一般大小為1K,2K,4K,引導分區為1K,普通分區為4K(centos 6系列)
磁盤空間取決於inode和block兩項,任何一項滿了,磁盤就滿了。
ext3/ext4文件系統下,一個文件被創建至少占用一個inode和一個block,不同文件的inode 是不同的。
4、
查看文件系統inode總量及剩余量用 df -i
查看磁盤使用量用 df -h
查看inode和block的大小和數量用 dumpe2fs [文件]
文件刪除恢復ext3grep
5、企業環境中操作文件,應當先備份再操作,做到能夠還原,不能還原的,應當先在測試環境中測試再操作。
企業生產環境一般block設置為4K(centos 5和6系列),centos 7系列例外。
企業環境中inode是夠用的,block 消耗的快。企業場景中小文件太多的話會導致inode不夠用。
6、文件類型,find -type 查看文件類型, Linux中只有以下7中文件類型,沒有其他的....
在Linux中,一切皆為文件。包括普通文件,目錄,字符設備文件,塊設備文件,符號鏈接文件,管道文件等等。
1.普通文件(-):通過file [文件]查看文件類型
2.目錄(d)
3.字符設備文件(c)
4.塊設備文件(b)
5.套接口文件(s)[如我們開啟MySQL服務後,在/var/lib/mysql/下生成的mysql.sock文件,關閉MySQL服務後,這個文件就消失了]
6.管道(p):主要用來解決多個程序同時訪問同一個文件產生的錯誤。
7.符號鏈接文件(l):文件的快捷方式
普通文件(-):通過file [文件]查看文件類型
純文本文件(ASCII),內容可以直接讀到,如配置文件,可用cat直接讀到。
二進制文件(binary),Linux中的命令程序屬於這種文件,
數據格式文件(data),如Linux用戶登錄的數據記錄在/var/log/wtmp就屬於數據格式文件,只能用last命令讀取。
目錄文件:通過ls -F 區分文件和目錄,後面帶/的為目錄。 dengtest.txt java/ test tomcat/
字符設備文件:字符設備文件表示串行端口的接口設備,如modem。用"c" 表示。crw-rw-rw- 1 root tty 5, 0 Apr 6 19:35 /dev/tty
塊設備文件:存儲有數據供系統訪問的接口設備,如硬盤光驅。用"b" 表示。brw-rw-rw- 1 root tty 5, 0 Apr 6 19:35 /dev/sda
一般用mknod來創建字符或塊設備文件,用rm 刪除。
套接口文件:一般用於網絡連接
7、文件擴展名:
.tar,.zip表示壓縮文件,
.sh表示shell文件,
.py表示python語言文件,
.pl表示perl語言文件,
.html .php .jsp .do 表示網頁文件
.conf表示配置文件
.rpm表示rpm安裝包文件
8、文件權限
Linux文件或目錄屬性