linux 系统中软连接的创建,修改,删除
【软连接】
软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。相当于window系统中的快捷方式
具体用法是:ln -s 源文件 目标文件 或者 ln -s 源目录 目标目录
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。
例如:ln -s /home/test1 /data/test1
这样我们就对/home/test1目录创建了软连接 ,在/data/test1中打开看到的就是/home/test1目录下的文件
使用方式
创建软链接
ln -s [源文件或目录] [目标文件或目录]
例:当前路径创建test 引向/var/www/test 文件夹
ln –s /var/www/test ./test (此处建议一定要写绝对路径,最好写到根目录,而且当前目录中药删除test)
例:创建/var/test 引向/var/www/test 文件夹
ln –s /var/www/test /var/test
修改软链接
这将会修改原有的链接地址为新的地址
ln –snf [新的源文件或目录] [目标文件或目录]
例如:
创建一个软链接
ln –s /var/www/test /var/test
修改指向的新路径
ln –snf /var/www/test1 /var/test
删除软链接
和删除普通的文件是一样的,删除都是使用rm来进行操作,
例:删除test
rm –rf test
正确的删除方式(删除软链接,但不删除实际数据)
rm -rf ./test
错误的删除方式
rm -rf ./test/ (这样就会把原来test下,源文件的内容也删除)
建议使用rm test 待显示删除确认提示的时候
页面出现 rm: remove symbolic link test yes等字样 说明你正在操作的是软连接,而不是目录。
一定要注意啊。乱用rm 还删除目录下的全部文件,还循环,后果很严重,要再三确认
ln常用参数:
-f : 链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将 dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v : 在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
linux 如何查看一个软连接实际指向的文件的位置
linux下查看软连接的信息使用命令“ls -L”最后一列就是原始地址(实际指向的文件的位置)。ln -s /home/basic/dl/ build/执行完成后,会在build路径下dl的目录, 使用ls -l查看会发现build下的dl-〉/home/basic/dl,进入build/dl下即可查看与访问相应的文件。
在Linux命令行界面输入命令:ls -al;
带有“-”符号的则为软连接,initrd.img为软连接的文件名,而-后面跟着的boot/initrd.img-3.13.0-32-geberic则为软连接文件的真实路径。
参考资料
LINUX ln命令硬连接软连接详细解释.360doc个人图书馆[引用时间2017-12-29]
Linux软连接的使用
软连接是linux中一个常用命令,它的功能是为某一个文件或目录在另外一个位置建立一个同步的链接。
ln -s [源文件/目录] [目标文件/目录]
例如:
ln -s /var/www/test /var/test
这样我们就对/var/www目录下的test目录创建了软连接
rm –rf
例如:
rm –rf test
删除test
ln –snf [新的源文件或目录] [目标文件或目录]
这将会修改原有的链接地址为新的地址
例如:
ln –snf /var/www/test1 /var/test
var目录下的test将重新指向/var/www目录下的test1
linux中什么命令可以判断硬链接和软链接
硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。
硬链接可由命令 link 或 ln 创建,如:
link oldfile newfile
ln oldfile newfile
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。
硬链接不能对目录进行创建,只可对文件创建。
软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。
软链接可对文件或目录创建。
ln -s old.file soft.link
ln -s old.dir soft.link.dir
加-s选项表示创建的是软链接。
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。
linux中的软连接的文件前缀
Linux中的软链接类似于windows中的快捷方式。
创建方式:ln -s oldfile newfile
例:文件软链接 (目录软链接也是一样的操作方式)
1、tmp 目录下创建一个 test.txt 文件
2、ln -s test.txt test,为 test.txt 文件创建一个名为 test 的软链接
3、ll 查看详情会发现有一个蓝色的 test -- test.txt (test 指向 test.txt)。同时文件类型是 l 开头,l 是指链接文件的意思。
linux如何查看一个文件是否存在软链接
需要准备的材料分别是:电脑、linux连接工具。
1、首先连接上linux主机,进入等待输入指令的linux命令行状态。
2、输入:file /usr/bin/vi,按回车。
3、此时可以查询出/usr/bin/vi文件存在软链接,为/usr/bin/vim文件。