linux软硬连接学习总结
创建连接实质上就是给系统中已经存在的文件指定另外一个可以访问它的名称,linux系统当中连接的创建有两种形式:硬链接(Hard Link),与符号链接(Symbloic Link)既软链接。
ln命令:
语法:ln [选项] 目标
参数 作用
-s 创建软链接(默认是硬链接)
-f 强制创建文件或者目录的连接
-i 覆盖前先询问
-v 显示创建连接的过程
硬链接:
将目录/app/linktest/file1 文件链接到目录/app/linktest/hardlink 文件,利用ls -l命令可以观察到文件连接数的变化。
[root@CentOS6 linktest]#ls -l
total 4
-rw-r--r--. 1 root root 8 Jul 22 15:35 file1
[root@CentOS6 ~]#ln /app/linktest/file1 /app/linktest/hardlink
[root@CentOS6 linktest]#ls -l
total 8
-rw-r--r--. 2 root root 8 Jul 22 15:35 file1
-rw-r--r--. 2 root root 8 Jul 22 15:35 hardlink
理解:
- 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
- 硬链接的本质就是给源文件添加一个关联数据,硬链接的建立并不意味着一个新文件的建立,所以建立硬链接并不占用系统的节点编号。
[root@CentOS6 linktest]#ls -i
262146 file1 262146 hardlink - 观察file1和hardlink文件可以看出来,两个文件的节点编号是相同,也就是说这两个文件实质上指向同一个文件数据,当修改其中一个文件的信息数据的同时互为硬链接的多个文件会发生相应的改变。
- 硬链接不能对目录建立,不能跨分区建立。
软链接:
在目录/app/linktest2目录下创建一个软链接文件softlink,使他指向目录/app/linktest下的file1文件。
[root@CentOS6 linktest2]#ln -s /app/linktest/file1 /app/linktest2/softlink
[root@CentOS6 linktest2]#ls -l
total 0
lrwxrwxrwx. 1 root root 19 Jul 22 16:34 softlink -> /app/linktest/file1
理解:
- 通过实验观察软链接文件的节点编号与源文件不同,软链接文件有自己的节点编号,所以软链接建立的同时意味着一个新文件的创建。
- 软链接这个文件的内容就是源文件的路径名。作用与windows系统中的快捷方式 相似。
- 软链接有自己的节点标号所以与硬链接不能作用于目录文件不同,软链接可以作用于目录文件,可以跨分区建立,也可以在不同的文件系统中建立。
- 软链接的内容是源文件的路径信息,所以如果删除源文件那么链接文件也会失去意义。然而删除软链接文件对于源文件是没有影响的。
linux软硬连接学习总结的更多相关文章
- Linux 软硬链接区别
一.“硬链接“和“软链接“ 链接的概念:链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件. 链接的作用:可以将链接简单地理解为 Windows 中常见的快捷方 ...
- 初始Linux软硬链接
转载 https://blog.csdn.net/libaineu2004/article/details/85918682 用实践让你明白"软链接"和"硬链接" ...
- Linux软硬连接
曾经对软硬连接一直搞不明白,关键是怕操作错误. 硬链接不能跨区实现连接,硬链接是对原始文件的镜像,同一个inode,软连接是快捷方式,inode保存的是快捷方式的.原始文件删除,导致软连接文件无效. ...
- linux 软硬链接
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...
- Linux 软硬链接的区别及目录权限对软硬链接的影响
目录权限的影响 首先,构建实验环境如下图: 有 A.B 两个目录,A 目录下建有 test 文件,且文件中的内容为 "Hello".B 目录下分别创建 test 文件的硬链接 te ...
- Linux 软硬链接详解
软链接 软链接: 类似于windows的快捷方式,—>文本文件,但是包含了真实文件的地址 源文件删除,则软连接也删除 软链接可以放在任何文 ...
- linux软硬链接
ln分为软链接和硬链接 1.软连接 -s ln -s /mnt/hgfs/SHARE hvshare2 相当于在当前目录下新建一个名为hvshare2的快捷方式指向/mnt/hgfs/SHARE路 ...
- Linux - 软硬链接,hard link and symbolic link
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
随机推荐
- gdb生成的core文件位置
gdb可以生成core文件,记录堆栈信息,core文件名字是下面这种格式 :core.9488,其中9488是PID 文件位置是当前目录
- [Adobe Analytics] Segments types
There are three types of Segmentation Hit-based Visit-based Visitor-based There are four segment con ...
- Effective C++ 条款17 以独立语句将newed对象置入智能指针
对于函数: int priority(); void processWidget(std::tr1:: shared_ptr<Widget> pw,int priority); 调用 ...
- Intel processor brand names-Xeon,Core,Pentium,Celeron----Celeron
http://en.wikipedia.org/wiki/Celeron Celeron From Wikipedia, the free encyclopedia Celeron Produ ...
- iOS多线程编程(四)------ GCD(Grand Central Dispatch)
一.简单介绍 是基于C语言开发的一套多线程开发机制.也是眼下苹果官方推荐的多线程开发方法.用起来也最简单.仅仅是它基于C语言开发,并不像NSOperation是面向对象的开发.而是全然面向过程的.假设 ...
- iOS多线程编程指南
iOS多线程编程指南(拓展篇)(1) 一.Cocoa 在Cocoa上面使用多线程的指南包括以下这些: (1)不可改变的对象一般是线程安全的.一旦你创建了它们,你可以把这些对象在线程间安全的传递.另一方 ...
- 初学c的一点体会
自学C语言的一些体会1 从最初什么都不知道变成知道一点,一转眼就过去了三个多月,最开始只是刚进大学,感觉太闲了不太好就决定学点什么,于是就到图书馆逛了一圈找找看有什么有趣的书可以看看,刚好就在书架上看 ...
- DataFactory 5.6注册码
一.DataFactory 5.6注册码 数据工厂5.6注册码如下,希望能帮助需求之人 AuthKey: 0-87093-23830-05141-17507 SiteMsg: FREELAND EVO ...
- xamarin.android listview绑定数据及点击事件
前言 listview是用来显示数据列表的一个控件,今天给大家带来如何使用cursor进行数据绑定以及点击事件. 导读 1.如何创建一个listview 2.如何使用cursor进行绑定数据 3.li ...
- JavaScript算法题(二) && 数组filter使用
1.Let's implement the reject() function... 例: var odds = reject([1, 2, 3, 4, 5, 6], function(num){ r ...