一些组合命令实现文件操作

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表示递归,会递归输出目录下所有子文件下的全部文件。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容