针对大型文件系统可以试试此 Bash 脚本

一个可以列出文件、目录、可执行文件和链接的简单脚本。

-- Nick Clifton

你是否曾经想列出目录中的所有文件,但仅列出文件,而不列出其它的。仅列出目录呢?如果有这种需求的话,那么下面的脚本可能正是你一直在寻找的,它在 GPLv3 下开源。

当然,你可以使用find命令:

但这键入起来很麻烦,输出也不友好,并且缺少ls命令拥有的一些改进。你还可以结合使用ls和grep来达到相同的结果:

但是,这又有点笨拙。下面这个脚本提供了一种简单的替代方法。

用法

该脚本提供了四个主要功能,具体取决于你调用它的名称: 列出文件, 列出目录, 列出可执行文件以及 列出链接。

通过符号链接无需安装该脚本的多个副本。这样可以节省空间并使脚本更新更容易。

该脚本通过使用find命令进行搜索,然后在找到的每个项目上运行ls。这样做的好处是,任何给脚本的参数都将传递给ls命令。因此,例如,这可以列出所有文件,甚至包括以点开头的文件:

要以长格式列出目录,请使用 命令:

你可以提供多个参数,以及文件和目录路径。

下面提供了当前目录的父目录和 目录中所有文件的长分类列表:

目前该脚本不处理递归,仅列出当前目录中的文件。

该脚本不会深入子目录,这个不足有一天可能会进行修复。

内部

该脚本采用自上而下的方式编写,其初始化功能位于脚本的开头,而工作主体则接近结尾。脚本中只有两个真正重要的功能。函数 会仔细分析命令行,将选项与路径名分开,并处理脚本中的ls命令行选项中的特定选项。

函数以目录名作为参数并在其上运行find命令。找到的每个项目都传递给ls命令进行显示。

总结

这是一个可以完成简单功能的简单脚本。它节省了时间,并且在使用大型文件系统时可能会非常有用。

脚本

via:https://opensource.com/article/20/2/script-large-files

作者:Nick Clifton选题:lujun9972译者:wxy校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200323A0AV1S00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券