centos7删除符号链接_如何在 Linux 上查找和删除损坏的符号链接 | Linux 中国
符号链接是指向另一个文件的 Linux 文件。如果删除了被引用的文件,符号链接会保留,但不会显示有问题,除非你尝试使用它。
- 来源:https://linux.cn/article-12298-1.html
- 作者:Sandra Henry-stocker
- 译者:geekpi
符号链接是指向另一个文件的 Linux 文件。如果删除了被引用的文件,符号链接会保留,但不会显示有问题,除非你尝试使用它。以下是查找和删除指向文件已被删除的符号链接的简单方法。
符号链接(symbolic link)在 Linux 系统上扮演了非常有用的角色。它们可以帮助你记住重要文件在系统上的位置,使你更容易访问这些文件,并让你不必为了更方便访问大文件而复制它们,从而节省了大量的空间。
什么是符号链接?
通常称它们为“符号链接”或“软链接”,符号链接是非常小的文件。实际上,符号链接真正包含的是它指向的文件的名称,通常包含路径(相对于当前位置或绝对路径)。如果有个名为 ref1 的文件指向名为 /apps/refs/ref-2020 的文件,那么 ref1 的长度将为 19 个字符,即使 ref-202 文件有 2TB。如果指向 ./ref-2020,那么长度仅为 10 个字符。如果指向 ref-2020,那么只有 8 个字节。
如果你执行 vi ref1 之类的命令(其中 ref1 是符号链接的名称),你将编辑 ref1 指向的文件,而不是符号链接本身的内容。Linux 系统知道如何使用符号链接,并且可以做正确的事。同样,如果你使用诸如 cat、more、head 或 tail 之类的命令,那么将查看引用文件的内容。
另一方面,如果删除符号链接,你将删除该链接,而不是引用的文件。再说一次,Linux 知道怎么做。符号链接使得使用和共享文件更加容易,仅此而已。
符号链接损坏时
当一个符号链接所指向的文件从系统中删除或重新命名时,符号链接将不再起作用。符号链接只不过是存储在某个特定目录中的引用而已,它不会随着指向它的文件发生变化而更新或删除。它一直指向被引用的文件,即使这个文件早已消失。
如果你尝试使用指向一个不存在的文件的符号链接,那么将出现如下错误:
$ tail whassuptail: cannot open 'whassup' for reading: No such file or directory
如果你尝试访问指向自身的符号链接(是的,奇怪的事情发生了),你将看到类似以下的内容:
$ cat loopycat: loopy: Too many levels of symbolic links$ ls -l loopylrwxrwxrwx 1 shs shs 5 May 28 18:07 loopy -> loopy
而且,如果(上面的)长列表的第一个字母没有引起你的注意,这表示该文件是符号链接。rwxrwxrwx 权限是标准权限,并不反映符号链接指向的文件的权限。
查找损坏的符号链接
find 命令有一个选项,能让你找到指向不再存在的文件的符号链接。此命令列出当前目录中的符号链接:
$ find . -type l
l (小写字母 L)告诉 find 命令查找符号链接。
另一方面,下面的命令在当前目录中查找指向不存在的文件的符号链接:
$ find . -xtype l
为了避免在该命令尝试查找你无权检查的文件或目录时发生错误,你可以将所有错误输出到 /dev/null,如下所示:
$ find . -xtype l 2>/dev/null
你也可以使用此命令找到损坏的符号链接。它比前面的更长,但做的是同样的事情:
$ find . -type l ! -exec test -e {} ; -print 2>/dev/null
如何处理损坏的符号链接
除非你知道符号链接引用的文件会被替换,否则最好的方法是直接删除损坏的链接。实际上,如果需要,你可以使用一条命令查找并删除损坏的符号链接,如:
$ find . -xtype l 2>/dev/null -exec rm {} ;
该命令的 rm {} 部分会变成“删除文件”的命令
如果你想将符号链接与不同的文件相关联,你必须先删除该符号链接,然后重新创建它,使其指向新文件。这是一个例子:
$ rm ref1$ ln -s /apps/data/newfile ref1
总结
符号链接使引用的文件更易于查找和使用,但有时它会比那些宣传去年已经关闭的餐馆的路标还过分。find 命令可以帮助你摆脱损坏的符号链接,或者提醒你没有你可能仍然需要的文件。
centos7删除符号链接_如何在 Linux 上查找和删除损坏的符号链接 | Linux 中国相关推荐
- mac按文件名查找文件_如何在Mac上查找和删除大文件
mac按文件名查找文件 Freeing up disk space on a full hard drive can be difficult, especially when it's full o ...
- 如何在前端删除项目中的文件_如何在macOS上恢复已删除的文件
有时候不小心删除了我们不打算删除的MacBook上的文件.在MacBook上恢复永久删除的文件非常困难,但这并非不可能.在本文中,我们将指导您如何恢复MacBook上最近恢复的文件或永久删除的文件.从 ...
- linux 查找_如何在 Linux 上查找和删除损坏的符号链接 | Linux 中国
符号链接是指向另一个文件的 Linux 文件.如果删除了被引用的文件,符号链接会保留,但不会显示有问题,除非你尝试使用它.https://linux.cn/article-12298-1.html作者 ...
- mac 字体微软雅黑字体_如何在Mac上验证和删除字体
mac 字体微软雅黑字体 The humble font isn't as humble as you might think, especially on a Mac. Fonts are more ...
- 如何将网站前端如何添加登录密码访问_如何在Mac上查找保存的密码的所有信息...
Mac上所有已保存的密码均受到保护和保护.没有钥匙串,管理员密码或Touch ID,就无法访问它们.虽然"钥匙串访问"是在Mac上查找或查看保存的密码的一种方法,但是在Mac上使用 ...
- mac删除文件恢复_如何在Mac上恢复已删除的文件
mac删除文件恢复 Nearly everyone has accidentally deleted a file before. Whether it's family pictures or im ...
- dd-wrt 去广告_如何在DD-WRT上使用Pixelserv删除广告
dd-wrt 去广告 There are numerous ways to block advertisements in your browser, but what if you could bl ...
- java注释中添加删除线_如何在Word中添加和删除注释
java注释中添加删除线 Leaving comments in a Word document is a good way to leave feedback on a piece you're r ...
- centos 获取硬件序列号_如何在 Linux 上查找硬件规格
在 Linux 系统上有许多工具可用于查找硬件规格. -- Sk(作者) 在 Linux 系统上有许多工具可用于查找硬件规格.在这里,我列出了四种最常用的工具,可以获取 Linux 系统的几乎所有硬件 ...
最新文章
- 解决烦人的img与input不能水平对齐的问题
- unable to get repr for class ‘torch.tensor‘
- oracle中的查询语句(关于出库入库信息表,明细表,把捆包箱表,单位信息表的集中查询)...
- Java获取近七天的数据条数,及页面实现折线图(附前后端代码)
- 2021CVPR冠军图像分割算法全解密
- 小米主办HBaseCon亚洲峰会,打造世界一流的“工程师理想乐园”
- 安装TensorFlow中遇到的问题(汇总)
- 显示器最大分辨率测试软件,液晶显示器分辨率快速设置工具
- 使用非参数统计检验进行分析的指南
- 【问】存货盘点单中的数量在盘点报表和盘点差异处理中看不到
- 快速查询中通速递物流,查看未签收单号的最后站点
- jQuery之动画的淡入淡出效果
- VMware Workstation 三种网络连接配置详解
- (转) Occlusion Culling(遮挡剔除)
- iPhone7黔驴技穷,Moto Z另辟蹊径,谁才能引领行业创新?
- Arduino造轮子—FlashSRAM优化代码
- python爬取论文全文数据_Python爬取微信公众号历史文章进行数据分析
- ggridges包—峰峦图详细介绍
- 利用 tesseract 自动识别图片中的文字
- [cocos2d-x]捕鱼达人炮台射击角度的旋转实现
热门文章
- 月份对比_行业洞察 | 10月份行业概览amp;头部广告主盘点
- 接口测试实战总结,绝对值得收藏
- 计算机图形学是指使用计算机通过,【填空题】计算机图形学是指使用计算机通过()在显示设备上构造出图形来。...
- vue 如何调用微信分享_Vue开发 添加微信分享功能(全局分享)
- 最短路dijkstra算法详解_图论系列开始填坑--Dijkstra,单源最短路
- PAT甲级1004 (DFS,树的父子节点)
- 归一化函数mapminmax的讨论
- C# button 添加logo
- 基于python的音频播放器_基于python实现音乐播放器代码实例
- 关于QT中对窗口中某个widget建类