Linux软链接硬链接的区别

 

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

1.命令格式:
 ln [参数][源文件或目录][目标文件或目录]

2.命令功能:
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
这里有两点要注意:
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接又分软链接和硬链接两种,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
ln指令用在链接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。

3.命令参数:
必要参数:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程

选择参数:
-S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”
-V “-V<备份方式>”或“--version-control=<备份方式>”
--help 显示帮助信息
--version 显示版本信息

4.使用实例:
实例1:给文件创建软链接
为了更仔细的讲解创建软链接的相对路径问题,我们先创建几个深层点的文件夹

..}/b{c..f}

大概的层级结构可以看下,app目录和etc目录都是在根目录之下的

假设我们给根目录下app/a1/bc做一个指向根目录下/magedu/ZD/2g/login.bat这个位置的软链接,那么软链接的就应该这样写

ln -s ../../../magedu/ZD/2g/login.bat /app/a1/bc/softlink1

好多同学会迷茫这个目标路径的相对路径如何写,这个指向文件或文件夹的相对路径要以软链接所在的文件夹为基点,相对这个文件如何给系统指明他走的路径即可。

这个例子里软链接所在目录为根目录下的app/a1/bc,那么这个bc文件夹就是基点文件夹,从这里向上一层返回到a1,语法就是../,再向上一层到app文件夹再来一个../,因为magedu在根目录下,所以还需要一层返回到根目录 那也就是三个../,根目录知道如何表达了,接下来就是顺序贴指向源文件的绝对路径地址了。多层目录建立会了,那么浅层目录就不用说了。

如何查看自己建立的链接有没有问题,就进入到软链接目录里ls查看,软链接名字的文件是否为浅蓝色。

linux 软连接和 硬链接的区别的更多相关文章

  1. linux中软连接和硬链接的区别

    linux中创建软连接和硬链接的方法: 软连接: ln -s oldfile slink 硬连接: ln oldfile hlink linux中创建软连接和硬链接的区别:        原理上,硬链 ...

  2. linux 软链接和硬链接的区别 和 inode 的理解

    软连接和硬连接的区别:1.创建的方式不同软:ln -s 源文件 连接名硬:ln 源文件 连接名 2.原理不同,和删除源文件对其的影响.硬连接的inode节点和源文件的inode节点一样.也就是同一个i ...

  3. 【linux命令】软连接和硬链接的区别(ln命令)

    Linux 文件系统把硬盘分为三个部分:超级块.inode 列表.数据区 inode 指示:该文件的数据存放在数据区的哪些块内.因为这个“映射”关系不能变更,因此,inode 相当于代表着文件本身.( ...

  4. Linux软连接与硬链接

    软链接 Linux中软链接就像是windows系统中的快捷方式 创建软链接格式:ln -s  源文件全路径 软连接全路径 操作演示: 硬链接 硬链接与软连接不同,它相当于源文件的镜像,源文件改变,硬链 ...

  5. linux软连接和硬链接(总结)

    参考博客: https://www.cnblogs.com/fengdejiyixx/p/10821820.html https://www.runoob.com/linux/linux-comm-l ...

  6. Linux学习笔记之详解linux软连接和硬链接

    0x00 链接文件 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [软连接] 另外一种连接称之为符 ...

  7. [转]Linux软连接和硬链接

    1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节 ...

  8. Linux软连接和硬链接(摘录)

    1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...

  9. 【linux】Linux软连接和硬链接

    1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索引 ...

随机推荐

  1. js实现OSS上传图片,STS临时授权访问OSS

    1. 引入aliyun-oss-sdk.min.js <script type="text/javascript" src="/static/js/common/a ...

  2. 洛谷——P2058 海港

    题目传送 由于于题目保证输入的ti是递增的,所以发现当我们统计完一艘船的答案后,这个答案多少会对下一艘船的答案有贡献.同时还发现如果对每个艘船都记录他的乘客在整个数据出现的所有国籍中相应出现的次数,在 ...

  3. 【java设计模式】-05建造者模式

    建造者模式 简述 建造者模式,是将一个复杂对象的创建和它的表示分离开来,这就使得同样的构建构成可以有不同的表示. 建造者模式是一步步构建一个复杂的对象,允许用户只需要指定复杂对象的类型和必要的内容就可 ...

  4. CentOs7:ssh远程登录错误WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED解决简单办法

    错误及解决办法如下图所示. 第一步:cd ~/.ssh 第二步:vi known_hosts 第三步:删除与访问ip相关条目 附参考链接: https://www.cnblogs.com/york-h ...

  5. centos-Hadoop集群 安装同步时间

    1.安装 yum search cache ntpdate xcall.sh "yum install -y ntpdate.x86_64" 2.同步 xcall.sh " ...

  6. 检查并解决CentOS 7 安装Tomcat是否成功

    参考网址 https://blog.csdn.net/Blue_Sky_rain/article/details/91348791

  7. Android View的加载流程

    什么是Activity? Activity是 用户操作的可视化界面:它为用户提供了一个放置视图和交互操作的窗口.采用setContentView的方法提供.因此,可以理解Activity.Window ...

  8. zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态

    zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...

  9. 发布机制-灰度发布-例子:Gmail Labs

    ylbtech-发布机制-灰度发布-例子:Gmail Labs Gmail Labs是一个新特性橱窗,用户可以自己选择一些未正式发布的新特性进行体验,不喜欢可以关闭,在这个过程中,吃了螃蟹,也当了Go ...

  10. 动态绑定v-model

    <template> <div class="pieAll" > <template v-for="(item, index) in tes ...