给定一个目录,如何查找其中不是硬链接文件的所有文件(以及任何子目录)?或者更具体地说,那些不是具有多个引用的硬链接文件?
基本上我想扫描一个文件夹并返回该目录中的唯一文件列表,包括目录和符号链接(而不是它们的目标).如果可能的话,最好还忽略支持它们的文件系统上的硬链接目录(例如HFS +).
twa*_*erg 16
find 有一个应该有用的选项:
find . -type f -links 1 -print
Run Code Online (Sandbox Code Playgroud)
根据定义硬链接的文件的链接数为2或更大,因此这将显示没有其他链接的所有文件.
硬链接文件具有相同的inode.您可以使用它stat来打印inode和文件名,并awk仅在第一次出现inode时用于打印文件:
stat -c '%i %n' *csv | awk '!seen[$1]++' | cut -d ' ' -f 2-
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4587 次 |
| 最近记录: |