Linux操作系统的文件链接
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
标题:Linux操作系统的文件链接
内容:文件链接
时间:2019年4月15日
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. 文件系统文件存储方式
例如:/dir1000/file100.txt
--------------------------------------------------------------------------
inode | block
--------------------------------------------------------------------------
100(dir1000) | file100.txt-->200以及访问权限等等信息
--------------------------------------------------------------------------
200(file001.txt) | file100.txt文件中的真正的内容
--------------------------------------------------------------------------
访问过程:
访问文件所在的目录,找到文件对应的inode节点号
再通过inode节点号,到文件系统中查看真正的文件内容
2. 符号链接(软链接)与硬链接
2.1 符号链接与软链接举例
[root@test ~]# mkdir /dir1000
[root@test ~]# mkdir /dir2000
[root@test ~]# mkdir /dir3000
[root@test ~]# touch /dir1000/file001
[root@test ~]# ln /dir1000/file001 /dir2000/file002
[root@test ~]# ln -s /dir1000/file001 /dir3000/file003 //符号链接
[root@test ~]# ll /dir1000/file001 /dir2000/file002 /dir3000/file003
-rw-r--r-- 2 root root 0 Apr 15 00:16 /dir1000/file001
-rw-r--r-- 2 root root 0 Apr 15 00:16 /dir2000/file002
lrwxrwxrwx 1 root root 16 Apr 15 00:17 /dir3000/file003 -> /dir1000/file001
2.2 符号链接与硬链接存储方式
符号链接:
--------------------------------------------------------------------------
inode | block
--------------------------------------------------------------------------
100(dir1000) | file001->200以及访问权限等等信息
--------------------------------------------------------------------------
200(file001) | file001文件中的真正的内容
--------------------------------------------------------------------------
300(dir3000) | file003->400
--------------------------------------------------------------------------
400(file003) | file003文件内容(/dir1000/file001)
--------------------------------------------------------------------------
符号链接访问过程:
访问软链接文件的所在的目录并获取软链接文件的inode
访问软链接文件并获取原文件所在的位置
访问软链接文件所指向原文件的父级目录,判断 是否具备访问权限,获取原文件的inode
访问软链接指向的原文件内容
硬链接:
--------------------------------------------------------------------------
inode | block
--------------------------------------------------------------------------
100(dir1000) | file001->200以及访问权限等等信息
--------------------------------------------------------------------------
200 | 文件中的真正的内容
--------------------------------------------------------------------------
300(dir3000) | file003->200
--------------------------------------------------------------------------
硬链接访问过程:
访问硬链接文件所在目录并获取文件的inode节点号,判断是否具备访问权限
根据获取的inode节点号读取文件的真正的内容
2.3 符号链接与硬链接的特性
符号链接:
符号链接的功能等价于Windows操作系统中的快捷方式。
符号链接可以支持文件和目录进行链接。
符号链接可以跨文件系统进行链接。
硬链接:
硬链接与原文件指向同一inode节点,不存在等级之分。
硬链接的功能等价复制但有区别与复制。
文件路径过长时便于文件等访问。
防止重要的文件误删除。
硬链接不能夸文件系统创建。
目录不能创建硬链接。
2.4 符号链接注意事项
文件或目录做符号链接时一定要注意使用绝对路径,否则可能导致找不到或找错文件。
[root@test ~]# mkdir /dir4000
[root@test ~]# mkdir /dir5000
[root@test ~]# mkdir /dir6000
[root@test ~]# touch /dir4000/file004
[root@test ~]# echo 'file004' >/dir4000/file004
[root@test ~]# touch /dir5000/file004
[root@test ~]# echo '/dir5000/file004' >/dir5000/file004
[root@test ~]# cd /dir4000/
[root@test dir4000]# ln -s file004 /dir5000/file004_link
[root@test dir4000]# ln -s file004 /dir6000/file004_link
[root@test dir4000]# cd
[root@test ~]# cat /dir4000/file004
file004
[root@test ~]# cat /dir5000/file004_link
/dir5000/file004
[root@test ~]# cat /dir6000/file004_link
cat: /dir6000/file004_link: No such file or directory
目录做符号链接时删除时不要加最后的斜杠,否则删除的将时目录下的内容。
[root@test ~]# mkdir /dir100
[root@test ~]# mkdir /dir200
[root@test ~]# touch /dir100/file100
[root@test ~]# touch /dir200/file200
[root@test ~]# ln -s /dir100/ /dir300
[root@test ~]# ln -s /dir200/ /dir400
[root@test ~]# rm -rf /dir300/ //删除的是目录下的内容
[root@test ~]# ll /dir100/
total 0
[root@test ~]# ll -d /dir300
lrwxrwxrwx 2 root root 4096 Apr 15 00:53 /dir100/ -> /dir300/
[root@test ~]# rm -rf /dir400 //删除的链接文件
[root@test ~]# ll /dir200/
-rw-r--r-- 1 root root 0 Apr 15 00:53 file200
[root@test ~]# ll /dir400
ls: cannot access /dir400: No such file or directory
Linux操作系统的文件链接的更多相关文章
- Linux操作系统的文件查找工具locate和find命令常用参数介绍
Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具 locate命 ...
- Linux文件链接hard link与symbolic link
Linux中文件链接有两种方式,一种是hard link,又称为硬链接:另一种是symbolic link,又称为符号链接.要区分两者的不同要回顾Linux常用的ext2文件系统.这种文件系统使用in ...
- Linux链接库四(多个库文件链接顺序问题)
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func' 关于unde ...
- 转: linux文件链接(软链接和硬链接)
链接:一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法. Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic l ...
- Linux下的链接文件
整理自<鸟哥的Linux私房菜>,整理者:华科小涛http://www.cnblogs.com/hust-ghtao/ Linux中的链接文件分为两种:硬链接和软链接.软链接(symbol ...
- linux文件链接
我的github,欢迎关注,分享知识与技术 链接:一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法. Linux中包括两种链接:硬链接(HardLink)和软链接(Soft Link), ...
- NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理
Linux的文件种类与扩展名 一.文件种类:1.普通文件(regular file)第一个字符为[ - ]包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是因为内 ...
- linux文件管理之链接文件
文件链接 ====================================================================================软链接 或 符号链接硬 ...
- (转载)使用 udev 高效、动态地管理 Linux 设备文件
概述: Linux 用户常常会很难鉴别同一类型的设备名,比如 eth0, eth1, sda, sdb 等等.通过观察这些设备的内核设备名称,用户通常能知道这些是什么类型的设备,但是不知道哪一个设备是 ...
随机推荐
- 学python走过的坑 三 不能实现的浏览器缩放功能
公司一个项目,在启动web页面时,默认应该是打开项目页面,然后浏览器启动时总是打开一个广告页面,经理让写一个脚本,让电脑每次开机自启浏览器,且加载项目页面.浏览器自启和打开项目页面轻松搞定,这时问题来 ...
- springcloud之hystrix熔断器-Finchley.SR2版
本篇和大家分享的是springcloud-hystrix熔断器,其主要功能是对某模块调用失败做断路和降级,简单点就当某个模块程序出问题了并达到某阈值就限制后面请求,并降级的方式提供一个默认返回数据.最 ...
- 【反编译系列】二、反编译代码(jeb)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 一般情况下我们都是使用dex2jar + jd-gui的方式反编译代码,在实际使用过程中,有时候发现反编译出来的代码阅读效果不是很好 ...
- CollapsingToolbarLayoutDemo【可折叠式标题栏,顺便带有CardView卡片式布局】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 CollapsingToolBarLayout是一个作用于ToolBar基础之上的布局,它也是由Design Support库提供的 ...
- java~mac下的终端工具oh-my-zsh
mac操作系统类似于linux,很多命令都是兼容的,确实挺好用,对于java,docker,git等开发来说,终端命令行是非常必要的工具,这里我介绍一下item2+oh-my-zsh的安装与使用. 安 ...
- JavaScript夯实基础系列(一):词法作用域
作用域是一组规则,规定了引擎如何通过标识符名称来查询一个变量.作用域模型有两种:词法作用域和动态作用域.词法作用域是在编写时就已经确定的:通过阅读包含变量定义的数行源码就能知道变量的作用域.Jav ...
- SpringBoot + Spring Security 学习笔记(四)记住我功能实现
记住我功能的基本原理 当用户登录发起认证请求时,会通过UsernamePasswordAuthenticationFilter进行用户认证,认证成功之后,SpringSecurity 调用前期配置好的 ...
- electron开发客户端注意事项(兼开源个人知识管理工具“想学吗”)
窗口间通信的问题 electron窗口通信比nwjs要麻烦的多 electron分主进程和渲染进程,渲染进程又分主窗口的渲染进程和子窗口的渲染进程 主窗口的渲染进程给子窗口的渲染进程发消息 subWi ...
- 玩转Spring Cloud之熔断降级(Hystrix)与监控
本文内容导航目录: 前言:解释熔断降级一.搭建服务消费者项目,并集成 Hystrix环境 1.1.在POM XML中添加Hystrix依赖(spring-cloud-starter-netflix-h ...
- AngularJS 截取字符串
参考文章:https://blog.csdn.net/u010234516/article/details/54631525 //过滤器 app.filter('textLengthSet', fun ...