ln命令

Linux ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
在Linux系统中存在两种链接文件方式:

  • 软连接
  • 硬链接

如果文件被删除,则软链接文件失去指向,变为不可用
如果文件被删除,由于硬链接文件直接指向内容,因此不受影响

创建硬链接

ln [源文件/目录] [目标软链接]

创建软连接

ln -s [源文件/目录] [目标软链接]
[root@asd test]# mkdir data-directory-test1
[root@asd test]# touch data-file-test2
[root@asd test]# ln -s data-directory-test1/ test1
[root@asd test]# ln -s data-file-test2 test2[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:24 data-directory-test1
-rw-r--r-- 1 root root    0 Nov 10 16:26 data-file-test2
lrwxrwxrwx 1 root root   21 Nov 10 16:27 test1 -> data-directory-test1/
lrwxrwxrwx 1 root root   15 Nov 10 16:28 test2 -> data-file-test2

删除软连接

删除软链接和删除文件/目录操作一样,使用rm命令。但是需要特别注意的是,如果只是删除软链接,不想误删除软链接目录真实文件数据,在rm目录时路径末尾一定不能带"/“。如果带了”/",会将链接到的路径下的文件全部删除。

[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:46 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-1 -> data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0
-rw-r--r-- 1 root root 0 Nov 10 16:47 file1
-rw-r--r-- 1 root root 0 Nov 10 16:47 file2#末尾不带"/"删除,删除软链接,不删除目录下数据
[root@node02 test]# rm -rf test1-1
[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:47 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0
-rw-r--r-- 1 root root 0 Nov 10 16:47 file1
-rw-r--r-- 1 root root 0 Nov 10 16:47 file2#末尾带"/"删除,删除目录下数据,但不删除软链接
[root@node02 test]# rm -rf test1-2/
[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:48 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0

修改软连接

ln -snf [新源文件/目录] [目标软链接]
[root@node02 test]# ll
total 8
drwxr-xr-x 2 root root 4096 Nov 10 16:48 data-directory-test1
drwxr-xr-x 2 root root 4096 Nov 10 16:51 data-directory-test2
lrwxrwxrwx 1 root root   20 Nov 10 16:51 test-link -> data-directory-test1[root@node02 test]# ln -snf data-directory-test2 test-link
[root@node02 test]# ll
total 8
drwxr-xr-x 2 root root 4096 Nov 10 16:52 data-directory-test1
drwxr-xr-x 2 root root 4096 Nov 10 16:52 data-directory-test2
lrwxrwxrwx 1 root root   20 Nov 10 16:52 test-link -> data-directory-test2

Linux命令之ln -s命令(软链接)相关推荐

  1. LINUX find、ln 常用命令总结

    LINUX 常用命令(一) 1.find    搜索文件 命令在本地文件系统中执行实时搜索,查找符合命令参数的文件.使用find命令的用户必须具有查看其内容的目录的读取和执行权限. Find   -- ...

  2. linux中的ln属性,linux 常用基础命令 ln 详细介绍

    命令介绍: ln是linux中又一个非常重要命令,ln是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我 ...

  3. Linux 命令之 ln -- 为文件创建链接

    文章目录 一.命令介绍 (一)符号链接的特点 (二)硬链接的特点 二.命令格式 三.常用选项 四.命令示例 (一)创建硬链接 (二)创建软链接 一.命令介绍 Linux 具有为一个文件起多个名字的功能 ...

  4. linux命令之ln 命令

    ln 是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在 每一个需要的目录下都放一个必须相同的文件,我们只 ...

  5. linux命令:ln

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...

  6. ln -s命令 linux_浅谈linux中ln命令,附带案例

    链接类型: 1.硬链接 通过索引节点来进行连接.在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index).多个文件名指向同一索引节点是 ...

  7. Linux ln -sfn命令

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件. 当我们需要在不同的目录,用到相同的 ...

  8. linux中ln -s 命令详解

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...

  9. linux命令 ln命令 ln -s命令

    linux命令 ln命令 ln -s命令 ln是linux中一个非常重要命令.它的功能是为某一个文件在另外一个位置建立一个同不的链接. 命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件 ...

最新文章

  1. html地图自动适合窗口,【整理】用html和javascript实现类似百度地图的画布
  2. 并发、并行、串行、同步、异步、阻塞、非阻塞
  3. php session already send by ……
  4. Win2008 r2 下修改mysql data目录的方法
  5. SAP ABAP 客户退出
  6. mysql 触发器_进阶msql触发器-指南
  7. Nuxt.js项目不识别import原因及解决方法
  8. Word2010-页眉中字数未满但自动换行
  9. opencms mysql_OpenCms for MySql安装图解
  10. JAVA面试要点008---HashMap、Hashtable、ConcurrentHashMap的原理与区别_ConcurrentHashMap原理
  11. Java JDK 动态代理(AOP)使用及实现原理分析
  12. mysql 存储过程 if !=_mysql 存储过程 if !=
  13. 技能分享:扩展名怎么修改?
  14. TypeScript学习-函数
  15. JZOJ 1266. 玉米田
  16. Discuz论坛升级攻略及踩坑处理
  17. c1TrueDBGrid在C#中的研究
  18. 交互设计:界面尺寸设计大全
  19. 可视化大屏设计_最高效的大屏展示不只是酷炫
  20. Flutter 自定义Widget——风车实现

热门文章

  1. 135编辑器html点击图片播放音乐,135微信编辑器怎样添加音乐 135编辑器添加音乐图文教程...
  2. qlv转php,如何将qlv文件转换成mp,qlv文件怎么免费转换为mp4格式
  3. 设计自制编程语言Monkey编译器:使用普拉特解析法解析复杂的算术表达式
  4. huawei路由器NAT配置
  5. 橡皮擦工具组、选择主体(ps尚硅谷学习)
  6. 快速web开发框架——learun framework
  7. Kubernetes(K8s)基本概念:Volume(存储卷)、Persistent Volume
  8. 【ESD专题】3.ESD防护器件(TVS管的原理和选型)
  9. uefi启动linux内核,uefi下如何启动linux?
  10. 错误模块名称: KERNELBASE.dll 问题记录