![区分普通文件和命令文件并获取它们的版本](https://linux22.com/image/105539/%E5%8C%BA%E5%88%86%E6%99%AE%E9%80%9A%E6%96%87%E4%BB%B6%E5%92%8C%E5%91%BD%E4%BB%A4%E6%96%87%E4%BB%B6%E5%B9%B6%E8%8E%B7%E5%8F%96%E5%AE%83%E4%BB%AC%E7%9A%84%E7%89%88%E6%9C%AC.png)
我编写脚本来列出用户作为输入提供的文件夹或目录内所有文件的以下详细信息
File Name
Absolute Path
Created Date
Modified Date
Accessed Date
Size
Version of the file
从上面的详细信息中,我可以获得除版本详细信息之外的所有信息。
因此,当涉及到用户作为输入提供的目录内的文件或内容的版本时,据我所知,必须注意以下方面(如果我遗漏了任何要点,请告诉我)
- 我最初想获取所有者名称,如果是 root,则将其视为命令,但后来意识到可能有一些普通文件以 root 作为所有者。
- 需要区分普通文件(.txt、.sh、.conf 等)和命令(ls、grep、echo 等)。
- 并捕获命令的版本详细信息,因为版本占位符针对不同的命令不断变化
例子:
$ vi --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 31 2015 11:13:18)
$ sync --version
sync (coreutils) 8.4
$ unlink --version
unlink (GNU coreutils) 8.4
$ sleep --version
version sleep (AT&T Research) 2009-03-12
$ umount --version
umount (util-linux-ng 2.17.2)