1、windows 和linux文件類型的區別
windows 裏是通過擴展名來區分文件類型的;linux裏文件擴展名和文件類型沒有關係,爲了容易區分和箭筒用戶使用的windows的習慣,我們也會用擴展名來表示linux文件類型,linux 系統中,一切皆文件。
2、linux系統查看文件類型
[root@backup ~]# ls -l 總用量 72556 -rw-------. 1 root root 1104 7月 6 00:51 anaconda-ks.cfg -rw-r--r-- 1 root root 1083 5月 15 2015 epel-6.repo -rw-r--r--. 1 root root 22179 7月 6 00:51 install.log -rw-r--r--. 1 root root 5890 7月 6 00:50 install.log.syslog 其中-rw-r--r-- 開頭的第一個“-”表示文件的類型
3、文件權限位介紹
的文件或目錄的權限和用戶及用戶組的關係很大,linux系統中每個文件或目錄都有一組共9個基礎權限位,每三個字符被分爲一組,分別是屬主權限位,屬組權限位和其他用戶權限位。
下邊的圖可以很直接的介紹出九個權限位。
3、linux中常見的系統文件類型
4、inode節點與block介紹
磁盤==》分區==》格式化(創建文件系統)==》掛載 只用經過這四個步驟硬盤纔可以正常使用
磁盤在進行分區格式化的是,會生成兩部分,一部分是inode節點(很多個),另一部分是block(很多個)
inode:
inode 就是用來儲存這些數據屬性信息的(ls –l 的結果),inode包含的文件屬性信息有大小、數組、歸屬的用戶組、讀寫權限、文件類型和修改時間,還包含指向文件實體的指針的功能(inode 節點—block 的對應關係)等,但是inode唯獨不包含文件名,inode 存儲空間: 256字節/每個
block:
block就是存儲空間,是存儲真正存放數據的,例如:照片,視頻等普通文件數據。
inode 相當於目錄,block 相當於書的內容,整本書相當於磁盤。
inode 除了記錄文件屬性以外,還會爲每個文件建立信息索引,所以就有了inode數值。操作系統根據指令,即可通過inode的值最快的找到相對應的文件實體,文件、inode、block之間的關係可以用下圖來表示:
5、查看inode節點和block信息
使用dumpefs 查看:
1、查看inode節點 [root@oldboy ~]# dumpe2fs /dev/sda3 | grep -i "blocksize" dumpe2fs 1.41.12 (17-May-2010) Block size: 4096 [root@oldboy ~]# dumpe2fs /dev/sda3 |grep -i "inode size" dumpe2fs 1.41.12 (17-May-2010) Inode size: 256 使用df 查看: [root@oldboy ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 593344 55847 537497 10% / tmpfs 125596 1 125595 1% /dev/shm /dev/sda1 51200 38 51162 1% /boot 查看inode節點號 [root@backup ~]# ls -lhi 總用量 71M 927186 -rw-------. 1 root root 1.1K 7月 6 00:51 anaconda-ks.cfg 915719 -rw-r--r-- 1 root root 1.1K 5月 15 2015 epel-6.repo 915714 -rw-r--r--. 1 root root 22K 7月 6 00:51 install.log 915715 -rw-r--r--. 1 root root 5.8K 7月 6 00:50 install.log.syslog 2、查看block 的大小 [root@oldboy~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.5G 7.0G 17% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 190M 36M 145M 20% /boot
inode小結:
1)磁盤分區格式化ext4文件系統後會生成一定數量的inode和block
2)inode是索引節點,作用是存放文件的屬性信息以及作爲文件的索引(指向文件的實體)
3)ext3 ext4 文件系統的block存放的是文件對的實際內容
4)inode是一塊存儲空間,C6非啓動分區inode默認大小256字節。C5是128字節
5)inode是一串數字,不同的文件對用的inode(一串數字)在文件系統裏是唯一的
6)inode相同的文件,互爲硬鏈接文件(一個文件的兩個入口)
7)一個文件被創建後至少要佔用一個inode和一個block
8)block的大小一般有1k,2k,4k幾種。其中引導分區等爲1K,其他普通分區爲4k(C6)
9)如果一個文件很大,可能佔多個block,如果文件很小,至少佔一個block,並且剩餘空間浪費了。
10)inode大小和總量查看
[root@oldboy/]# dumpe2fs /dev/sda3|egrep -i"block size|Inode size"
[root@oldboy/]# dumpe2fs /dev/sda3|egrep -i"block count|Inode count"
11) 查看inode的總量和使用量命令
df -i
12)如何生成及指定inode大小
格式化命令:mkfs.ext4 -b 2048 -I 256 /dev/sdb
block小結:
1)磁盤讀取數據是按block爲單位讀取的
2)一個文件可能佔用多個block,沒讀取一個block就會消耗一次IO
3)如果要提升IO的性能,那麼就要儘可能一次性讀取數據儘量多
4)一個block只能該存放一個文件的內容,無論內容有多少,如果block 4K,那存放1K的文件,就剩餘3K浪費了
5)block 並非越大越好,block太大對於小文件存放就會浪費磁盤空間。例如:1000K的文件,block爲4K,佔用250個block,block爲1K,佔用1000個block,訪問效率誰更高,消耗IO分爲爲250次和1000次
6)根據也無需求,確定默認的block大小,如果是大文件(大於16K )一般設置block大一點,小文件(小於1k)一般設置block小一點
7)block太大,例如4K,文件都是1K的,大大的浪費了磁盤空間,但是訪問性能高
8)block太小,例如:1K,文件都是100K,消耗大量的IO
9)block大小設置也是格式化分區時候確定的,命令mkfs.ext4 -b 2048 -I 256 /dev/sdb
10)企業裏文件都會比較大(一般都會大於4K)block設置大一些會提升磁盤的訪問效率
11)ext3/ext4 文件系統(centos 5 和6 ),一般都設置爲4K