昨天收到zabbix警报邮件,有一个server的 /home 文件夹的使用达成90%以上.检查,发现MongoDB数据文件到这个文件夹.高.而这个MongoDB的数据如今又都不用了.于是就直接把它的数据文件删除了,也没做其它不论什么操作.但是今天zabbix上却显示/home的使用率达到了96%,上去一看,发现一个奇怪的现象 明明/home文件夹仅仅使用了12G  ,可是df -h却显示使用了64G ,还有52G 被谁使用了?一直差不出原因,磁盘立即就要被写满了.焦急啊! 后来在一个运维的群里…
linux下文件删除的原理精华讲解(考试题答案系列) 说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://oldboy.blog.51cto.com/2561410/791245 5.描述linux下文件删除的原理(记时3分钟)<?xml:namespace prefix="o"> ?xml:namespace> Linux文件删除原理:     Linux是通过link的数量来…
  导读: 一.用事实说话 二.关于LSOF命令的其它用法: 三.参考文档:   正文: lsof:Finding open files with lsof 作用:查看文件被哪些进程打开 一.用事实说话 [实验]Linux下文件删除.句柄与空间释放问题 窗口1:创建test文件,并用less命令打开它 [root@monitor monitor]# echo "zhengBin is Bkeep" >> test [root@monitor monitor]# ls –so…
