linux 创建连接命令 ln -s 软链接

这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,
具体用法是:ln -s 源文件 目标文件。
当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln -s /bin/less /usr/local/bin/less-s 是代号(symbolic)的意思。这 里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

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

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

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

2.通过实验加深理解
[oracle@Linux]vi test.log &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #创建一个测试文件f1</span><br><span style="font-size: 16px;">[oracle@Linux]vi test.log &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #创建一个测试文件f1</span><br><span style="font-size: 16px;">[oracle@Linux] vi test.log                         #创建一个测试文件f1
[oracle@Linux] ln test.log test1.log           #创建f1的一个硬连接文件test1.log
[oracle@Linux]ln -s test.log test2.log&nbsp; &nbsp; &nbsp; &nbsp;#创建f1的一个符号连接文件test2.log</span><br><span style="font-size: 16px;">[oracle@Linux]ln -s test.log test2.log&nbsp; &nbsp; &nbsp; &nbsp;#创建f1的一个符号连接文件test2.log</span><br><span style="font-size: 16px;">[oracle@Linux] ln -s test.log test2.log       #创建f1的一个符号连接文件test2.log
[oracle@Linux] ls -li                                 # -i参数显示文件的inode节点信息

两种链接的区别:

硬链接文件有两个限制
   1)、不允许给目录创建硬链接;
   2)、只有在同一文件系统中的文件之间才能创建链接,而且只有超级用户才有建立硬链接权限。
       对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。

这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。

那么我们就可以这样理解:硬连接指通过索引节点来进行的连接,其作用是允许一个文件拥有多个有效路径名,能够达到误删除的作用。

其原因是因为对应的文件的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它

的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。文件才会被真正删除。

注:保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index即I节点)。          

软链接没有硬链接以上的两个限制,因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。但是软链接的缺点在于:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

分类: linux
好文要顶 关注我 收藏该文

小 楼 一 夜 听 春 雨
关注 - 3
粉丝 - 498

+加关注

8
0

currentDiggType = 0;

« 上一篇:OVF? OVA? VMDK? – File Formats and Tools for Virtualization
» 下一篇:ubuntu修改IP地址和网关的方法

posted @ 2016-02-16 20:52 小 楼 一 夜 听 春 雨 阅读(214321) 评论(2) 编辑 收藏

评论列表
#1楼 2017-03-14 10:31 clearbug
看懂了一点点
支持(0)反对(0)

http://pic.cnblogs.com/face/746037/20150530123401.png

#2楼37196612017/6/21 15:56:01 2017-06-21 15:56 八神和麻
不够形象
支持(0)反对(0)

http://pic.cnblogs.com/face/789965/20150725024504.png

刷新评论刷新页面返回顶部
注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。
【推荐】超50万VC++源码: 大型组态工控、电力仿真CAD与GIS源码库!
【推荐】企业SaaS应用开发实战,快速构建企业运营/运维系统
【推荐】ActiveReports 报表控件,全面满足 .NET开发需求
最新IT新闻:
· 苹果股价本月12次创出新高:涨出一个耐克或IBM市值
· 视频网站13年:土豆、PPTV、酷6网、优酷们的生死书
· 腾讯开发了一个检查数学作业的小程序
· 贝索斯每年只从亚马逊领8万工资?美股年报该这么挖
· 深度解析 | 基于DAG的分布式任务调度平台:Maat
» 更多新闻…
最新知识库文章:

· 如何招到一个靠谱的程序员
· 一个故事看懂“区块链”
· 被踢出去的用户
· 成为一个有目标的学习者
· 历史转折中的“杭派工程师”

» 更多知识库文章…

fixPostBody(); setTimeout(function () { incrementViewCount(cb_entryId); }, 50); deliverAdT2(); deliverAdC1(); deliverAdC2(); loadNewsAndKb(); loadBlogSignature(); LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid); GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate, cb_postType); loadOptUnderPost(); GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);

