软链接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。
具体用法是: ln -s 源文件 目标文件
当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。
例如:
这样我们就对/usr/bin目录下的mysql命令创建了软连接 。
创建软连接
ln -s [源文件或目录] [目标文件或目录]
例如:当前路径创建test引向/var/www/test 文件夹
创建/var/test 引向/var/www/test 文件夹
删除软连接
和删除普通的文件是一样的,删除都是使用 rm 来进行 *** 作
例:
删除test
修改软链接
ln –snf [新的源文件或目录] [目标文件或目录]
这将会修改原有的链接地址为新的地址
例如:
创建一个软链接
修改指向新的路径
常用参数:
-f : 链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将 dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v : 在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本
由 1 号inode 读取到连结档的内容仅有档名,根据档名链接到正确的目录去取得目标文件的inode ,最终就能够读取到正确的数据了。
创建软连接,从下图可以看出软连接的大小是11个字节,对比/etc/passwd和passwdlns可知他们不是同一个文件。
对指向文件的的软连接 :使用cp oldfilename newfilename ,是对软连接指向的文件进行复制,属性和大小都和指向文件相同。
如果只是想复制软连接可以使用:cp -d filename1 filename2
复制指向目录的软连接 :
使用cp -r dir1 dir2 可以看出对于指向目录的软连接的复制是对软连接复制的。
如果我就是相同过软连接复制目录下的全部文件,该如何呢?
使用rm删除文件结果如下,可以看到删除的是软连接文件。
使用rm删除软连接指向的源文件,赶紧将备份的passwd文件还原。
对于目录的删除是对软连接进行删除还是目标目录:
在目录后不加/是对软连接进行 *** 作:
在目录后加上/是对连接目录进行删除:下图可以看出/tmp/testdir的大小已经变成了6了,删除了目录里的全部文件。
对软连接改变权限会对源文件有什么样的影响 :不管是文件软连接还是目录软连接,对软连接进行修改权限,修改的是目标文件和目录的权限
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)