Linux 磁盘空间总是报警,查到到大文件,删除之后,df看到磁盘空间并没有释放. 查找了下发现系统对rm进行了alias   ,因为Linux对删除操作没有回收站机制,对rm操作进行了自定义,对删除文件进行移动到/tmp 目录里面. 又对/temp删除 但是还是没有发现磁盘冲击释放 执行   lsof | grep deleted发现有大量刚刚删除文件的进程存在,kill掉进程(或者重启进程)   OK 参考资料 运维实战案例之文件已删除但空间不释放问题解析 1.错误现象 运维的监控系统发来通…
Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除.一般来说,每个文件都有2个link计数器:i_count 和 i_nlink. i_count的意义是当前文件使用者(或被调用)的数量,i_nlink 的意义是介质连接的数量(硬链接的数量):可以理解为i_count是内存引用计数器,i_nlink是磁盘的引用计数器. 当一个文件被某一个进程引用时,对应i_count数就会增加:当创建文件的硬链接的时候,对应i_nlink数就会增加. 对于…
Linux文件删除的原理: Linux是通过link的数量来控制文件的删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除,一般来说每个文件都有2个link计数器:i_count和i_nlink. i_count的意义是当前文件使用者(或被调用)的数量i_nlink的意义是介质连接的数量(硬连接的数量):可以理解为i_count是内存引用计数器,i_nlink是磁盘的引用计数器 当一个文件被某一个进程引用时,对应i_count数就会增加,当创建文件的硬连接的时候,对应i_nlink…
Linux文件删除原理: Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除. 一般来说,每个文件都有2个link计数器:i_count 和 i_nlink. i_count的意义是当前文件使用者(或被调用)的数量,i_nlink 的意义是介质连接的数量(硬链接的数量):可以理解为i_count是内存引用计数器,i_nlink是磁盘的引用计数器. 当一个文件被某一个进程引用时,对应i_count数就会增加:当创建文件的硬链接的时候,对应i_…
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用,这样就会导致我们明明删除了文件,但是磁盘空间却未被释放,怎么解决这些问题呢,步骤如下: 1. 首先获得一个已经被删除但是仍然被应用程序占用的文件列表,如下所示: [root@test]# lsof|grep deleted proftpd    3468     nobody    4r…
一.问题起源 在Linux系统中,通过rm删除文件将会从文件系统的目录结构上解除链接(unlink),如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件磁盘空间也一直被占用 这样就会导致我们明明删除了文件,但是磁盘空间却未被释放 二.问题分析 1.首先获得一个已经被删除但是仍然被应用程序占用的文件列表 root@instance-zo0fkfng:~# lsof|grep deleted init 1 root 10w REG 253,1 283 155958 /var/lo…
Linux下文件删除的原理 只要dongdaxiafile(源文件).服务进程.dongdaxiaflie_hard_link(硬链接文件)三个中的任意一个存在文件不会被删除.…
catalog . 引言 . Linux平台上涉及的File IO操作 . Windows平台上涉及的File IO操作 0. 引言 本文试图讨论在windows.linux操作系统上基于C库进行文件IO操作时,可能遇到的错误,及其解决方法,主机安全攻防产品除了需要将安全攻防上的领域知识固化到程序实现上之外,还极度依赖关联系统本身.编程语言库的特性,原则上,并不是所有的安全需求都能100%地落实到程序设计中,这需要我们对操作系统.编程语言本身具有较深的理解 Relevant Link: http…
在我的生活当中遇到磁盘快满了,这时候准备去删除一些大文件 于是我使用ncdu 查看了一下当前系统占用资源比较多的是那些文件,结果一看是elasticsearch的日志文件,好吧,竟然找到源头了,那就把它给删除了吧, 来到相应的路径下之后,然后粗暴一点,执行  rm   -rf   * 很高兴,终于把这些占用系统资源的坏东西给杀死了.满心欢喜的去查看磁盘情况. 给我当头一棒,磁盘并没有多大的变化,之后释放了100多M,但是我明明删除了30G的文件啊,这是怎么回事. 有问题不可怕,干净找baidu/…
问题说明:IDC里的一台服务器的/分区使用率爆满了!已达到100%!经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件.但是发现删除该文件后,/分区的磁盘空间压根没有释放出来,使用率还是100%!这是为什么呢?? [root@linux-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 58G 7.8G 47G 100% / tmpfs…
dup ,dup2,fcntl,ioctl系统调用 . dup ,dup2 函数 int dup(int oldfd) int dup(int oldfd , int newfd) dup用来复制参数oldfd的文件描述符duo2可以用newfd来指定新文件描述符的数值 2.fcntl函数对已经打开的文件描述符进行各种控制操作,以及改变已经打开文件的各种属性 3.ioctl函数控制设备,不能用其他函数进行控制操作都可以用ioctl来进行 3.文件属性的操作 1.  shell里可通过ls来获取文…
***了解Linux文件删除原理先了解一下文件inode索引节点,每个文件在Linux系统里都有唯一的索引节点(身份证号) inode.如果文件存在硬链接,那这个文件和这个文件的硬链接的inode是相同的,并且可以创建许多硬链接. 参照了解inode索引节点 博客    https://www.cnblogs.com/zoulongbin/p/10456285.html [root@oldboy test]# ls -li total 0 140028 -rw-r--r-- 1 root roo…
添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图: 这时候,你需要告知TortoiseSVN你的操作,如图: 加入以后,你的文件会变成这个状态,如图: 这时候使用TortoiseSVN进行提交.这样别人就能看到你所做的更改了,如图. 修改文件 使用TortoiseSVN更新,修改工作副本中的Readme.txt文件,加入"hello world!",然后保存,你会发现Readme.txt文件的图标改变了,如图: 这个红…
关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备不测(不测下面讨论),如果你正常退出,那么这个这个swp文件将会自动删除.下面说不测.不测分为:1当你用多个程序编辑同一个文件时. 2非常规退出时.第一种情况的话,为了避免同一个文件产生两个不同的版本(vim中的原话),还是建议选择readonly为好.第二种情况的话,你可以用vim -r filename恢复,然后再把swp文件删除(这个时候…
Linux 磁盘空间总是报警,查到到大文件,删除之后,df看到磁盘空间并没有释放. 查找了下发现系统对rm进行了alias   ,因为Linux对删除操作没有回收站机制,对rm操作进行了自定义,对删除文件进行移动到/tmp 目录里面. 又对/temp删除 但是还是没有发现磁盘冲击释放 执行   lsof | grep deleted发现有大量刚刚删除文件的进程存在,kill掉进程(或者重启进程)   OK 参考资料 运维实战案例之文件已删除但空间不释放问题解析 1.错误现象 运维的监控系统发来通…
一.重命名(更名) linux 给文件改名的命令是mv命令 mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中.该命令等同于DOS系统下的ren和move命令的组合.它的使用权限是所有用户. 格式mv [options] 源文件或目录 目标文件或目录.主要参数[options]-i:交互方式操作.如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件. -f:禁止交互操作.mv操作要覆盖某个已有的目标文件时不给任何指示,指定…
linux下文件的复制.移动与删除命令为:cp,mv,rm 一.文件复制命令cp     命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)               cp [option] source1 source2 source3 ...  directory     参数说明:     -a:是指archive的意思,也说是指复制所有的目录     -d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身    …
C++遍历目录,并把目录里超过7天的文件删除,适用于项目里删除过期的日志,或者视频文件. 在windows和linux下测试通过. windows测试结果: linux测试结果: 源码: #include <time.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "dirent.h" #include <sys/stat.h> #i…
cat [功能说明] 建立文件  #cat命令用来串接文件或显示文件内容的但是如果从标准输入设备中读入数据并将结果重定向到一个新的文件中,则可以到达建立新文件的目的.Cat命令只能在编辑新的文件时只能从键盘接收数据,不能灵活的对文件的内容编辑 因此灵活性远远不如专门的文本编辑工具,只能用来建立简单的文件 [语法格式] Cat[--heip][--version]>|>>[文件名] [选项参数] 参数 说明 --help 显示帮助信息并退出 --version 显示版本信息并退出 ln […
第1章 软硬链接 1.1 硬链接 1.1.1 含义 多个文件拥有相同的inode号码 硬链接即文件的多个入口 1.1.2 作用 防止你误删除文件 1.1.3 如何创建硬链接 ln 命令,前面是源文件 后面是创建的链接文件 [root@znix oldboy]# ln oldboyedu.txt oldboyedu.txt-hard 查看两文件的inode号相同. [root@znix oldboy]# ls -lhi oldboyedu.txt oldboyedu.txt-hard 151273…
文件删除的原理 linux的文件名是存在父目录的block里面的,并指向这个文件的inode节点,这个文件的inode节点在标记指向存放这个文件的block的数据块.我们删除文件,实际上不是清除inode节点和block的数据,只是在这个文件的父目录里面的block中,删除了这个文件的名字,从而使这个文件名消失,并且无法指向这个文件的inode节点,当没有文件指向这个文件inode节点的时候,会同时释放inode节点存放这个文件的数据块,并更新inode MAP 和block MAP 今后让这些…
Linux 的文件软链接如何删除创建软链接即用 ln -s 原始文件或文件夹 目标文件或文件夹 举例:[root@recover test]# pwd/test[root@recover test]# lltotal 0-rw-r--r-- 1 root root 0 Sep 20 14:25 1-rw-r--r-- 1 root root 0 Sep 20 14:25 2-rw-r--r-- 1 root root 0 Sep 20 14:25 3-rw-r--r-- 1 root root…
利用shell脚本自动清理,脚本如下 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /home/weblogic/rc-server-tomcat-8081/logs -mtime +30 -name "*.txt" -exec rm -rf {} \; 说明: 将/home/weblogic/rc-server-tomcat-8081/logs目录下所有30天前带&…
最近在进行系统压测,由于服务器节点太多,便写了个简单的脚本,在执行过程中发现,日志文件删除后,磁盘空间只释放了一小部分,任有大部分磁盘空间未释放. 使用lsof | grep delete命令,发现已经删除的文件仍然被应用程序占用. 解决方法: 1.杀掉进程kill -9 pid,重启应用服务 2.重启服务器 http://blog.51cto.com/ixdba/1435781…
背景介绍 最近看了linux系统编程(linux system programming)一书,结合深入理解linux内核(understanding the linux kernel)一书,深入理解了linux关闭文件还有删除文件的整个过程,并且本人第一次学着查看源码来仔细理解过程,这个过程中感觉自己也学习了很多,下次再要看源码的时候应该会轻松些(下次估计会学着用vim+ctags了),万事开头难呀,O(∩_∩)O~. 书上的内容加上一些自己的理解 关闭文件 当程序完成对某个文件的操作之后,可以…
Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法 经常在ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪. 其实原因很简单,是因为他没有32位的运行库 ia32-libs 会出这种八杆子打不着的奇怪提示. 直接安装即可. apt-get install ia32-libs…
linux下怎么删除名称带空格的文件-rm 'mysql bin.000005' 用引号把文件名括起来 某些情况下会出现名称带空格的文件, 如果想要删除的话,直接用rm mysql bin.000003 这样是很危险的,系统会认为你要删除mysql和bin.000005两个文件,这样很容易造成误删文件,幸亏我没加-rf,要不然可悔死了 可以把带空格的文件名用引号引起来 rm 'mysql bin.000005' 这样系统就知道你要删除的这个带空格的是文件名,否则空格是被当作分隔符处理的…