Linux文件名的長度限制是255個字符
windows下完全限定文件名必須少於260個字符,目錄名必須小於248個字符。
linux下文件數、目錄數、文件名長度的各種限制
以下測試都是在沒有優化或修改內核的前提下測試的結果
1. 測試目的:ext3文件系統下filename最大字符長度 測試平臺:RHEL5U3_x64 測試過程: LENTH=`for i in {1..255};do for x in a;do echo -n $x;done;done` touch $LENTH 當增加到256時,touch報錯,File name too long linux系統下ext3文件系統內給文件/目錄命名,最長只能支持127箇中文字符,英文則可以支持255個字符
2. 測試目的:ext3文件系統下一級子目錄的個數限制 測試平臺:RHEL5U3_x64 測試過程: [root@fileserver maxdir]# for i in {1..32000};do mkdir $i;done mkdir: cannot create directory `31999': Too many links mkdir: cannot create directory `32000': Too many links ext3文件系統一級子目錄的個數爲31998(個)。 Linux爲了cpu的搜索效率而規定的,要想改變數目大概要重新編譯內核.
3. 測試目的:ext3文件系統下單個目錄裏的最大文件數 測試平臺: RHEL5U3_x64 測試過程: 單個目錄下的最大文件數似乎沒什麼特別限制,也是受限於所在文件系統的inode數限制: df -i或者使用tune2fs -l /dev/sdaX或者dumpe2fs -h /dev/sdaX查看可用inode數,後兩個命令 輸出結果是一樣的,但是跟df所得出的可用inode數會有些誤差,至今不明白什麼原因。
網上常用兩種解決辦法: 1) 重新mkfs,ext3默認block大小4096 Bytes,block設置小一些inode數設置大一些 2) 使用loopback文件系統臨時解決: 在/usr中(也可以在別處)創建一個大文件,然後做成loopback文件系統,將原來的文件移到這個 文件系統中,並將它mount到/usr下合適的位置。這樣可以大大減少你/usr中的文件數目。但是系統 性能會有點損失。
4. 測試目的: 打開文件數限制(文件句柄、文件描述符) 測試平臺: RHEL5U3_x64 ulimit -n 65535設置,或者/etc/security/limit.conf裏設置用戶打開文件數、進程數、CPU等 |
|
|