Linux常用基本命令(软链接与硬链接 )
2023-09-11 14:19:51 时间
硬链接:相当于文件的多个入口,作用:备份文件,创建快照等
软链接:相当于windows的快捷方式
命令格式:
ln option 源文件 目标文件
-s: 创建软链接
1,创建硬链接:
ghostwu@dev:~/linux/cp$ ls ghostwu.txt ghostwu@dev:~/linux/cp$ ls -l total 4 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink ghostwu@dev:~/linux/cp$ ls -l total 8 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
硬链接与源文件的inode节点是相同的,因为指向的是同一个节点:
ghostwu@dev:~/linux/cp$ ls -ihl total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
都可以查看内容
ghostwu@dev:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
删除硬链接,不会影响源文件
ghostwu@dev:~/linux/cp$ rm ghostwu_hardlink ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu
恢复硬链接,跟删除之前的inode一样的
ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
删除源文件,不会影响硬链接
ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ rm ghostwu.txt ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
可以通过硬链接恢复源文件
ghostwu@dev:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
创建软链接
ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ ln -s ghostwu.txt ghostwu_softlink ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:01 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
软链接的i节点跟源文件不同,文件类型为l
ghostwu@dev:~/linux/cp$ cat ghostwu_softlink hello,my name is ghostwu ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:01 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
删除软链接,不会影响硬链接和源文件
ghostwu@dev:~/linux/cp$ rm ghostwu_softlink ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
删除源文件后,软链接不能查看内容,受到影响,硬链接不受影响
ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ rm ghostwu.txt ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt ghostwu@dev:~/linux/cp$ cat ghostwu_softlink cat: ghostwu_softlink: No such file or directory ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
通过硬链接恢复源文件,软链接又可以使用了
ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt ghostwu@dev:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ cat ghostwu_softlink hello,my name is ghostwu
不能为目录创建硬链接
ghostwu@dev:~/linux/cp$ ln /home/ghostwu/ ghostwu_home ln: /home/ghostwu/: hard link not allowed for directory
但是可以为目录创建软链接
ghostwu@dev:~/linux/cp$ ln -s /home/ghostwu/ ghostwu_home ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569550 lrwxrwxrwx 1 ghostwu ghostwu 14 5月 6 20:07 ghostwu_home -> /home/ghostwu/ 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
相关文章
- 【Linux】linux之如何清理磁盘空间
- 【Linux】在linux上java工具jps jstat jinfo等命令找不到怎么办
- 【Linux基础】linux updatedb命令
- 【Linux基础】linux下的stdin,stdout和stderr理解
- linux中高亮显示文本的工具 -- bat
- L77.linux命令每日一练 -- 第11章 Linux系统管理命令 -- vmstat和mpstat
- L74.linux命令每日一练 -- 第十章 Linux网络管理命令 -- nmap和tcpdump
- L66.linux命令每日一练 -- 第十章 Linux网络管理命令 -- arp和ip
- L59.linux命令每日一练 -- 第九章 Linux进程管理命令 -- killall和pkill
- L52.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- resize2fs和fsck
- L41.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- userdel和groupadd
- L40.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- useradd和usermod
- L3.linux命令每日一练 -- 第一章 Linux命令行简介
- L1.linux命令每日一练 -- 第一章 Linux命令行简介
- linux驱动由浅入深系列链接
- linux 创建连接命令 ln -s 软链接