软链接与硬链接

软链接

相当于windows下的一个快捷方式,可以是文件也可以是文件夹

ln -s /mnt/mtd_app/ts ts
//就会在该目录下生成一个软链接

硬链接

linux下文件的存储是通过索引节点号来存储的,硬链接相当于为文件增加了一个索引节点号
相当于另一个访问文件的路径(感觉有点像指针)
因此只删除其中一个链接并不会删除文件,只有所有的索引节点号都删除后文件才会被真正的删除

注意:硬链接不允许给文件目录建立;只有超级用户才有建立硬链接权限

特点以及不同

  • 两种链接的方式都具有同步性,即源文件更改那么相应的链接也会更改(跟windows相同啊)
  • 两种方式都占用很少的磁盘空间,具体的方式自己还需要研究ibm的文档
  • 软链接情况下,源文件挪位置了,软链接就无法使用了;硬链接文件挪位置了也可以访问到文件(相当于重新生成了一份文件)

原理内容

参考ibm的学习资料

Linux的文件与目录


  • Unix是由进程和文件构成的
    在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等 I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式。换言之,UNIX 系统中除进程之外的一切皆是文件
  • Linux的目录结构
    Markdown
  • 设备当做文件
    Linux把设备当做文件进行处理

处理方法
输入设备信息所在目录: /proc/bus/input/devices
Markdown
打开设备的方法(暂时没看)
Markdown

Linux文件


  • Linux文件系统
    Markdown
    实现这些文件系统的基础就是Linux VFS(虚拟文件系统)

  • 由两个部分组成,用户数据元数据
    用户数据 文件真实的数据内容
    元数据 文件的属性:大小,所有者,使用权限,索引节点号等等信息

  • 抽象了文件系统的四个基本概念
    1.文件:实际的数据块
    2.目录项:包含文件名和指向的inode
    3.索引节点:包含文件信息以及数据块指针
    4.挂载点

  • 结构
    Markdown
    Markdown

利用文件名找到索引节点号.——->存放在目录项中
利用索引节点号可以查询到文件的信息 和 文件数据块的指针.——->存放在索引节点表中
(具体什么结构,参照保存的资料)

硬链接与软链接实际结构

Markdown

硬链接是在目录项中添加一个指向inode的文件名
软链接是普通的文件,只是内容存放的是文件名或者文件夹名

所以,才有了许多的不同
1.硬链接即使原本的文件名改变了,硬链接依旧可以访问到具体文件;软链接下,如果文件名改变,软链接就会失效
2.硬链接由于是存放的是文件的文件名,所以不能对目录生成硬链接;软链接存的可以是文件也可以是目录,所以都可以生成链接

相关的命令

文件命令

stat filename
Markdown

硬链接

ln oldfile newfile

软链接

ln -s oldfile newfile

其他命令

1.查看当前系统挂载的文件系统的类型
df -i –print-type
Markdown
2.tree命令
tree . -F -L 2

-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上”*”,”/”,”=”,”@”,”|”号。
相当于包含很多其他选项,也包含-l符号链接指向选项
-L 2 显示的层级
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
Markdown

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值