linux下的连接文件——软连接和硬连接的区别

简介:

软连接可以理解为,源文件的快捷方式,软连接文件记录的是源文件的路径,占用空间非常小。当把源文件删除后,那么软连接文件也就变成一个坏文件了,不能使用了。


硬连接和源文件的inode信息是一模一样的,可以说硬链接文件只是复制了一份源文件的inode信息,在我们看来硬链接文件和源文件没有什么区别,删除任何一个文件对方都不受影响,唯一的是少了一份inode,硬链接只能在同一个分区下创建,而软连接不受限制。硬链接文件和源文件虽然看起来像是两个文件,但是只占用一个文件的磁盘空间。


软连接

 ln -s     源文件或目录    目标文件或目录

创建软连接最好加绝对路径

1
2
3
[ root@localhost ~] # ln -s /root/3.txt /tmp/21.txt  
[ root@localhost ~] # ls -l /tmp/21.txt  
lrwxrwxrwx. 1 root root 11 3月  20 06:14  /tmp/21 .txt ->  /root/3 .txt


目录软连接,目标目录不制定的话,会自动创建一个源目录同名的目录;

1
2
3
[root@localhost ~] # ln -s /root/aa /tmp/
[ root@localhost ~] # ls -l /tmp/aa 
lrwxrwxrwx. 1 root root 8 3月  20 06:19  /tmp/aa  ->  /root/aa


pwd -P    显示物理路径,真正的路径

pwd -L    显示逻辑路径,软连接的路径,默认pwd显示的是逻辑路径;

1
2
3
4
5
6
7
[root@localhost~] # cd /tmp/aa/
[root@localhost aa] # pwd
/tmp/aa
[root@localhost aa] # pwd -P
/root/aa 
[root@localhost aa] # pwd -L 
/tmp/aa


硬连接   

ln 源文件 目标文件     

ln 不加s 就是创建硬连接

1、硬连接不可以作用于目录。因为每个目录下面都会有一个.和..也就是说每个目录下面的子目录肯定会有它本身和它上一级目录,那么一旦设置了硬链接则会造成一种混乱,设置会导致死循环。硬链接的文件并不会占用空间大小,它只是复制了该文件的一份inode信息。


2、硬连接不可以跨分区链接。 因为inode的生成是在分区格式化划分好的。一个分区的inode是各不相同的。每个分区都有inode.有相同的inode会引起文件的混乱。


1
2
3
4
5
6
7
8
9
10
[ root@localhost ~] # ln yong yong1 ln: "yong": 不允许将硬链接指向目录
[ root@localhost ~] #  ln 3.txt 4.txt
[ root@localhost ~] # ls -l 3.txt 4.txt  
-rw-r--r--. 2 root root 0 3月  20 06:08 3.txt 
-rw-r--r--. 2 root root 0 3月  20 06:08 4.txt 
[ root@localhost ~] # ls -li 3.txt 4.txt  130736 
-rw-r--r--. 2 root root 0 3月  20 06:08 3.txt 130736 
-rw-r--r--. 2 root root 0 3月  20 06:08 4.txt 
[ root@localhost ~] #  ln 3.txt /boot/4.txt
ln : 创建硬链接 "/boot/4.txt"  =>  "3.txt" : 无效的跨设备连接

硬连接文件2个文件具有相同的inode值,可以随便删除其中的一个;






本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1622578,如需转载请自行联系原作者

目录
相关文章
|
4天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
29 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
Linux 文件存储 Windows
linux软连接详解!!!
本文介绍了Linux文件类型、文件属性、文件存储机制以及软链接和硬链接的概念。主要内容包括:Linux文件类型及其识别方法、文件属性的组成及查看方式、inode和block的作用、软链接和硬链接的区别及应用场景。通过具体示例,帮助读者理解Linux文件系统的运作原理。
158 2
linux软连接详解!!!
|
1月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
41 5
|
1月前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
48 6
|
1月前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
78 6
|
1月前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
61 4
|
1月前
|
缓存 监控 Linux
|
5月前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
安全 数据可视化 关系型数据库
何远程连接阿里云主机服务器(Linux系统)
何远程连接阿里云主机服务器(Linux系统)
2054 0
何远程连接阿里云主机服务器(Linux系统)
|
关系型数据库 MySQL Linux
用sqlyog远程连接LINUX系统的MYSQL出现错解决方法
无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
1760 0