加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux软链接的使用

发布时间:2022-11-24 12:41:16 所属栏目:Linux 来源:
导读:  更为细致的硬链接、软链接的介绍可参考:Linux中的硬链接和软链接

  另外,提供笔者对软连接的一个最简单的理解:就相当于Windows中的快捷方式文件,但是软连接不仅可以链接文件,还可以链接目录。

 
  更为细致的硬链接、软链接的介绍可参考:Linux中的硬链接和软链接
 
  另外,提供笔者对软连接的一个最简单的理解:就相当于Windows中的快捷方式文件,但是软连接不仅可以链接文件,还可以链接目录。
 
  并且给出一个应用场景示例:我们在训练深度学习模型时,通常数据集会单独放在一个目录下,我们某个模型的训练脚本则在工程目录内,这时我们就要给出很长一串路径写在我们的文件内,如:
 
  train_dataset = datasets.ImageFolder(
      '/ssd1t/song/Datasets/ImageNet/ImageNet_2012_DataSets/ILSVRC2012_img_train',
      transforms.Compose(augmentation))
  但实际上,我们可以通过软连接,将其链接到我们的工程目录下,并且这样并不会占据额外的空间:
 
  ln -s /ssd1t/song/Datasets/ImageNet/ImageNet_2012_DataSets/ILSVRC2012_img_train imagenet_trainset
  这样,在我们的训练脚本内指定路径时就可以直接指向imagenet的软连接imagenet_trainset
 
  train_dataset = datasets.ImageFolder(
      'imagenet_trainset',
      transforms.Compose(augmentation))
  另外要注意,如果想要生成目录(而非文件)的软连接,必须用绝对路径。
 
  以下是转载原文:
 
  简介
 
  软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。
 
  具体用法是:ln -s 源文件 目标文件。
 
  当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件linux软链接,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。
 
  例如:
 
  ln -s /usr/local/mysql/bin/mysql /usr/bin
  这样我们就对/usr/bin目录下的mysql命令创建了软连接
 
  软链接和硬连接 硬连接
 
  硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
 
  软连接
 
  另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
 
  使用方式 创建软链接
 
  ln -s [源文件或目录] [目标文件或目录]
 
  例:
 
  当前路径创建test 引向/var/www/test 文件夹 :
 
  ln –s  /var/www/test  test
  创建/var/test 引向/var/www/test 文件夹
 
  ln –s /var/www/test  /var/test
  删除软链接
 
  和删除普通的文件是一样的,删除都是使用rm来进行操作
 
  例:
 
  删除test
 
  rm –rf test
  修改软链接
 
  ln –snf [新的源文件或目录] [目标文件或目录]
 
  这将会修改原有的链接地址为新的地址
 
  例:
 
  创建一个软链接
 
  ln –s  /var/www/test   /var/test
  修改指向的新路径
 
  ln –snf  /var/www/test1   /var/test
  常用参数:
 
    -f : 链结时先将与 dist 同档名的档案删除
    -d : 允许系统管理者硬链结自己的目录
    -i : 在删除与 dist 同档名的档案时先进行询问
    -n : 在进行软连结时,将 dist 视为一般的档案
    -s : 进行软链结(symbolic link)
    -v : 在连结之前显示其档名
    -b : 将在链结时会被覆写或删除的档案进行备份
    -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
    -V METHOD : 指定备份的方式
    --help : 显示辅助说明
    --version : 显示版本
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!