软硬链接



ln 命令:生成源文件的链接文件
ln -s 源文件 目标文件
只有文件才能创建硬链接。不能跨分区,可以将它俩看成同一个文件。
软链接:类似于windows中的快捷方式。
软连接,源文件一定要写绝对路径
soft link
需要使用绝对路径,否则不在一个目录会出错

hard link

ln [源文件] [目标文件] 链接命令
分硬链接和软链接(-s)
硬链接表示引用相同的文件(不能跨分区),删除源文件不影响链接文件使用
软链接类似windows快捷方式,有自己的i节点和数据块,数据块只保存源文件文件信息,删除源文件链接文件不能用
软链接源文件一定要写绝对路径(除非源文件和目标文件在同一目录下)
修改软链接和硬链接,源文件都会改变
软连接一定要添加绝对路径





删除原文件,软链接不可用
关于链接命令ln的联想
两者用于什么情况?
与C语言中的指针有什么不同?
软连接就像是windows的快捷方式
硬链接类似于复制到同一个文件到一个目录文件下面,他们指向的文件节点是一样
软连接就是 自己有一个文件列表节点值,比如I node值、时间 存放指,它指向分区里面的一块存储空间, 一块空间又指向列表,又去分区去查找到分区空间内容

ln -s
ln -s 源文件 复制文件名
ln 硬链接
ln -s 原文件绝对路径 复制文件位置 软连接
echo 具体内容 >> 文件名 在文件里文尾追加写入数据
touch 创建文件
【Linux】第三章 linux 链接命令
1、ln -s [原文件] [目标文件] (link)
1-1)功能描述:生成链接文件
1-2)选项 -s 创建软链接
1-3)硬链接特征
1-3-1)拥有相同的i节点和存储block块,可以看做是同一个文件。(在格式化时,第一将分区划分为等大小的block数据块,该数据块通常为4KB。第二建立分区表,并为每个文件建立一个相关数据。当用户搜索某个文件时,会先到分区表中查找文件所对应的block存储位置,接着到相应位置取出,并返回给用户。)硬链接与原文件拥有相同的i节点。因此,与原文件非常相似。当删除原文件或硬链接文件的任何一文件,不影响文件索引操作。可看做,同一个文件的不通进入点。它是同样的存储空间。
1-3-2)可通过i节点识别
1-3-3)不能跨分区建立
1-3-4)不能针对目录使用,只有文件才可以创建
1-3-5)ln ./source/abc ./target/bcd.hard 创建后,引用计数+1
1-3-6)ls -i ./source/abc ./target/bcd.hard 可使用ls -i 来查看文件i节点号
1-3-7)不建议创建硬链接文件
1-3-7-1)文件太过隐蔽,除了有i节点这样一个标识之外,很难区分它是不是硬链接
1-3-7-2)硬链接限制较多,不能跨分区,不能针对目录,使用当中容易出现错误使用方法
1-4)软链接特征
1-4-1)类似于Windows快捷方式
1-4-2)软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据。(拥有自己的分区表中索引数据,通过索引找到分区表中文件的目标索引数据,再通过目标索引数据,查找数据)
1-4-3)lrwxrwxrwx l软链接, 软链接文件权限都为rwxrwxrwx, 虽然权限显示为777,但实际权限需要看原文件权限。
1-4-4)修改任意文件,另一个都改变
1-4-5)删除原文件,软链接不能使用
1-4-6)创建软链接,原文件一定要写绝对路径。否则,软链接会到它所在的同一目录去找原文件。

MM

链接命令



