linux能創(chuàng)建多少層目錄?
linux的ext3文件系統(tǒng)的一級子目錄默認為31998個,準確的說是32000個。
Linux對于cpu的搜索效率是有規(guī)定的,內(nèi)核需要重新編譯改變數(shù)量限制。內(nèi)核代碼中有這樣的內(nèi)容:
includ:#定義EXT2_link_MAX32000
includ:#定義:不能刪除。#39or..#39"。所以32000-231998。
對于ext3文件系統(tǒng)中單個目錄中的最大文件數(shù)量沒有特殊限制,它受到文件系統(tǒng)中inode數(shù)量的限制。
在一個目錄中接觸100萬個文件是沒有問題的。但是它肯定會受到文件系統(tǒng)中inode數(shù)量的限制。
Df-i/dev/sdaX或使用tune2fs-l/dev/sdaX或dump2fs-h/dev/sdaX來檢查可用的inodes。最后兩個命令的輸出結(jié)果是相同的,但是DF獲得的可用inodes會有一些錯誤。
解決互聯(lián)網(wǎng)上inode數(shù)量限制的方法有兩種,如下。
2.1當mkfs重新啟動時,更多地調(diào)整inode數(shù)量(取決于您的fs中的文件總數(shù))和更小的塊大小(取決于每個文件的平均大小)。
2.2使用回送文件系統(tǒng)的臨時解決方案:在/usr(或其他地方)創(chuàng)建一個大文件,然后做一個回送文件系統(tǒng),將原文件移動到這個文件系統(tǒng),掛載到/usr下合適的位置。這可以大大減少/usr中的文件數(shù)量。但是系統(tǒng)性能會有一點損失。
查看系統(tǒng)句柄文件的數(shù)量
cat/proc/sys/fs/file-max
查看進程打開的文件數(shù)量
lsof|wc-l
Linux系統(tǒng)下如何刪除某個目錄下大量文件?
正常操作可以不要只刪除目錄而不刪除文件。刪除目錄時,必須添加-r選項,即遞歸刪除它。遞歸刪除將首先刪除目錄中的所有文件,然后刪除目錄本身。除非你的其他地方的文件都有硬鏈接,否則刪除目錄后里面的文件肯定就沒了。