一个可以列出文件、目录、可执行文件和链接的简单脚本。
-- 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中国荣誉推出
领取专属 10元无门槛券
私享最新 技术干货