服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|

服务器之家 - 服务器系统 - Linux - 如何更新 Linux 的符号链接

如何更新 Linux 的符号链接

2021-11-15 22:25Linux中国 LCTT geekpi 译 Linux

UNIX 和 Linux 用户发现链接有很多用途,特别是符号链接。我喜欢使用符号链接的一种方式是管理各种 IT 设备的配置备份。

如何更新 Linux 的符号链接

UNIX 和 Linux 用户发现链接有很多用途,特别是符号链接。我喜欢使用符号链接的一种方式是管理各种 IT 设备的配置备份。

我有一个目录结构,用来存放我的文档、更新及网络上其他和计算机和设备有关的文件。设备可以包括路由器、接入点、NAS 服务器和笔记本电脑,通常有不同的品牌和版本。配置备份本身可能在目录树的深处,例如 /home/alan/Documents/network/device/NetgearRL5000/config。

为了简化备份过程,我在主目录中有一个名为 Configuration 的目录。我使用这个目录的符号链接来指向特定的设备目录:

  1. :~/Configuration/ $ ls -F1 
  2. Router@ 
  3. Accesspoint@ 
  4. NAS@ 

注意:ls 命令的 -F 选项在每个文件名上附加特殊字符以表示其类型。如上所示,@ 符号表示这些是链接。

创建一个链接

符号链接 Router 指向我的 Netgear RL5000 的 config 目录。创建它的命令是 ln -s:

  1. $ ln -s /home/alan/Documents/network/device/NetgearRL5000/config Router 

然后,用 ls -l 看一下并确认:

  1. :~/Configuration/ $ ls -l 
  2. Router -> /home/alan/Documents/network/device/NetgearRL5000/config 
  3. NAS -> /home/alan/Documents/network/device/NFSBox/config 
  4. ... 

这样做的好处是,当对这个设备进行维护时,我只需进入 ~/Configuration/Router。

如果我决定用一个新的型号替换这个路由器,使用符号链接的第二个好处就很明显了。我可能会把旧的路由器改成一个接入点。因此,它的目录并没有被删除。相反,我有一个新的目录,对应于新的路由器,也许是华硕 DF-3760。我创建这个目录并确认它的存在:

  1. $ mkdir -p ~/Documents/network/device/ASUSDF-3760/config 
  1. :~/Documents/network/device/ $ ls 
  2. NetgearRL5000 
  3. ASUSDF-3760 
  4. NFSBox 
  5. ... 

另一个例子是,如果你的办公室里有几个接入点。你可以使用符号链接在逻辑上代表每一个,用一个通用的名字,如 ap1,ap2,等等,或者你可以使用描述性的词语,如 ap_floor2,ap_floor3,等等。这样,当物理设备随时间变化时,你不必持续更新任何可能管理它们的进程,因为它们是在处理链接而不是实际的设备目录。

更新一个链接

由于我的主路由器已经改变,我想让路由器的符号链接指向它的目录。我可以使用 rm 和 ln 命令来删除和创建一个新的符号链接,但是有一种方法可以只用 ln 命令和几个选项就可以一步完成:

  1. ~/Configuration/ $ ln -vfns ~/Documents/network/device/ASUSDF-3760/config/ Router 
  2. 'Router' -> '/home/alan/Documents/network/device/ASUSDF-3760/config/' 
  3. :~/Configuration/ $ ls -l 
  4. Router -> /home/alan/Documents/network/device/ASUSDF-3760/config 
  5. NAS -> /home/alan/Documents/network/device/NFSBox/config 

根据手册页,这些选项如下:

  • -v、--verbose:打印每个链接文件的名称
  • -f、--force:删除目标文件(有必要,因为已经存在一个链接)
  • -n、--no-dereference:如果链接名是一个目录的符号链接,就把它当作一个正常的文件
  • -s、--symbolic:制作符号链接而不是硬链接

总结

链接是 UNIX 和 Linux 文件系统中最强大的功能之一。其他操作系统也曾试图模仿这种能力,但由于他们的文件系统缺乏基本的链接设计,这些系统从来没有工作得那么好,也没有那么可用。

上面的演示只是利用链接在生活生产环境中无缝浏览不断变化的目录结构的众多可能性中的一种。链接提供了一个永远不会长期静态的组织所需的灵活性。

原文地址:https://linux.cn/article-13981-1.html

延伸 · 阅读

精彩推荐
  • Linux使用 ncurses 在你的 Linux 屏幕上定位文本

    使用 ncurses 在你的 Linux 屏幕上定位文本

    使用 ncurses 在 Linux 屏幕上的特定位置放置文本,可以带来更友好的用户界面体验。...

    Linux中国4392021-09-06
  • LinuxLinux iptables的规则组成介绍

    Linux iptables的规则组成介绍

    这篇文章主要介绍了Linux iptables的规则组成介绍,本文拆分了一条常规iptables命令,并分别介绍每个部份的作用,需要的朋友可以参考下 ...

    服务器之家2042019-09-28
  • LinuxTeLOS Linux,基于 Debian 的全新 Linux 发行版

    TeLOS Linux,基于 Debian 的全新 Linux 发行版

    Linux 发行版的爱好者们又有全新的 Linux 可以体验了,日前一款名为 TeLOS 的 Linux 发行版正式诞生,它的愿景是希望在最新的 GNU/Linux 技术之上,为你提供一...

    开源中国8532021-03-16
  • Linuxlinux crontab定时命令

    linux crontab定时命令

    下面就介绍一下在我们开发过程中经常要用到的 crontab 命令,以及一些基本的定时任务文件的书写规则。 名称 : crontab 使用权限 : 所有使用者 使用方式 :...

    Linux之家2672020-04-11
  • LinuxFedora 21如何升级Fedora 22体验最新功能

    Fedora 21如何升级Fedora 22体验最新功能

    Fedora 22版本于今年5月发布,在这次的更新中加入了不少新功能,如果你还停留在Fedora 21,那么Fedora 21要如何升级到Fedora 22呢?下面为大家详细介绍下 ...

    脚本之家3902019-09-16
  • Linux如何培训Unix员工管理Linux环境?

    如何培训Unix员工管理Linux环境?

    用习惯Unix的员工再用Linux肯定很不习惯,如何培训Unix员工管理Linux环境?下面将从各个方面讲解把Unix迁移到Linux系统培训时遇困难的解决方案,需要的朋友...

    Linux教程网3872019-11-04
  • LinuxSUSE Linux Enterprise Server 设置防火墙开启ssh远程端口的方法

    SUSE Linux Enterprise Server 设置防火墙开启ssh远程端口的方法

    这篇文章主要介绍了在SUSE Linux Enterprise Server系统下设置防火墙开启ssh远程端口的方法,需要的朋友可以参考下 ...

    Linux教程网5932019-12-01
  • LinuxLinux系统下批量压缩图片尺寸大小的方法

    Linux系统下批量压缩图片尺寸大小的方法

    怎么将互联网上的图片压缩在windows上容易,有很多软件,但在linux上难道就没有办法了吗?在本文将为大家分享个强大的免费图片工具 ImageMagick,感兴趣的...

    Linux教程网5592019-11-27