重点:软链接必须用绝对路径
第三章、文件处理命令之链接命令
1、ln -s[原文件][目标文件](link)
1-1)功能描述:生成链接文件
1-2)选项∶-s创建软链接
1-3)·硬链接特征︰
1-3-1)拥有相同的i节点和存储block块,可以看做是同一个文件(在格式化时,第一格式化划分为等大小的block数据块
,该数据块通常为4KB。第二,建分区表,比如建一个文件叫sb,搜索文件时,通过索引表把对应的存储位置block块返回给用户,接着到相应位置取出,并返回给用户。)
硬链接与原文件拥有相同的i节点。因此,与原文件非常相似。当删除原文件或硬链接文件的任何一文件,不影响文件索引操作。可看做,同一个文件的不通进入点。它是同样的存储空间。
注:硬链接文件作编辑修改可同步内容到原文件中,当原文件改文件名时也可打开硬链接
原文件和硬链接文件的i节点相同.
1-3-2)可通过i节点识别
1-3-2)不能跨分区
1-3-3)不能针对目录使用
练习巩固:
ls 查看系统中的文件
ln /root/anaconda-ks.cfg/tmp/ana.hard #把root下的anaconda-ks.cfg文件链接到tmp目录下并改名为ana
ll/tmp#查看tmp目录下的文件
vi /root/anaconda-ks.cfg #打开root下的anaconda-ks.cfg文件
vi /tmp/ana.hard #打开ana.hard硬链接文件
mv anaconda-ks.cfg anaconda-ks-cfg-bak #改名 把 anaconda-ks.cfg改为anaconda-ks-cfg-bak
ls -i /root/ anaconda-ks.cfg.bak /tmp/ana.hard #查看anaconda-ks.cfg.bak原文件、ana.hard 硬链接文件的i节点
1-4)软链接特征:
1-4-1)类似Windows快捷方式
1-4-2)软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据
1-4-3)IrwxrwxrwxI软链接
软链接文件权限都为rwxrwxrwx
1-4-4)修改任意文件,另一个都改变
1-4-5)删除原文件,软链接不能使用
注:推荐使用软链接
软链接和原文件的关系:
找软链接(快捷方式)可找到软链接的I节点--即找到了原文件(软链接的I节点记录的是原文件I节点的存储位置及文件名)---到了原文件才能找到原始数据
注意:cat 命令是linux系统下一个文本打印的命令,用于输出一个文本的信息到控制台上,该命令的输入类似于使用word打开一个文档,但是该文档不能编辑。
vi 命令是linux系统下用于文本查看、编辑的命令,不仅仅可以查看,还可以编辑。
练习巩固:
[root@localhost ~]# ls #用于显示指定工作目录下之内容
ln -s /root/cangls /tmp/cangls.soft #创建cangls软链接
ln /root/ cangls /tmp/cangls.hard #创建cangls硬链接
ll #查看cangls原文件、软链接文件、硬链接文件的文件信息
ll -i #查看查看cangls原文件、软链接文件、硬链接文件的i节点以及文件信息
ll -i /tmp/ #查看tmp目录下所有文件的i节点以及文件信息
echo 1111 >> /root/cangls #在cangls文件输入1111
cat / tmp/ cangls.soft #查看cangls.soft文件
cat / tmp/ cangls.hard #查看cangls.hard文件
rm -rf / root/cangls #删除cangls文件
ll /tmp/ #列出tmp目录下所有文件的的信息
touch csb #创建文件
ln -s /root/csb /tmp/ #创建软链接链到tmp目录下文件

