我现在正在学习Unix。我正在尝试在手册页中搜索这些词column | chop
。我愿意:
cd /usr/share/man/man1
egrep -i 'column|chop' *
我得到这个结果:
grep: gcov-tool.1.gz: No such file or directory
grep: i686-linux-gnu-gcov-tool.1.gz: No such file or directory
请有人告诉我我做得不对吗?我在 Oracle VM VirtualBox 上使用 Ubuntu 16.04LTS。
答案1
find -xtype l
匹配损坏的符号链接,所以
$ find /usr/share/man/man1 -mindepth 1 -maxdepth 1 -xtype l -ls
291592 0 lrwxrwxrwx 1 root root 16 Apr 25 00:09 /usr/share/man/man1/gcov-tool.1.gz -> gcov-tool-5.1.gz
291793 0 lrwxrwxrwx 1 root root 16 Apr 25 00:09 /usr/share/man/man1/i686-linux-gnu-gcov-tool.1.gz -> gcov-tool-5.1.gz
揭示了表面上丢失的文件,gcov-tool.1.gz
实际上i686-linux-gnu-gcov-tool.1.gz
是丢失文件的损坏的符号链接gcov-tool-5.1.gz
。
在 Ubuntu 中,文件/usr/share
应该由包管理器管理,因此如果您想要返回该文件,最简单的方法是查找该文件所属的包,
dpkg-query -S /usr/share/man/man1/gcov-tool-5.1.gz
并重新安装匹配的包:
sudo apt-get install --reinstall <PACKAGE>
(gcov-tool-5.1
指向gcc-5
过时的 Ubuntu 版本的软件包。)