场景:在sts中执行自动部署时候maven提示No space left on device错误,后来经检查发现是磁盘空间满了,用下面的方法分析发现tomcat下面的logs目录占用了很大的空间,删除多余的日志问题解决!

1 Linux下查看文件和文件夹大小

当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。

du可以查看文件及文件夹的大小。

两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。

下面分别简要介绍

1.1 df命令

//可以用来查看分区的文件系统

df -T

df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:

df -h

参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。

上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。

接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。

1.2 du命令

ps:实战经验,两者配合使用

//查看系统中文件的使用情况

df -h

//查看当前目录下各个文件及目录占用空间大小

du -sh *

//方法一:切换到要删除的目录,删除目录下的所有文件

rm -f *

//方法二:删除logs文件夹下的所有文件,而不删除文件夹本身

rm -rf log/*

下面的删除方式暂未尝试。

ls *.log | xargs rm -f

du:查询文件或文件夹的磁盘使用空间

如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!

如下,注意使用“*”,可以得到文件的使用空间大小.

提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。

du -h --max-depth=1 /home

下面的命令与上面的命令有什么异同??

答:du -h --max-depth=1 /home仅列出home目录下面所有的一级目录文件大小;

du -h --max-depth=1 /home/* 列出home下面所有一级目录的一级目录文件大小。

du -h --max-depth=1 /home/*

1.3 查看linux文件目录的大小和文件夹包含的文件数

统计总数大小

du -sh xmldb/

du -sm * | sort -n //统计当前目录大小 并安大小 排序

du -sk * | sort -n

du -sk * | grep guojf //看一个人的大小

du -m | cut -d "/" -f 2 //看第二个/ 字符前的文字

查看此文件夹有多少文件 /*/*/* 有多少文件

du xmldb/

du xmldb/*/*/* |wc -l

40752

解释:

wc [-lmw]

参数说明:

-l :多少行

-m:多少字符

-w:多少字

1.4 Linux:ls以K、M、G为单位查看文件大小

ps:注意man命令的使用,按“q”键可以退出man查询。

#man ls……

-h, --human-readable

print sizes inhuman readable format (e.g., 1K 234M 2G)

……

# lscuss.war nohup.out

# ls -l

total 30372

-rw-r--r-- 1 root root 31051909 May 24 10:07cuss.war

-rw------- 1 root root 0 Mar 20 13:52nohup.out

# ls -lh

total 30M

-rw-r--r-- 1 root root 30M May 24 10:07cuss.war

-rw------- 1 root root 0 Mar 20 13:52nohup.out

# ll -h

total 30M

-rw-r--r-- 1 root root 30M May 24 10:07cuss.war

-rw------- 1 root root 0 Mar 20 13:52 nohup.out

2 删除系统日志等

2.1 规范

linux下删除指定文件之外的其他文件

一、Linux下删除文件和文件夹常用命令如下:

删除文件: rm file  www.2cto.com

删除文件夹: rm -rf dir

需要注意的是, rmdir 只能够删除 空文件夹。

二、删除指定文件(夹)之外的所有文件呢?

需要在当前文件夹中进行:

#删除keep文件之外的所有文件

rm -rf !(folder)

#删除folder1和folder2文件之外的所有文件

rm -rf !(folder1 | folder2)

当前文件夹中结合使用grep和xargs来处理文件名:

#删除keep文件之外的所有文件

ls | grep -v keep | xargs rm

说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从 标准输入获得参数 并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件。

好处:使用了grep来正则表达式来匹配文件名字,可以一次保留多个文件,从而进行更加准确的处理。

使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:

#删除当前test文件夹中keep文件之外的所有文件

find ./test/ | grep -v keep | xargs rm

说明,用grep而不用find -name选取名字,因为find选取名字时比较麻烦,对正则表达式支持不够,无法排除指定文件名。

直接使用find命令删除其他文件:

#删除keep以外的其他文件。

find ./ -name '[^k][^e][^e][^p]*' -exec rm -rf {} \;

#删除keep以外的其他文件。推荐!

find ./ -name '[^k][^e][^e][^p]*' | xargs rm -rf

说明:上面第二行的代码效率高些,原因在于删除多个文件时 -exec会启动多个进程来处理,而xargs会启动一个rm进程来处理。

3 实践

删除要慎重

3.1 保留删除

#删除生成 core,mbox等文件

find / -name core|xargs rm –rf

#删除日志

rm -rf /var/log/*

问题:日志文件中有很多文件,我想删除除debug.log 和sys.out 文件外的所有文件。

首先我要能够找到debug.log和sys.out这两个文件——

#建立查找规则

vitest.txt

^debug.log$

^sys.out$

尝试查找:

linux-hipe:/home/tws/server/basedata-server/logs # ls | grep -f test.txt

debug.log

sys.out

删除要保留文件外的其它文件:

ls | grep -vf test.txt |xargs rm#记得加v,保留要保留的文件,不要删错了

#删除,文件名中带有数字,超过30天的日志:

find -mtime +30 -name "*[0-9]*" -exec rm {} \;

debian 文件夹中文件大小_Linux下查看文件和文件夹大小 删除日志相关推荐

  1. debian 文件夹中文件大小_linux查看目录(文件夹)内容大小

    习惯Terminal没有不知道ls命令的(等同于DOS的dir),经常只是需要查看目录的内容大小,但ls -h显示的只是目录的本身大小,而且很多项内容 ls 在这方面的两个诟病出现了: 小诟1. 显示 ...

  2. 拷贝归档到achivelog目录下_Linux下查看压缩文件内容的 10 种方法

    通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦.今天给大家介绍 10 不同方法,能够让你轻松地在未解压缩的情况下查看归档或压缩文件的内容. 从技术上讲,查看归档或压缩文 ...

  3. IOl:从文件夹中找到后缀名为TXT的文件,然后复制到指定的文件夹

    /*** 从文件夹中找到后缀名为TXT的文件,然后复制到指定的文件夹* @param args* @throws IOException*/public static void main(String ...

  4. linux查询当前目录剩余空间,如何在linux下查看目录的剩余空间大小

    df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Siz ...

  5. 查看linux显示文件大小,Linux下查看占用最大的文件和文件夹大小

    不知道大家有没有遇到过这种情况,就是经常会出现linux文件磁盘空间不足导致的网站打不开,面板登录不上的情况,小魏今天就遇到了,空间占用爆满,小魏进行清理占用最大文件,网站恢复,那么这个时候我们就会想 ...

  6. debian 文件夹中文件大小_debian 记录用到的命令 文件夹 目录等操作

    apt-get update && apt-get -f upgrade apt-get install php5-imagick extension=imagick.so apt-g ...

  7. linux各目录的文件大小,Linux下查看文件大小和目录大小以及目录下文件的大小...

    在linux中经常会查看文件大小,通常用的命令du: 该命令详细解释如下: [www@server101 logs]$ du --help 用法:du [选项]... [文件]... 或:du [选项 ...

  8. (转)Linux 下 查看以及修改文件权限

    场景:Linux环境下远程部署项目,发现因为文件权限问题,不能执行远端的可执行文件.问题还没解决,待议... 1 查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就 ...

  9. python查看系统句柄数量_linux下查看系统进程占用的句柄数方法

    ---查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 ----查看当前进程打开了多少句柄数 # lsof -n|awk '{print $2}'|sort|uniq ...

最新文章

  1. Angular 服务器端渲染的学习笔记(一)
  2. cherry-pick的用法
  3. union intersect minus
  4. Oracle START WITH ... CONNECT BY PRIOR 带条件会有重复
  5. 【转】JAVA成长之路
  6. JSON-RPC是什么东西
  7. mysql handler socket_mysql-handlersocket
  8. Flutter-16进制透明颜色对照表
  9. 企业微信的裂变拉新——红包裂变
  10. 万兆网络传输速度测试_iperf测试万兆网卡tcp性能
  11. oracle 归档日志 重做日志,Oracle的重做日志和归档日志
  12. 讲道理,只要你是一个爱折腾的程序员,毕业找工作真的不需要再花钱培训!
  13. 华为网络实验--动态路由器+RIP路由协议配置及验证
  14. java的SSM框架的优点有哪些
  15. 模糊测试工具-peachFuzzer
  16. 12、python 海龟绘图 turtle
  17. TOA(tcp option adress)安装
  18. 基于STM32驱动SG90舵机
  19. 03、使用 Anaconda
  20. win11激活最简攻略,一分钟搞定(保姆级)

热门文章

  1. MTK6573电源管理(PM)小结
  2. Altium Designer09解决局域网冲突问题
  3. 一次 .NET Core 中玩锁的经历:ManualResetEventSlim, Semaphore 与 SemaphoreSlim
  4. JS(JavaScript)的初了解6(更新中···)
  5. Nginx 多站点配置
  6. 用nodejs搭建最简单、轻量化的http server
  7. 串行通信------字符串发送和十六进制发送
  8. 由文档那些事儿引发的思考 - 领导,您该反思了
  9. Mathematica笔记
  10. Cortex-M3基本知识点(手册)