1
lxk11153 2020-11-04 10:38:03 +08:00
可以放这么多吗?[doge]
|
2
yuanbo6 2020-11-04 10:40:18 +08:00
惊了
|
3
cydian 2020-11-04 10:41:22 +08:00 via Android
可以放这么多,inode 够用就行
|
4
slimhigh 2020-11-04 10:41:34 +08:00
自己写个程序遍历文件夹。
|
5
Osk 2020-11-04 10:42:13 +08:00
没有实战过, 不过可以考虑这些方法优化:
ls 命令本身会进行排序, 文件数目多时可能会很慢. 使用 `ls -U` 不排序来提升第一个命令的动作. 把 ls 的输出重定向到文件中, 而不是管道, 后续再用其他工具处理? |
6
sonice 2020-11-04 10:42:47 +08:00
|
7
egen 2020-11-04 10:43:14 +08:00
ls -f1 | wc -l
|
8
acmore 2020-11-04 10:43:22 +08:00
locate -cr 'path_to_your_folder'
|
9
qinlou 2020-11-04 10:43:34 +08:00
find . | wc -l 或者 find . >count.file; wc -l file
|
10
novanul 2020-11-04 10:43:44 +08:00
sudo updatedb && locate --regex ^$(pwd) | wc -l 不知道可不可以
|
11
Liutos 2020-11-04 10:48:54 +08:00
用 ls -f 试试,可以让输出的内容不排序,这样可以不用将所有文件名先读入内存。
|
13
frmongo OP |
14
frmongo OP 或者用这个:
ls -U dir_name >lst.txt wc -l lst.txt |
15
frmongo OP ls -U dir_name/ | wc -l 也可以
|
16
nuk 2020-11-04 11:12:37 +08:00
|
17
mingl0280 2020-11-04 11:52:04 +08:00 1
ls -f | wc -l
find . -name "*" | wc -l |
18
mingl0280 2020-11-04 11:52:59 +08:00
备注一下,可能有些系统有 locate,locate -c 就行
|
19
dorothyREN 2020-11-04 14:23:35 +08:00
ls -l > a && wc -l a
|
20
ungrown 2020-11-04 16:00:58 +08:00
用 python 的`os.walk`试试,那玩意不是一下子全部遍历的,是逐级返回的,应该不会爆内存
|
21
openbsd 2020-11-04 17:42:35 +08:00
tree ?
|
22
secsilm 2020-11-04 17:57:13 +08:00
python 的话,可以用 Path(dir).iterdir(),返回的是 generator,不耗内存。
|