A. linux統計當前目錄下有多少文件
查看當前目錄下文件的個數
ls -l | grep "^-" | wc -l
查看當前目錄下文件的個數,包括子目錄里的。
ls -lR| grep "^-" | wc -l
查看某目錄下文件夾(目錄)的個數,包括子目錄里的。
ls -lR| grep "^d" | wc -l
簡要說明:
ls -l
長列表輸出該目錄下文件信息(注意這里的文件,不同於一般的文件,可能是目錄、鏈接、設備文件等)
grep "^-"
這里將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是 ^d
wc -l
統計輸出信息的行數,因為已經過濾得只剩一
統計一個目錄中的目錄個數
ls -l | awk '/^d/' | wc -l
統計一個目錄中的文件個數
ls -l | awk '/^-/' | wc -l
統計一個目錄中的全部文件數
find ./ -type f -print | wc -l
統計一個目錄中的全部子目錄數
find ./ -type d -print | wc -l
find -name 'sinesafe*' -d print | wc -l
B. linux 怎麼讀文件夾里文件個數
linux里沒有直接的命令來展示一個目錄下的文件個數,可以通過管道將兩個命令組合
查看目錄下所有文件個數命令如下:
ls |wc -l
1、ls 是查看文件夾內所有文件的命令
2、wc -l 是統計文件行數的命令
3、以上兩個命令疊加,相當於統計文件夾下文件總數
C. linux 每個目錄可以放多少文件
linux的ext3文件系統一級子目錄的個數默認為31998(個),准確地說是32000個。Linux為了cpu的搜索效率而規定的,要想改變數目限制需要重新編譯內核。在kernel代碼中有這樣的:
include/linux/ext2_fs.h:#define EXT2_LINK_MAX 32000
include/linux/ext3_fs.h:#define EXT3_LINK_MAX 32000
為什麼說31998個呢?這是因為mkdir創建一個目錄時,目錄下默認就會創建兩個子目錄的,一個是.目錄(代表當前目錄),另一個是..目錄(代表上級目錄)。這兩個子目錄是刪除不掉的,「 rm . 」 會得到「rm: cannot remove `.' or `..'」的提示。所以32000-2=31998。
ext3文件系統下單個目錄里的最大文件數無特別的限制,是受限於所在文件系統的inode數。
在一個目錄下,touch了100萬個文件是沒有問題的。但是肯定會受到所在文件系統的inode數的限制。
df -i /dev/sdaX或者使用tune2fs -l /dev/sdaX或者mpe2fs -h /dev/sdaX查看可用inode數,後兩個命令輸出結果是一樣的,但是跟df所得出的可用inode數會有些誤差。
網上有兩種解決inode數限制的辦法如下
2.1 重新mkfs,mkfs時將inode數調的多一些(根據你fs中文件的總數而定),塊尺寸調得小一些(根據每個文件的平均大小而定)
2.2 使用loopback文件系統臨時解決:在/usr中(也可以在別處)創建一個大文件,然後做成loopback文件系統,將原來的文件移到這個文件系統中,並將它mount到/usr下合適的位置。這樣可以大大減少你/usr中的文件數目。但是系統性能會有點損失。
D. 怎樣查看linux進程打開的文件數
Linux文件數打開數
查看當前系統最大的文件打開數,
在linux終端中輸入ulimit -a
「open files」參數選項後面的數值就是當前系統支持的最大打開文件數
修改linux最大文件打開數
如果要修改linux最大文件打開數,可以通過參數命令 unlimit -n 後面接需要設置的文件數量。
設置好之後,再次查看 unlimit -a 你會發現已經設置為新的數量了
設置好之後,再次編輯修改重啟設置的服務,已經沒有剛剛那個1024文件數限制的報錯提示
其他修改方法
除此之外,如果針對不同的用戶。也可以通過編輯修改 /etc/rc.local文件設置環境變數,添加 unlimit -n
,重啟之後一般就自動設置好了
查看系統句柄文件數
當前系統文件句柄的最大數目,只用於查看,不能設置修改
cat /proc/sys/fs/file-max
查看進程打開文件數
如果需要查看所有進程的文件打開數,命令lsof |wc -l
E. linux文件打開數最大可設置多少
ulimit里的最大文件打開數量的默認值 如果在limits.conf里沒有設置,則默認值是1024,如果limits.con有設置,則默認值以limits.conf為准。例如我換了一台機器,登錄進去,ulimit -n顯示如下: [root@zk203 ~]# ulimit -n 2000 這是因為我的limits.conf里的文件打開數是2000,如下: [root@zk203 ~]# cat /etc/security/limits.conf root soft nofile 2000 root hard nofile 2001 如果limits.conf里不做任何限制,則重新登錄進來後,ulimit -n顯示為1024。 [root@zk203 ~]# ulimit -n 1024 ulimit修改後生效周期 修改後立即生效,重新登錄進來後失效,因為被重置為limits.conf里的設定值
F. linux一個文件夾內最多可以存多少文件
文件數限制:系統所能生成的總的文件數受系統所剩節點數限制,執行tune2fs -l /dev/sda1(目錄所在的分區) |grep inodes可以查看剩餘節點數在一台ext3的系統中執行,結果為 Free inodes: 845504目錄數限制:RHEL4.3中,在同一個路徑下,一級子目錄的個數限制為31998 。如果你的應用生成的目錄可能會超過這個數,那要注意進行目錄分級。例如,如果目錄名為數字的話,可以將數字除以10000後的整數值做為父目錄名(/data/1/13892);如果是目錄名為字幕的,可以用前幾個字元來做為父一級目錄(/data/ab/abcdefg)等等。想了解更多linux相關,可以看下《linux就該這么學》這本書。
G. 怎麼查看linux文件中的文件數
可以使用如下方法:
1、ls -l |grep "^-"|wc -l或find ./company -type f | wc -l
查看某文件夾下文件的個數,包括子文件夾里的。
2、ls -lR|grep "^-"|wc -l
查看某文件夾下文件夾的個數,包括子文件夾里的。
3、ls -lR|grep "^d"|wc -l
說明:
ls -l長列表輸出該目錄下文件信息(注意這里的文件,不同於一般的文件,可能是目錄、鏈接、設備文件等)
grep "^-"
這里將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是 ^d
wc -l
統計輸出信息的行數,因為已經過濾得只剩一般文件了,所以統計結果就是一般文件信息的行數,又由於一行信息對應一個文件,所以也就是文件的個數。
H. 怎樣查看linux進程打開的文件數
linux系統下查看進程打開文件在/proc下,對應每個進程有一個以進程號命名的目錄,該目錄下有一個fd目錄,該目錄下面的每個文件是一個符號連接,其文件名對應該進程佔用的一個文件描述符,而連接指向的內容表示文件描述符對應的實際文件,有多少個文件描述符表示該進程打開了多少文件。
另外Linux
默認的進程打開文件上限是1024個,可以通過ulimit
-n查看。很多系統上限可以通過修改/etc/security/limits.conf文件改變,這個文件有詳細的注釋,對如何修改做了說明。如果希望
把所有用戶的進程打開文件上限改為65536,可以加入下面兩行
* soft nofile 65535
* hard nofile 65535
還可以只真對某個用戶或某個組做修改,具體方法參見文件注釋。修改後需要重新啟動系統才能生效。學習linux基本命令,推薦《linux就該這么學》!
I. linux查看文件有多少行數據
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。