1. 查看目录下文件数
如果一个目录下文件有很多,怎么查看文件个数?
(假设你alias ll = ls -lh
)
ll | wc -l
wc -l 用来统计文件行数,这里可以配合ll实现统计文件个数。
- 需要注意的是ll第一行会包含一个total表示文件占用空间大小,这个在统计的时候也会算进去,所以结果会比实际的文件数多一个。
- 如果只需要知道目录中有多少个子文件夹,可以
ll | grep '^d' | wc -l
- 如果需要知道文件和文件夹的数目,可以
ll | grep '^[d|-] | wc -l'
-h
参数h
表示human-readable
,适合人看的,会做一些方便看懂的优化,例如把文件大小默认显示的字节数改成10k、10m、10g这种格式。
2. 删除除某某文件以外的所有文件(反选)
可以使用grep
的-v
参数,-v
参数表示反向匹配,也就是匹配除模式以外的。配合xargs
进行删除。
eg.
ls | grep -v '*.txt' | xargs rm -rf
删除所有非txt格式的文件
有趣的一点小知识,grep是拥有最多参数的linux命令之一,从a-z都是,除了k和t。
3. 按修改时间顺序查看文件
ls
的-t
参数可以按文件修改时间排序文件,默认最新的修改时间在前。而-r
则是reverse
反向 、颠倒的意思,可以把输出顺序反过来.
ll -tr
注意
-R
和-r
不一样,-R
表示递归,会递归输出目录下所有子文件下的全部文件。
网友评论