linux下软链接和硬链接的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下软链接和硬链接的区别相关的知识,希望对你有一定的参考价值。
2) 1) 如何创建:
a)默认不带参数情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接。
2) 含义:
a)硬链接文件与源文件的inode节点号相同,而软链接文件相当于windows下面的快捷方式(inode节点号与源文件不同)
3) 特点:
a)不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到
b)软链接可以跨文件系统,硬链接不可以跨文件系统。
4) 怎么没的(源文件,软链接,硬链接与删除)
a)除软链接文件,对源文件及硬链接文件无任何影响;
b)除文件的硬链接文件,对源文件及软链接文件无任何影响;
c)除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);
d)时删除源文件及其硬链接文件,整个文件才会被"真正"的删除。
文件删除原理
1)删除这个文件所有相关的硬链接-rm---删除厕所所有的入口
2)这个文件的进程调用数也为0 ------没有人在使用厕所
1.硬链接数量为0
2.进程调用数为0
某个文件没有被彻底删除,导致的磁盘空间满了。
模拟思路
向/var/log/secure 追加8亿行
seq 800000000
[[email protected] oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 8.8G 0 100% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
正常的排错过程。
[[email protected] oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 8.8G 0 100% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[[email protected] oldboy]# du -sh /* | grep G
du: cannot access `/proc/2904/task/2904/fd/4‘: No such file or directory
du: cannot access `/proc/2904/task/2904/fdinfo/4‘: No such file or directory
du: cannot access `/proc/2904/fd/4‘: No such file or directory
du: cannot access `/proc/2904/fdinfo/4‘: No such file or directory
1.1G /usr
7.4G /var
[[email protected] oldboy]# du -sh /var/* | grep G
7.3G /var/log
[[email protected] oldboy]# du -sh /var/log/* |grep G
7.3G /var/log/secure
[[email protected] oldboy]#
m -f /var/log/secure
磁盘空间满了
[[email protected] oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 8.8G 0 100% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[[email protected] oldboy]# du -sh /* |grep G
du: cannot access `/proc/2914/task/2914/fd/4‘: No such file or directory
du: cannot access `/proc/2914/task/2914/fdinfo/4‘: No such file or directory
du: cannot access `/proc/2914/fd/4‘: No such file or directory
du: cannot access `/proc/2914/fdinfo/4‘: No such file or directory
1.1G /usr
系统中某个文件没有被彻底删除。
如何找出硬链接数量为0,进程调用数不为0
[[email protected] oldboy]# lsof |grep delete
rsyslogd 1250 root 2w REG 8,3 7803924480 130420 /var/log/secure (deleted)
软件名称 文件大小 文件名
(deleted)---标记 这个文件的硬链接数量为0,进程调用数不为0。
##重启对应的服务
[[email protected] oldboy]# /etc/init.d/rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
[[email protected] oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 1.6G 6.9G 19% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
磁盘空间不足-no space left on device 原因总结
1.block满了正常-500G 存放505G视频
2.inode满了,大量的小文件
3.block 硬链接数量为0 进程调用数不为零 文件没有被彻底删除磁盘空间不足
以上是关于linux下软链接和硬链接的区别的主要内容,如果未能解决你的问题,请参考以下文章