帮助中心 >
  关于网络安全 >
  如何在 Linux 中按大小排序列出所有文件
如何在 Linux 中按大小排序列出所有文件
时间 : 2024-11-28 16:54:58
编辑 : Jtti

在Linux中,你可以使用ls命令结合一些参数来按大小排序列出所有文件。以下是一些常用的方法:

使用 ls 命令按大小升序排列:

ls -lS

或者

ls -lSr

这里,-l 表示长格式列出文件详细信息,-S 表示按文件大小排序。

按大小降序排列:

ls -lSr

-r 参数表示反转排序结果。

还可以用-h添加为可读格式输出文件大小:

$ ls -laSh /var/www/html/admin_portal/

如果你想要递归地在目录中查找并按大小排序文件,可以使用find命令结合-exec参数:

递归列出当前目录及子目录下所有文件,并按大小排序:

find . -type f -exec ls -lhS {} +

这里,-type f 表示只查找文件,-exec 后面跟着的命令会对每个找到的文件执行,{} 是一个占位符,代表当前找到的文件名,+ 表示将所有找到的文件名作为参数一次性传递给ls命令。

如果你想要更详细的信息或者对目录的大小进行排序,可以使用du命令结合sort命令:

按大小排序列出当前目录下的所有文件和目录:

du -sh * | sort -hr

这里,du -sh * 会显示当前目录下每个文件和目录的大小,sort -hr 会按人类可读的格式(-h)进行排序(-r 表示降序)。

这些命令可以帮助你按大小排序列出Linux系统中的文件。你可以根据需要选择使用。Linux中也可以使用cron来定期自定执行文件大小排序任务。Cron是Linux系统中定期执行命令的时间表任务。先打开终端,输入以下命令编辑cron表:

crontab -e

将打开当前用户的cron表编辑器。在打开编辑器中可以添加一个新的cron格式为:

* * * * * command-to-be-executed

- - - - -

| | | | |

| | | | +----- day of week (0 - 6) (Sunday=0 or 7)

| | | +------- month (1 - 12)

| | +--------- day of month (1 - 31)

| +----------- hour (0 - 23)

+------------- minute (0 - 59)

如想每天凌晨1点自动执行文件大小排序并保存结果到一个文件中,可以添加以下行:

0 1 * * * /usr/bin/ls -lS > /path/to/your/directory/size_sort.log

这里,/usr/bin/ls -lS 是按大小排序的命令,> 是重定向输出到文件的符号,/path/to/your/directory/size_sort.log 是你想要保存结果的文件路径。然后保存后推出。

进行验证:

sudo service cron start

sudo systemctl start cron

完成后,就可以按照设置时间表自动执行文件大小排序任务。

JTTI-Defl
JTTI-COCO
JTTI-Selina
JTTI-Ellis
JTTI-Eom