位置: IT常识 - 正文

实例讲解Linux系统中硬链接与软链接的创建(linux系统的介绍)

编辑:rootadmin
硬链接与软链接的区别从根本上要从Inode节点说起,下面就以实例讲解Linux系统中硬链接与软链接的创建,来实际看看Linux中两种链接方式的不同... 16-06-07

推荐整理分享实例讲解Linux系统中硬链接与软链接的创建(linux系统的介绍),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux系列,linux系统讲解,linux系统总结,linux系统讲解,linux系列,细说linux,细说linux,linux系统讲解,内容如对您有帮助,希望把文章链接给更多的朋友!

首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。 链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。

一、硬链接 硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用:ln命令来建立硬链接。语法:

代码如下:ln [options] existingfile newfileln[options] existingfile-list directory

用法: 第一种:为”existingfile”创建硬链接,文件名为”newfile”。第二种:在”directory”目录中,为 ”existingfile-list”中包含的所有文件创建一个同名的硬链接。常用可选[options] –f 无论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。 下面举一些例子:

代码如下:$ ls –il实例讲解Linux系统中硬链接与软链接的创建(linux系统的介绍)

13058 -rwx------ 1 longcheng longcheng 48 8月 5 16:38 file113059 -rwx------ 1 longcheng longcheng 57 8月 5 16:40 file2

代码如下:$ ln file2 file2hard$ ls –il

13058 -rwx------ 1 longcheng longcheng 48 8月 5 16:38 file113059 -rwx------ 2 longcheng longcheng 57 8月 5 16:40 file213059 -rwx------ 2 longcheng longcheng 57 8月 5 16:40 file2hard注意在创建链接前,file1 显示的链接数目为1,创建链接后(1)file1和file1hard的链接数目都变为2;(2) file1和file1hard在inode号是一样的(3) file1和file1hard显示的文件大小也是一样。可见进行了ln命令的操作结果:file1和file1hard是同一个文件的两个名字,它们具 有同样的索引节点号和文件属性,建立文件file1的硬链接,就是为file1的文件索引节点在当前目录上建立一个新指针。链接数同时减一,只有将所有指向文件内容的指针,也即链接数减为0时,内核才会把文件内容从磁盘上删除。当前目录逻辑结构:(不好意思图没有显示出来)。 还可以在不同目录,但同一文件系统中建立文件的硬链接。设file1、file2在目录/home/longcheng/dir1中,下面的命令,在/home/longcheng中建立file2的硬链接。

代码如下:ln file2 /home/longcheng/file2hard

下面的程序,是将dir1目录中所有文件,在目录dir2中建立硬链接

