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 的结果不符---没有被彻底删除排查过程

原文地址:https://www.cnblogs.com/Klanti/p/9143224.html

时间: 2024-08-29 17:34:43

linux基础学习-9.6-文件删除原理的相关文章

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

Linux基础学习-crond系统计划任务

系统计划任务 大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了. 计划任务分为一次性计划任务和周期性计划任务. 一次性计划任务 每晚11店30分开启网站服务. 周期性计划任务 每周一的凌晨3点30分把/var/www/html目录打包备份为backup.tar.gz 顾名思义,一次性计划任务只执行一次,一般用于满足临时的工作需求,可以使用at命令实现. 如果你的Linux没有此命令可以使用yum inst

linux基础学习【5】

sshd服务,服务管理及文件传输 一.控制服务 1.什么是服务 2.用什么控制服务 系统初始化进程可以进行相应的控制 3.当前系统初始化进程是什么 systemd 系统初始化进程 pstree 显示系统中的进程树 进程树 4.系统控制命令 ssh(client)客户端---->sshd(server)服务器 命令:`systemctl` systemctl status sshd 查看sshd服务的状态inactive(不可用)/active(可用) systemctl start sshd 开

linux基础学习随笔【根本没有排序哈】

直接整:init 3 5 6 0;init 3代表切换到字符界面,5代表切换到图形界面:6表示重启,等同于reboot:0表示关机=poweroff:改主机名:hostnamectl set-hostname centos7.localdomain;[记不住,TAB键补全]查看操作系统linux版本:cat /etc/centos-release;或者通过安装lsb_release -a ;查看内核版本: uname -rlscpu 查看CPU使用情况:lsblk查看硬盘:free - h查看内

学习记录006-文件删除原理和相关知识点

文件删除原理有以下三点:1.文件系统回收inode,或被覆盖神仙也找不回2.所有硬链接都要删除(i_nlink等于0)3.服务进程不读取inode(i_ count等于0) linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,文件才能被删除,一般文件有两个link 一个i_count和一个i_nlinki_count的意义是当前文件使用者(或被调用)的数量,i_nlink 是磁盘的引用计数器当一个文件被某一个进程引用时,对应i_count数就会增加.当创建文件

linux基础学习【4】

系统进程 一.什么是进程 进程 : 一个正在运行中的程序 程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统会给予这个内存内的单元一个识别码 (PID). 二.查看进程 1.图形方式查看 命令:`gnome-system-monitor` 2.进程查看命令 命令:`ps` ps -A/-e 显示所有(包括不同终端不同用户)进程(PID,TTY,TIME,CMD) ps -a 当前环境中运行的进程,不包含环境信息(PID,TTY,TIME,CMD) ps -u (

Linux 程序设计学习笔记----POSIX 文件及目录管理

转载请注明:http://blog.csdn.net/suool/article/details/38141047 问题引入 文件流和文件描述符的区别 上节讲到ANSI C 库函数的实现在用户态,流的相应资源也在用户空间,但无论如何实现最终都需要通过内核实现对文件的读写控制.因此fopen函数必然调用了对OS的系统调用.这一调用在LINUX下即为open, close, read, write等函数.这些都遵循POSIX标准. so,在linux系统中是如何通过POSIX标准实现对文件的操作和目

ln命令总结,软链接&硬链接&文件删除原理画图详解

ln命令总结,软链接&硬链接&文件删除原理画图详解