linux 创建连接命令 ln -s 软链接相关推荐

  1. linux 创建连接命令 ln -s 软连接

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

  2. Linux创建连接命令 ln -s创建软连接

    当在不同目录使用相同文件时,可以使用ln命令链接,避免了重复占用磁盘空间. 例如:ln -s /bin/less /usr/local/bin/less需要注意:第一,ln命令会保持每一处链接文件的同 ...

  3. linux建立空文件的命令,linux创建文件命令

    linux系统下可以通过命令来创建新的文件.那么具体使用到哪个命令呢?下面由学习啦小编为大家整理了linux创建文件的相关命令,希望对大家有帮助! 一.linux创建文件命令 linux创建文件命令1 ...

  4. linux新建自定义命令,Linux 创建自定义命令

    Linux 创建自定义命令 Linux 可以创建自定义使用命令 这里我们采取使用"alias"命令.这里我们首先了解两个文件,通过这两个文件我们可以根据环境配置相应的自定义命令. ...

  5. Linux中创建组的命令,linux创建用户组命令

    Linux 系统是下可以通过命令创建用户,当然也可以创建用户组,下面由学习啦小编为大家整理了linux创建用户组命令的相关知识,希望对大家有帮助! linux下创建用户组命令--groupadd命令 ...

  6. linux建立用户帐号的命令,有关Linux创建用户命令的详细讨论

    Linux系统用户的创建不同于windows系统,这里陈述一下Linux创建用户的命令.包括创建用户,修改密码,修改信息,新建群组. Linux创建用户命令1:创建新用户 useradd命令(也可以使 ...

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

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

  8. Linux网络连接命令

    目录 1. hostname 2. ping 3. ifconfig 4. iwconfig 5. nslookup 6. traceroute 7. finger 8. telnet 9. etht ...

  9. linux中怎么创建管道文件,linux创建管道命令

    FIFO管道是一种文件类型,在Linux上创建FIFO非常容易.那么具体使用到哪个命令呢?下面由学习啦小编为大家整理了linux创建管道的相关方法,希望对大家有帮助! 一.FIFO管道说明 FIFO, ...

最新文章

  1. android手机内存这么大,专业解读:为什么安卓手机的内存越来越大?
  2. jenkins 手动执行_Jenkins(一)
  3. 哈希表(散列查找)(c/c++)
  4. 使用代码自动打开ABAP Editor
  5. Java Compiler disable()方法与示例
  6. 哈希表 - (代码、分析 )
  7. for循环延时_单片机的独立按键学习,实现60秒循环数字的启动暂停与清零
  8. 关于直播,所有的技术细节都在这里了(2)《转载》
  9. Maven入门基础-环境篇
  10. mysql5.7.18的安装与主从复制
  11. 图像有用区域(广搜)
  12. 界面开发的推荐色值, dip,px,pt,sp 的区别
  13. 关于图的题目不给数据范围的情况如何解决
  14. android利用数字证书对程序签名
  15. map转换成JSON的方法
  16. IDM chrome插件找不到
  17. 超级浏览器对跨境亚马逊防关联有用吗?
  18. 拼多多电商API接口详情
  19. oracle异步备份,网络存储导论第七章:异步数据复制容灾方式
  20. CSAPP实验二——bomb lab实验

热门文章

  1. php 查询mysql数据库 打印_php 查询mysql数据库 打印
  2. Python编程:从入门到实践——列表简介(第三章+课后答案)
  3. python freshman day2
  4. 博特电子-17届智能车无线充电组恒功率方案
  5. matlab ilu函数,不完全 LU 分解
  6. iOS与unity交互、opencv 草稿
  7. Kubernetes实战(二十)-kubernetes二进制文件方式部署集群(非安全)(下)
  8. 【强烈推荐】人工智能系列文章推送公告!!!
  9. ESD静电保护二极管指南
  10. Markdown编辑器推荐与语法教程--图片版