如何使用 tar 来压缩当前目录中的所有文件而不输入 tar 文件和所有文件的名称?

Jac*_*ack 2 unix command-line tar

环境:

\n
    \n
  • macOS 塞拉利昂 10.12.6
  • \n
\n

原始输入(示例):

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f1.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f2.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f3.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f4.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f5.csv\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 f6.doc\n\n0 directories, 6 files\n
Run Code Online (Sandbox Code Playgroud)\n

在test文件夹中,有6个文件。

\n

预期输出:

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 all.tar\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f1.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f2.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f3.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f4.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 f5.csv\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 f6.doc\n\n0 directories, 7 files\n
Run Code Online (Sandbox Code Playgroud)\n

尝试与问题

\n
tar -cvf all.tar f1.md f2.md f3.md f4.txt f5.csv f6.doc \n
Run Code Online (Sandbox Code Playgroud)\n

虽然我用上面的方法得到了结果,但是我必须输入所有文件名和压缩文件名,这很不方便。例如,我可以选择所有文件并右键单击,然后选择压缩选项,而无需输入all.tar(我不介意 .tar 文件名。)

\n

希望

\n

命令行方法,无需输入具体文件名。

\n

Ale*_*lex 7

如果您想要所有文件,包括子目录中的文件(或者没有子目录),您可以运行:

tar -cvf all.tar *
Run Code Online (Sandbox Code Playgroud)

然后,bash将扩展*到当前目录中所有文件的列表,包括子目录。

如果您只想要当前目录中的这些文件,而不是子目录中的文件,那么您必须find在更复杂的命令中使用 , 。如果您属于这种情况,请告诉我,我可以花时间为您找到该命令组合。