Karp 的技术博客

昨天查看内网服务器磁盘空间发现 98%

df -h 磁盘马上就要被占满了!!

批量删除大于1G的日志文件及目录

cd /data/logs
 
du -ah * | grep '[0-9\.]G' | sort -nk 1 | xargs rm -rf

上面的命令 是同事写的, linux 命令基础真心比不过呀. 删除后

[root@localhost ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              99G   66G   29G  70% /
tmpfs                  16G  234M   16G   2% /dev/shm
/dev/sda1             477M   52M  400M  12% /boot
/dev/mapper/VolGroup-LogVol00
                      892G  278G  614G  32% /data
  • ok 简单解释下上面的命令
  • du -ah * 查看当前目录下所有文件及目录的全部大小并以适当单位展示
  • grep '[0-9.]G' 过滤所有已G 为单位 大小的文件
  • sort -nk 1 使用第一列作为数字排序的依据, 依次列出文件名
  • xargs rm -rf 将前面管道传递过来的文件名 依次删除 (这个命令很危险要注意的是当前目录所在的位置)

每条命令我都能理解, 也都用过, 但是组合使用经验十分匮乏. 以后在遇到shell 组合命令的使用我都要记录下使用场景.

还有要说的就是, 不要把你看不懂的shell 直接放在服务器上使用!!!

服务器上我们可以从 history 中学习到很懂知识. 了解他人使用命令的习惯

linux

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2017年07月13日 02:53
2

目录

来自 《Linux 常用命令 (批量删除大文件日志)》
774 文章数
0 评论量
9 分类数
779 页面数
已在风雨中度过 9年277天3小时41分