tar 中的文件名有问题
Having trouble with filenames in tar
我在处理与 tar 反应的文件名中的转义字符时遇到问题。由于我正在移动的数据的性质,它们无法被删除。无论我如何格式化我的转义字符,它似乎都将 .file 和 \.file 视为同一件事。
例如:
文件内容
namefile1 包含 \.file
namefile2 包含 \\.file
出现的命令及其输出:
tar -cvzf "./exampleout.tar" -C . -T namefile1
\.file
tar -cvzf "./exampleout.tar" -C . -T namefile2
\.file
如果我尝试列出其中一个,我会得到这个。
tar -tvf ./exampleout.tar
\.file
我想我已经解决了我的问题。如果你的文件名中有 \,即使你通过文件传递它,你仍然必须转义它。即使在某些测试用例中只需要一个,也是使其始终如一地工作的唯一方法。如果您尝试列出 tar 文件的内容,它会将其列为文件中的任何内容,但如果您恢复它,则如果您能够设法找到 tar 会拿。
我在处理与 tar 反应的文件名中的转义字符时遇到问题。由于我正在移动的数据的性质,它们无法被删除。无论我如何格式化我的转义字符,它似乎都将 .file 和 \.file 视为同一件事。
例如:
文件内容
namefile1 包含 \.file
namefile2 包含 \\.file
出现的命令及其输出:
tar -cvzf "./exampleout.tar" -C . -T namefile1
\.file
tar -cvzf "./exampleout.tar" -C . -T namefile2
\.file
如果我尝试列出其中一个,我会得到这个。
tar -tvf ./exampleout.tar
\.file
我想我已经解决了我的问题。如果你的文件名中有 \,即使你通过文件传递它,你仍然必须转义它。即使在某些测试用例中只需要一个,也是使其始终如一地工作的唯一方法。如果您尝试列出 tar 文件的内容,它会将其列为文件中的任何内容,但如果您恢复它,则如果您能够设法找到 tar 会拿。