1、创建软链接

  具体用法是:ln  -s   [源文件]   [软链接文件]。

[root@localhost folder]# pwd
/tmp/folder
[root@localhost folder]# ll
total
drwxr-x--- root root Apr : files
[root@localhost folder]# ln -s /tmp/folder/files /tmp/folder/files_ln
[root@localhost folder]# ll
total
lrwxrwxrwx root root Apr : files_ln -> /tmp/folder/files
drwxr-x--- root root Apr : files

  -s 是代号(symbolic)的意思。这里有两点要注意:

    第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

    第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件。

  无论是软链接还是硬链接,文件都保持同步变化,都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。。

  【硬连接】

  硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

  【软连接】  

  另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

  【两种链接的区别】

  硬链接文件有两个限制:
    1)、不允许给目录创建硬链接。
    2)、只有在同一文件系统中的文件之间才能创建链接,而且只有超级用户才有建立硬链接权限。
  对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了原有的内容。其原因是因为对应的文件的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。文件才会被真正删除。
  注:保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index即I节点)。
  软链接没有硬链接以上的两个限制,因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。但是软链接的缺点在于:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

  【参数说明】

  -f : 链结时先将与 dist 同档名的档案删除
  -d : 允许系统管理者硬链结自己的目录
  -i : 在删除与 dist 同档名的档案时先进行询问
  -n : 在进行软连结时,将 dist 视为一般的档案
  -s : 进行软链结(symbolic link)
  -v : 在连结之前显示其档名
  -b : 将在链结时会被覆写或删除的档案进行备份
  -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
  -V METHOD : 指定备份的方式
  --help : 显示辅助说明
  --version : 显示版本

2、修改软链接

  ln –snf  [新的源文件或目录]   [软链接文件]

[root@localhost folder]# ll
total
lrwxrwxrwx root root Apr : files_ln -> /tmp/folder/files
drwxr-x--- root root Apr : files
[root@localhost folder]# ln -snf /tmp/folder /tmp/folder/files_ln
[root@localhost folder]# ll
total
drwxr-x--- root root Apr : files
lrwxrwxrwx root root Apr : files_ln -> /tmp/folder

3、删除软链接

  rm –rf   ./软链接名称

  rm -rf ./软链接名称/ (这样就会把软链接以及软链接指向下的内容删除)

[root@localhost folder]# ll
total
lrwxrwxrwx root root Apr : files_ln -> /tmp/folder/files
drwxr-x--- root root Apr : files
[root@localhost folder]# rm -rf ./files_ln
[root@localhost folder]# ll
total
drwxr-x--- root root Apr : files
[root@localhost folder]# ll
total
lrwxrwxrwx root root Apr : files_ln -> /tmp/folder/files
drwxr-x--- root root Apr : files
[root@localhost folder]# rm -rf ./files_ln/
[root@localhost folder]# ll
total

Linux软链接创建及删除的更多相关文章

  1. linux下创建和删除软、硬链接

    linux下创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制 ...

  2. Linux下创建和删除用户

    在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示 ...

  3. Linux下创建和删除软、硬链接 可临时处理空间不足

    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问. ...

  4. linux下创建与删除用户详细步骤 ***

    linux下用户的操作还是相对容易理解的,基本操作如下: 1.新增用户 只有root用户能创建新用户 #useradd user1 新建后将会在/home目录下生成一个与用户名相同的用户主目录.同时会 ...

  5. linux下创建,删除,移动文件命令

    创建文件:touch + filename 删除文件:rm + filename 复制文件:cp + filename + dirname 移动文件:mv + filename + dirname 注 ...

  6. Linux 如何创建或删除以横杠(-)开头的文件或目录

    小测试: [root@test test]# ls [root@test test]# touch -abc touch: invalid option -- 'b' Try `touch --hel ...

  7. 嵌入式Linux软链接使用技巧

    软链接概述 软链接是Linux下常用的一种共享文件方式.目录的方式,这种方式类似于Windows下的快捷方式.一般一个文件或者目录在不同的路径都需要的时候,可以通过创建软链接的方式来共享,这样只系统下 ...

  8. Linux软链接的创建,删除,修改

    Linux软链接,类似于windows系统的快捷键.譬如你将windows系统的D盘中某一个文件夹放在桌面上当做快捷键. 一.软链接创建 1.创建软链接 ln -s [目标目录] [软链接地址] [目 ...

  9. linux命令 - ln - 创建和删除软、硬链接

    linux命令 - ln - 创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件 ...

随机推荐

  1. 值得学习的C语言开源项目和库

    收集一些C/C++相关的源码,如有更高效的库,请提醒我 补充上去 C/C++相关交流Q群 1414577 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具. ...

  2. mysql自身报错、java、reids连接mysql数据库报错汇总

    1.Can't connect to local MySQL server through socket 'tmpmysql.sock' (2) 原因是mysql根本没有启动 2.Access den ...

  3. Arrange seat of a bench for people

    Given a bench with n seats and few people sitting, tell the seat number each time when a new person ...

  4. iOS-ShareSDK的使用(转)

    官方下载ShareSDK iOS:http://sharesdk.cn/ ShareSDK社会化分享 包含“社会化分享组件”“社会化登录组件”“第三方评论和赞”三大模块,并有详尽的数据统计后台,助力移 ...

  5. Windows下遍历所有GIT目录更新项目脚本

    将下面代码保存为.bat文件 @echo off set cdir=%~dp0 for /f "delims=" %%i in ('dir /ad/b/s "%cdir% ...

  6. 《剑指offer》Q13-18 (牛客10.13)

    目录 Q13 调整数组顺序使奇数位于偶数前 Q14 链表中倒数第k个结点 Q15 反转链表 Q16 合并两个有序链表 Q17 树的子结构 Q18 二叉树的镜像 Q13 调整数组顺序使奇数位于偶数前 输 ...

  7. Vue Cli3.0 使用jquery

    参考链接:https://blog.csdn.net/ai520587/article/details/84098601

  8. FTP服务器搭建基础工具:Serv-U 14.0.2使用教程

    安装教程   1.在本站下载好压缩包,将文件解压,双击运行“ServUSetup官方原版程序.exe”程序,弹出语言选择框,选择“中文(简体)”,点击“确定”开始安装   2.点击“下一步”进行安装  ...

  9. 《你必须知道的495个C语言问题》读书笔记之第1-2章:声明和初始化

    1. C标准中并没有精确定义数值类型的大小,但作了以下约束: (1) char类型可以存放小于等于127的值: (2) short int和int可以存放小于等于32767的值: (3) long i ...

  10. docker login Harbor时报错403 Forbidden

    背景 在本地搭建了harbor后,在进行了相关配置后,还是报错:Error response from daemon: login attempt to http://10.xx.xx.xx:8000 ...