Linux(压缩文件):如何找到所有不可读的文件?

pdsfdshx  于 2023-01-12  发布在  Linux
关注(0)|答案(3)|浏览(325)

我只是试图zip文件夹和它的内容通过这个命令:

zip -r ./mytarget.zip ./mysource

最后我得到了警告

zip warning: Not all files were readable
files/entries read:  141595 (4.2G bytes)  skipped:  57 (1.8M bytes)

我想知道跳过了哪些文件
如何找到**所有不可读的文件?**我在该服务器上没有sudo权限。
先谢了!

zaqlnxep

zaqlnxep1#

您可以使用

find . ! -readable

递归扫描无法读取的文件或目录。这个命令考虑权限,但也考虑断开的链接。

gcmastyq

gcmastyq2#

我的经历和你一样,find . ! -readable没有帮助。
我通过将zip命令的所有输出记录到一个文件来解决这个问题:

zip -r my-archive.zip /path/to/dir/ &>> zip-log

然后在其中搜索warning单词,它不仅出现在命令输出的末尾(作为摘要),而且出现在每个引起问题的文件(在我的例子中是2个)之后:

adding: home/myuser/.cagefs/tmp/mysql.sock
    zip warning: could not open for reading: home/myuser/.cagefs/tmp/mysql.sock
  adding: home/myuser/.cagefs/tmp/lshttpd/ (stored 0%)
  adding: home/myuser/.cagefs/tmp/.s.PGSQL.5432
    zip warning: could not open for reading: home/myuser/.cagefs/tmp/.s.PGSQL.5432
vfh0ocws

vfh0ocws3#

我通过更新zip包并清除所有缓存来修复此问题,步骤如下:

  • 删除以前的zip(失败)
  • sudo apt-get更新
  • sudo apt-获取升级
  • 清除&清除所有缓存从web Jmeter 板和cloudflare
  • 重新启动服务器
  • 尝试压缩这些文件

相关问题