linux建立软连接和硬链接_硬链接和软链接的区别

(1) 2024-06-30 20:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
linux建立软连接和硬链接_硬链接和软链接的区别,希望能够帮助你!!!。

软链接

说明:软链接仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接。但是,当原始文件被删除后,链接文件也将失效。
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

建立软链接:ln -s 源文件或目录 目标文件或目录

示例:

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx 

linux下的软链接类似于windows下的快捷方式
-s 是 symbolic的意思

删除软链接:rm –rf 软链接名称

rm -rf b(请注意不要在后面加”/”,rm -rf 后面加“/”的话,会进行递归删除,非常危险!)
示例:

rm -rf /usr/bin/ngnix 
修改软链接:ln –snf 新的源文件或目录 目标文件或目录

将会修改原有的链接地址为新的地址,示例:
创建一个软链接:

ln –s /var/www/test /var/test 

修改指向的新路径:

ln –snf /var/www/test1 /var/test 
找到文件夹下所有建立的软链接:ls -alR | grep ^l

示例:

[root@CentOS6 home]# ls -alR | grep ^l lrwxrwxrwx. 1 root root 22 Mar 16 17:59 aes.h -> ../../crypto/aes/aes.h lrwxrwxrwx. 1 root root 24 Mar 16 17:59 asn1.h -> ../../crypto/asn1/asn1.h lrwxrwxrwx. 1 root root 28 Mar 16 17:59 asn1_mac.h -> ../../crypto/asn1/asn1_mac.h 以下省略 

硬链接

说明:可以将硬链接理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode和文件。所以,硬链接文件与原始文件其实是同一个文件,只不过是不同的名字而已。我们每添加一个硬链接,该文件的inode链接数就会增加1;而且只有当该文件的inode连接数为0时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件的inode的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建

建立硬链接:ln a b
[root@CentOS6 project]# echo "Hello world" > readme.txt [root@CentOS6 project]# ln readme.txt readit.txt #创建一个硬链接 [root@CentOS6 project]# cat readme.txt Hello world [root@CentOS6 project]# cat readit.txt Hello world [root@CentOS6 project]# ls -l readme.txt -rw-r--r--. 2 root root 12 Mar 16 23:41 readme.txt [root@CentOS6 project]# rm -rf readme.txt #删除原文件 [root@CentOS6 project]# cat readit.txt #删除原文件之后readit.txt依旧可以访问 Hello world [root@CentOS6 project]# ls -l readit.txt -rw-r--r--. 1 root root 12 Mar 16 23:41 readit.txt 

linux建立软连接和硬链接_硬链接和软链接的区别_https://bianchenghao6.com/blog__第1张

ln命令

ln 命令用于创建链接文件,格式为“ln [选项] 目标”,其可用的参数以及作用可以通过ln --help查看:

[root@CentOS6 home]# ln --help --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files -i, --interactive prompt whether to remove destinations -L, --logical make hard links to symbolic link references -n, --no-dereference treat destination that is a symlink to a directory as if it were a normal file -P, --physical make hard links directly to symbolic links -s, --symbolic make symbolic links instead of hard links -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file -v, --verbose print name of each linked file --help display this help and exit --version output version information and exit 

-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复