我正在从损坏的 HDD(不是 SDD)复制,其中大约 15% 的文件会导致 I/O 错误。我只想要剩下的 85% 完整文件,并获得损坏文件的列表。怎么做?
cp 在第一次读取错误时停止。scp/rsync 抱怨并删除副本(想要)并退出(不需要)。出现 I/O 错误后无法继续,至少通过阅读 rsync(1) 手册找不到。
我谷歌了很长时间,所有帖子都是关于其他需求的:
感谢您阅读不需要的答案列表!
注意:这是一个物理损坏的磁盘,由适当的诊断工具确认。我也运行了一个彻底的 fsck。
您会假设,由于默认情况下每个选项卡向前移动 8 列,因此 80 列控制台将恰好有 10 个制表位。这可以反驳:
$ printf "1\t2\t3\t4\t5\t6\t7\t8\t9\t0\ta"
Run Code Online (Sandbox Code Playgroud)
人们会期望输出在 2 行中,因为有 10 个制表位,占用了所有 80 列的空间,加上一个字符,将被推到下一行。但是该命令会在 xterm、gnome-terminal 和 rxvt 中生成单个输出行。
发生的事情是最后一个制表位神奇地减少了一个字符的空间。
同时,expand(1) 维持一个 tab 的空间为 8,因此
$ printf "1\t2\t3\t4\t5\t6\t7\t8\t9\t0\ta" | expand
Run Code Online (Sandbox Code Playgroud)
会在 80 列的控制台上神奇地生成 2 行。
这似乎是某种标准。但我只是无法通过谷歌搜索找到来源。
仅在 Linux 中测试过,但恐怕所有 unix 都共享此内容。
在过去的十年里,我通常在全屏模式终端模拟器(通常是 xterm)中工作,并且经常:vsplit在 vim 中工作。
1280×720 为典型的 16px 字体(8px 宽)提供 160 列,刚好够两个 80 列会话。同理,1920×1080 提供 240 列,刚好够三个 80 列会话。
但实际上 VIM 放置了一个竖线来分隔会话。栏可以隐藏或着色为背景¹,但会占用空间。这使我的编辑会话有 79 列,仅用于日常工作的一列(例如,编码约定要求每行少于 80 列;自动生成的电子邮件报告假定为 80 列)。
有没有办法腾出vsplit栏的空间?如果用 VIM 不能完成,我想知道什么编辑器可以更好地解决这个特殊需求。大多数 vi-clone 不支持多窗口/多缓冲区编辑,那些支持的(例如 vile)不支持垂直拆分,VIM 似乎是唯一能够垂直拆分的。emacs 能做得更好吗?
注 1:将栏切换到单个空间(没有可见栏)后,我知道很容易习惯没有视觉分割提示。它不是必须在那里的东西。这是如何:stackoverflow.com/questions/9001337/vim-split-bar-styling?