在 Linux 中按大小对文件进行排序
有时,你希望通过查找不必要的大文件并删除它们或删除小于预定大小的文件(例如日志)来进行一些系统深度清理。Linux 提供了各种实用程序,可以帮助我们在结合使用时找到此类文件。
本教程将介绍如何在日常使用中使用 find
,例如根据文件大小在文件夹中查找文件。
要查找给定文件夹中最大的文件,我们可以使用 du
和 sort
命令。
user@linux:~$ ls -lh
-rw-r--r-- 1 user user 8.0M Jan 1 00:00 a
-rw-r--r-- 1 user user 4.0M Jan 1 00:00 b
-rw-r--r-- 1 user user 2.0M Jan 1 00:00 c
-rw-r--r-- 1 user user 1.0M Jan 1 00:00 d
user@linux:~$ du -h * | sort -h
1.0M d
2.0M c
4.0M b
8.0M a
这将按照大小增加的顺序打印出文件,因此目录中最大的文件将在程序输出的末尾,而最小的文件将在开头。
注意 -h
标志的使用 - 这告诉命令大小以人类可读的形式给出。
以下命令在你的主目录中查找并按大小升序对目录进行排序。
user@linux:~$ sudo find /var/ -maxdepth 1 -type d -exec du -sh {} \; | sort -h
4.0K /var/local
4.0K /var/mail
4.0K /var/opt
56K /var/spool
60K /var/tmp
92K /var/snap
7.3M /var/backups
4.3G /var/log
4.4G /var/cache
17G /var/lib
25G /var/
如果你知道要搜索的文件的最小或最大大小,则可以使用 find
命令列出此类文件。
假设你想查找所有大于 200 MB (200M) 的文件。我们可以使用以下命令执行此操作,该命令还会打印出每个发现文件的大小。我们使用 sudo
进入所有根拥有的目录。
请记住,运行的输出可能会产生不同的文件。
user@linux:/var$ sudo find . -type f -size +200M -exec ls -lh {} \;
-rw------- 2 root root 363M Jan 1 00:00 ./lib/snapd/snaps/qt513_24.snap
-rw------- 2 root root 363M Jan 1 00:00 ./lib/snapd/cache/cf177ca655544816bb73b6d8e89c83753b96548f105acd563c1bf1b7d0d046bd3e99a96db5bfe912f8a446a8e9d5b6c5
Linux 命令 df
允许我们查看文件系统每个分区的整体磁盘使用情况,这有助于缩小空间过度使用的分区。我们运行以下命令来查找磁盘使用情况。
再一次,这可能会因你的磁盘配置而完全不同。带有 snap
的条目称为环回磁盘,它们是安装磁盘映像的虚拟磁盘,这是 Ubuntu 上 Snap 实用程序所要求的。
user@linux:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 2.1M 1.6G 1% /run
/dev/nvme0n1p6 200G 45G 146G 24% /
tmpfs 7.8G 397M 7.4G 5% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/nvme0n1p2 96M 36M 61M 37% /boot/efi
/dev/loop1 56M 56M 0 100% /snap/core18/2253
/dev/loop0 165M 165M 0 100% /snap/gnome-3-28-1804/161
/dev/loop2 512K 512K 0 100% /snap/gifex/3
/dev/loop3 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop4 128K 128K 0 100% /snap/bare/5
/dev/loop6 363M 363M 0 100% /snap/qt513/24
/dev/loop7 100M 100M 0 100% /snap/core/11993
/dev/sda7 1.1T 384G 677G 37% /home
tmpfs 1.6G 1.9M 1.6G 1% /run/user/1000
/dev/loop8 56M 56M 0 100% /snap/core18/2284
相关文章
如何在 CentOS 中获取 IP 地址
发布时间:2023/05/04 浏览次数:108 分类:操作系统
-
这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。
在 Linux 中更新 YUM
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。
在 Linux 中安装 Deb 文件
发布时间:2023/05/04 浏览次数:130 分类:操作系统
-
本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。
Linux 中的 lsof 命令
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。
Linux 解决不能执行二进制文件问题
发布时间:2023/05/04 浏览次数:187 分类:操作系统
-
在本文中,我们将学习如何在 Linux 中执行二进制文件。 如果 Linux 无法执行二进制文件,我们还将学习如何解决错误。
Linux 中错误 Mesg: Ttyname Failed: Inappropriate Ioctl for Device Error
发布时间:2023/05/04 浏览次数:145 分类:操作系统
-
本文介绍如何在 Linux 中解决 mesg: ttyname failed: inappropriate ioctl for device 错误。在 Linux 中,这个错误是由于默认的 vagrant 配置 config.ssh.shell 与 bash -l 交互导致的。
Linux 中的 ps aux 命令
发布时间:2023/05/04 浏览次数:69 分类:操作系统
-
本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。
Linux 中的 NTP
发布时间:2023/05/04 浏览次数:137 分类:操作系统
-
本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。
在 Bash 中创建进度条
发布时间:2023/05/04 浏览次数:164 分类:操作系统
-
这是有关在 Bash 中创建进度条以显示正在运行的命令或进程的进度的指南。本文将探讨在 Bash(Linux 和 macOS 的默认 shell)中向 shell 脚本添加进度条的几种方法。使用 pv 命令在 Bash 中创建进度条