代码如下:$mkdir dir2$ln /home/longcheng/dir1/* /home/longcheng/dir2

如果使用了 ln –f existingfile newfile,如果newfile已经存在,则无论原来newfile是什么文件,只用当前用户对它有写权限,newfile就成为exisitngfile的硬链接文件。 尽管硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一下不足之处:(1)不可以在不同文件系统的文件间建立链接(2)只有超级用户才可以为目录创建硬链接。虽然很多树上说root用户可以创建,但是笔者在学习过程中发现即使是root用户也不能创建,我的系统是Redhat,内核2.4、2.6都试过,在其他系统中不知道是不是可以。

二、软链接(符号链接) 软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。 建立软链接,只要在ln后面加上选项 –s,下面举个例子

代码如下:$ ls -il

13058 -rwx------ 1 longcheng longcheng 48 8月 5 16:38 file113059 -rwx------ 2 longcheng longcheng 57 8月 5 16:40 file213059 -rwx------ 2 longcheng longcheng 57 8月 5 16:40 file2hard

代码如下:$ln –s file1 file1soft$ls -il

13058 -rwx------ 1 longcheng longcheng 48 8月 5 16:38 file113059 -rwx------ 2 longcheng longcheng 57 8月 5 16:40 file213059 -rwx------ 2 longcheng longcheng 57 8月 5 16:40 file2hard13061 lrwxrwxrwx 1 longcheng longcheng 5 8月 5 16:58 file1soft->file1从上面链接后的结果可以看出来软链接与硬链接,区别不仅仅是在概念上,在实现上也是不同的。区别:硬链接原文件&链接文件公用一个inode号,说明他 们是同一个文件,而软链接原文件&链接文件拥有不同的inode号,表明他们是两个不同的文件;在文件属性上软链接明确写出了是链接文件,而硬链接没有写 出来,因为在本质上硬链接文件和原文件是完全平等关系;链接数目是不一样的,软链接的链接数目不会增加;文件大小是不一样的,硬链接文件显示的大小是跟原 文件是一样的,这用强调,因为是等同的嘛,而这里软链接显示的大小与原文件就不同了,file1大小是48B,而file1soft是5B,这里面的5实 际上就是“file1”的大小。 总之,建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链接文件找到真正要访问的文件。 在不同系统之间建立软链接、对目录建立链接,这里就不举例了,读者可以自己去尝试,我也是在不断实践中学习的。 当然软链接也有硬链接没有的缺点,因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到 了~~,而硬链接就没有这个缺陷,你想怎么移就怎么移(呵呵);还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。 补充一下:可以通过symlink来查看链接文件,可以用 man symlink来学习。

本文链接地址:https://www.jiuchutong.com/zhishi/277703.html 转载请保留说明!

上一篇:修改圈选选择框的颜色(如何修改选区边缘)

下一篇:下载适用于Android 的 Windows子系统时收到错误代码 0x800700B7怎么办?(androirc下载)

  • 广交会展务
  • 食堂买菜费用如何做会计
  • 工会经费每月必须60块钱
  • 季度现金流量表是三个月相加吗
  • 二手房交易税费最新规定
  • 国内旅客运输服务电子普通发票
  • 工程的管理费收入怎么算
  • 如何计算个别资金成本?
  • 商业银行税前收益率
  • 公司投标成功
  • 无形资产账面价值和可收回金额孰低摊销吗
  • 研发费用加计扣除留存备查资料
  • 出售无形资产是收入吗
  • 苗木增值税发票税率
  • 增值税普通发票怎么开
  • 批发行业增值税税负率是多少呢
  • 待认证进项税额借方余额表示什么
  • 上海中级会计报名入口
  • 应收账款分录借方负数转到预收账款的哪方
  • windows10 怎么样
  • 我国的社会保险费
  • 年底公司抵税
  • 出口退税怎么申报个税
  • 汇算清缴工资薪金支出包含社保费吗
  • xshell远程连接linux命令
  • frameworkservic.exe是什么进程 有什么作用 frameworkservic进程查询
  • 房地产企业集团内部间的担保费可以税前扣除嚒
  • PHP:Memcached::appendByKey()的用法_Memcached类
  • 出纳岗位的职责是什么
  • php 随机数
  • php教程视频
  • 详解九章算法
  • Yii2中hasOne、hasMany及多对多关联查询的用法详解
  • 编程前十名
  • 社保单位当月应缴月报查询
  • 业务招待费的报销额度是多少
  • 委托 研发费用
  • 年终奖是以工资形式发放吗
  • 研发支出的主要内容
  • 印花税计算公式
  • php获取参数值的三种方式
  • python中如何创建字典
  • 将织梦dedecms转换到wordpress
  • 筹资费用可以算成本吗
  • 固定资产是不是非货币性资产
  • 小微企业所得税税率多少
  • 小规模未开票收入填在哪里
  • 出差发生的招待费计入差旅费吗
  • 事业单位的财政拨款怎么做账
  • 红冲发票操作步骤
  • 纳税人仅能通过手动查找
  • 银行利息收入如何记账
  • 采购商品验收入库的会计分录怎么写
  • 公司租用私人汽车怎么操作
  • 质量策划什么意思
  • 生产型企业入库管理办法
  • 调整去年管理费用怎么做分录
  • 资产减值损失是借增贷减吗
  • SQL Server在AlwaysOn中使用内存表的“踩坑”记录
  • 远程连接局域网电脑
  • win10预览版21390
  • freebsd11.3安装教程
  • redhat linux6.5安装教程
  • win8系统win10有什么区别
  • windows7自带杀毒软件在哪里
  • Linux系统中的pycharm怎么打开
  • redhat本地yum配置的基本步骤
  • msng.exe是什么
  • win10控制面板中的应用显示不可用
  • 图片如何添加到word文档
  • 家庭普通版win7
  • Unity-Shader Sublime 自制shader提示插件
  • node.js实战
  • Android OnTouchEvent, onClick, onLongClick调用机制
  • 进程 python
  • window.open打开窗口设置背景色
  • js实现@功能
  • 简单介绍自己的名字由来
  • 溧水到南京南地铁大站快车时刻表
  • 互联网服务业有哪些行业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设