📅  最后修改于: 2023-12-03 15:05:29.324000             🧑  作者: Mango
在 Linux 中,tar
命令用于创建和提取打包的文件。tar
存档文件(通常被命名为 .tar
)是一个包含多个文件的单个文件。它们通常用于备份或分发文件集合。在某些情况下,你可能需要列出 tar
存档文件中的所有文件和目录。本文将向您介绍如何在 Shell/Bash 中列出 tar
存档文件。
使用 tar
命令的 -tf
选项可以列出存档文件中的所有文件和目录。以下是使用 tar -tf
命令列出 .tar
存档文件中所有文件的示例:
tar -tf filename.tar
这会在终端中输出存档文件中的所有文件和目录,如果存档文件很大,可以通过配合管道命令 less
来分页:
tar -tf filename.tar | less
tar
命令的 -tf
选项可以接受各种参数以帮助您过滤列表。以下是一些示例:
您可以使用 -T
选项,将文件的列表放入单独的文本文件(称为列表文件),然后使用 -X
选项,在列表文件中过滤掉目录。例如:
tar -tf filename.tar --no-anchored '*.txt' -X dirlist.txt
此命令将仅列出 .tar
存档文件中以 .txt
结尾的文件,且列表文件 dirlist.txt
中应包含所有要排除的目录。
如果只想在列表中查看目录,则可以使用 grep
命令过滤。例如,可以使用以下命令:
tar -tf filename.tar | grep '/$'
这将在列表中显示所有目录。
本文介绍了如何使用 tar -tf
命令列出存档文件中的所有文件和目录,并介绍了如何过滤列表以仅显示文件或目录。通过这些技巧,您可以更好地管理和使用存档文件。