linux基础学习-9.6-文件删除原理

Posted xbwlinux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础学习-9.6-文件删除原理相关的知识,希望对你有一定的参考价值。

1、文件删除原理

rm 删除文件删除的只是文件名

2、控制文件删除:以下两个条件同时具备才生效

1、文件的硬链接数,有一个硬链接i_link +1 减少一个硬链接,i_link-1

2、是否有进程占用使用这个文件,有一个进程占用这个文件,i_count+1

当没有进程调用时i_count=0

当i_link=0并i_count=0时,文件被删除

3、文件删除,磁盘空间不释放的原因

1、hardlink

2、另一个进程还在使用这个文件

3、磁盘空余空间维护出现问题

ln 源 目标

[[email protected] application]# ll

total 4

-rw-r--r-- 1 root root 0 Mar 26 11:16 a

lrwxrwxrwx 1 root root 25 Mar 26 11:03 apache -> /application/apache2.2.17

drwxr-xr-x 2 root root 4096 Mar 23 23:41 apache2.2.17

[[email protected] application]# ln a b

[[email protected] application]# ll

total 4

-rw-r--r-- 2 root root 0 Mar 26 11:16 a

lrwxrwxrwx 1 root root 25 Mar 26 11:03 apache -> /application/apache2.2.17

drwxr-xr-x 2 root root 4096 Mar 23 23:41 apache2.2.17

-rw-r--r-- 2 root root 0 Mar 26 11:16 b

[[email protected] application]# ln b c

[[email protected] application]# ll

total 4

-rw-r--r-- 3 root root 0 Mar 26 11:16 a

lrwxrwxrwx 1 root root 25 Mar 26 11:03 apache -> /application/apache2.2.17

drwxr-xr-x 2 root root 4096 Mar 23 23:41 apache2.2.17

-rw-r--r-- 3 root root 0 Mar 26 11:16 b

-rw-r--r-- 3 root root 0 Mar 26 11:16 c

[[email protected] application]# ll -i

total 4

393238 -rw-r--r-- 3 root root 0 Mar 26 11:16 a

393237 lrwxrwxrwx 1 root root 25 Mar 26 11:03 apache -> /application/apache2.2.17

393236 drwxr-xr-x 2 root root 4096 Mar 23 23:41 apache2.2.17

393238 -rw-r--r-- 3 root root 0 Mar 26 11:16 b

393238 -rw-r--r-- 3 root root 0 Mar 26 11:16 c

4、磁盘空间满了但是与du -sh 的结果不符---没有被彻底删除排查过程

第一个里程碑-什么原因:

####已经删除了,但是空间没有释放

####已经删除了-----把文件的硬链接数量为0

####空间没有释放---还有人在使用---进程

第二个里程碑-排查方法:

# lsof |grep delete

rsyslogd 1250 root 1w REG 8,3 1888889326 274029 /var/log/messages (deleted)

#####硬链接数为0了,但是还有一个rsyslog软件正在使用

###这个文件没有被彻底删除

第三个里程碑-解决方法

##重启对应的软件/服务即可

# /etc/init.d/rsyslog restart

Shutting down system logger: [ OK ]

Starting system logger: [ OK ]

第四个里程碑-检查结果

# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 8.8G 1.6G 6.8G 19% /

tmpfs 931M 0 931M 0% /dev/shm

/dev/sda1 190M 40M 141M 22% /boot

/dev/sdc 73K 14K 55K 21% /app/logs

第五个里程碑-总结

1.尽量清空日志文件不要删除

2.切割日志,删除旧的文件(几天以前的)

5、文件删除原理,进程调用文件,但是文件硬链接数为0,文件没有被释放 ,磁盘满故障

http://oldboy.blog.51cto.com/2561410/612351

技术分享图片技术分享图片

练习题:

1、文件删除的原理

2、磁盘空间满了但是与du -sh 的结果不符---没有被彻底删除排查过程

以上是关于linux基础学习-9.6-文件删除原理的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础命令学习

linux基础学习

Linux高级命令04:查找文件命令★ Python Web篇学习汇总:Part 01—Linux基础命令绝对路径和相对路径 / 创建删除复制移动文件及目录命令

Linux高级命令03:文本搜索命令★ Python Web篇学习汇总:Part 01—Linux基础命令绝对路径和相对路径 / 创建删除复制移动文件及目录命令

Linux系统编程:基础IO 上简单复习C语言文件接口 | 学习系统文件接口 | 认识文件描述符 | Linux下,一切皆文件 | 重定向原理

Linux系统编程:基础IO 上简单复习C语言文件接口 | 学习系统文件接口 | 认识文件描述符 | Linux下,一切皆文件 | 重定向原理