linux 链接命令
1、ln -s [原文件] [目标文件] (link)
1-1)功能描述:生成链接文件
1-2)选项 -s 创建软链接
1-3)硬链接特征
1-3-1)拥有相同的i节点和存储block块,可以看做是同一个文件。(在格式化时,第一将分区划分为等大小的block数据块,该数据块通常为4KB。第二建立分区表,并为每个文件建立一个相关数据。当用户搜索某个文件时,会先到分区表中查找文件所对应的block存储位置,接着到相应位置取出,并返回给用户。)硬链接与原文件拥有相同的i节点。因此,与原文件非常相似。当删除原文件或硬链接文件的任何一文件,不影响文件索引操作。可看做,同一个文件的不通进入点。它是同样的存储空间。
1-3-2)可通过i节点识别
1-3-3)不能跨分区建立
1-3-4)不能针对目录使用,只有文件才可以创建
1-3-5)ln ./source/abc ./target/bcd.hard 创建后,引用计数+1
1-3-6)ls -i ./source/abc ./target/bcd.hard 可使用ls -i 来查看文件i节点号
1-3-7)不建议创建硬链接文件
1-3-7-1)文件太过隐蔽,除了有i节点这样一个标识之外,很难区分它是不是硬链接
1-3-7-2)硬链接限制较多,不能跨分区,不能针对目录,使用当中容易出现错误使用方法
1-4)软链接特征
1-4-1)类似于Windows快捷方式
1-4-2)软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据。(拥有自己的分区表中索引数据,通过索引找到分区表中文件的目标索引数据,再通过目标索引数据,查找数据)
1-4-3)lrwxrwxrwx l软链接, 软链接文件权限都为rwxrwxrwx, 虽然权限显示为777,但实际权限需要看原文件权限。
1-4-4)修改任意文件,另一个都改变
1-4-5)删除原文件,软链接不能使用
1-4-6)创建软链接,原文件一定要写绝对路径。否则,软链接会到它所在的同一目录去找原文件。





创建软链接时必须写绝对路径,否则会报错(软链接会在当前目录下去找原文件)硬链接不会出现这样的问题
硬链接特征:是通过I节点识别的,都是一个i节点,一般不建议创建。不能跨分区,不能针对目录使用。
红框为创建硬链接,蓝色为调用次数,此时不管从哪个文件进入,都可修改内容,删掉原文件或改名,目标文件依旧可以使用。

软链接(lrwxrwxrwx):类似win的快捷方式,拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据。修改任意文件,另一个都改变。删除原文件,软链接不能使用。调用次数始终是1.
软链接,原文件一定要写绝对路径,否则会报错,除非是在同一目录下才不会报错。
ln -s 原文件 目标文件,-s 创建软链接。
想看一个文件的内容是什么,可以用cat,
cat 是文本输出,作用对象是一个文件;echo 是标准输出,相当于程序中的println;>>或者 >是重定向,将他们的输出内容 重新定向到一个文件
[root@localhost tmp]# echo 1111 >> /root/zhaozy/cs2 cat /tmp/cs2.hard
linux 链接命令
ln -s [原文件] [目标文件]
-s(soft):创建软链接
硬链接:(不建议使用硬链接)
1、拥有相同的i(inode)节点和存储block块,可看做同一个文件;
2、可通过i节点识别;
3、不能跨分区;
4、不能针对目录使用
软链接:(一定要用绝对路径)
类似于windows的快捷方式
软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据
lrwxrwxrwx l软链接 软链接的文件权限都为rwxrwxrwx
修改任意文件,另一个也会改变
删除原文件,软链接不能使用
软链接时一定要写绝对路径。

硬连接:



老师不推荐咱们去创建硬连接文件,因为除了有i节点这么一个标志以外,不能区分是不是硬连接;
硬连接的限制很多。
软连接:

软连接区别很多,告诉你这是一个软连接。(和win中的快捷方式完全一样)

一旦把原文件删除,则不能找到文件。


linux链接命令:ln,其中ln -s 原文件 目标文件 是软连接
ln 原文件 目标文件 是硬链接
硬链接 相当于一个文件的两个不同进入点,相当于一个教室两个门。不能针对目录,只能针对文件。完全可以看成一个文件,不能跨分区。可通过i节点识别。
不建议用硬链接,过于隐蔽,局限性强
ln -s 原文件 目标文件
软连接
类似windows的快捷方式
修改任意文件另一个都改变,原文件删掉,目标文件也没了
软链接特征
硬链接特征
连接命令 ln
软链接特征
硬链接特征
链接命令:ln
软链接特征
1、类似 Windows 快捷方式
2、软链接拥有自己的节点和 Block 块,但是数据块中只保存原文件的文件名和节点号,并没有实际的文件数据
3、lrwxrwxrwx 软链接
软链接文件权限都为 rwxrwxrwx
4、修改任意文件,另ー个都改变
5、删除原文件,软链接不能使用