tar --files-from 抱怨“无法统计:没有这样的文件或目录”

Lar*_*rry 1 linux tar stat

当我输入:

tar -cvf ~/changeset.tar --files-from ~/changeset.txt
Run Code Online (Sandbox Code Playgroud)

它以以下输出响应:

tar:  admin/memberinformation.php            : Cannot stat: No such file or directory
tar:  business/clsPreferredAgencies.php      : Cannot stat: No such file or directory
tar:  business/clsPreferredAgencies_test.php : Cannot stat: No such file or directory
tar:  business/clscustomer.php               : Cannot stat: No such file or directory
tar:  business/clsfeedback.php               : Cannot stat: No such file or directory
tar:  business/clsleads.php                  : Cannot stat: No such file or directory
tar:  business/connection.php                : Cannot stat: No such file or directory
tar:  crons/daily_activity.php               : Cannot stat: No such file or directory
tar:  crons/not_closed_orders2.php           : Cannot stat: No such file or directory
tar:  crons/unaccepted_orders2.php           : Cannot stat: No such file or directory
tar:  js/jquery-1.4.2.js                     : Cannot stat: No such file or directory
tar:  sql/alter-project.sql                  : Cannot stat: No such file or directory
tar:  sql/buyerName.php                      : Cannot stat: No such file or directory
tar:  sql/preferredAgencies.sql              : Cannot stat: No such file or directory
tar:  sql/underwriters_list.sql              : Cannot stat: No such file or directory
tar:  user/close_selectedporject.php         : Cannot stat: No such file or directory
tar:  user/feedback.php                      : Cannot stat: No such file or directory
tar:  user/forum.php                         : Cannot stat: No such file or directory
tar:  user/initiatelead.php                  : Cannot stat: No such file or directory
tar:  user/leadprocess_detail.php            : Cannot stat: No such file or directory
tar:  user/mem_direc.php                     : Cannot stat: No such file or directory
tar:  user/qws.php                           : Cannot stat: No such file or directory
tar:  user/view_leaddetails.php              : Cannot stat: No such file or directory
tar:  user/viewfeedbackforusers.php          : Cannot stat: No such file or directory
tar:  user/viewfeedbacks.php                 : Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
lsiden@lsiden2:~/titan$ ls admin/memberinformation.php 
admin/memberinformation.php
Run Code Online (Sandbox Code Playgroud)

这是 ~/changeset.txt 的内容。换句话说,一堆相对路径。作为健全性检查:

$ ls admin/memberinformation.php 
admin/memberinformation.php
Run Code Online (Sandbox Code Playgroud)

为什么 tar 无法找到这些文件中的任何一个,即使它们可以通过给定的相对路径从当前目录清楚地访问?

供参考:

$ tar --version
tar (GNU tar) 1.15.1
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 5

中每行的开头都有一个额外的空格changeset.txt

编辑:另外,你有没有机会changeset.txt在 Windows 机器上创建?如果是这样,^M每行末尾可能会有一个额外的字符。大多数 unix 程序会认为这个字符是行的一部分(这里是文件名的^M一部分),而 Windows 认为是换行序列的一部分。您可以通过运行查看是否是这种情况cat -A changeset.txt:通常$每行末尾应该只有一个;如果您看到^M$,则您有一个 Windows 文件。该dos2unix命令通常可用于转换行尾。