linux shell实现对指定目录下的文件依据大小进行排序

1、find可以实现对指定文件大小的查找

复制代码
root@PC1:/home/test2# ls
b.ped  outcome.map  outcome.ped
root@PC1:/home/test2# ll -h
total 1.4G
-rw-r--r-- 1 root root 1.3G 12月 22 22:30 b.ped
-rw-r--r-- 1 root root 1.3M 12月 22 22:28 outcome.map
-rw-r--r-- 1 root root 158M 12月 22 22:29 outcome.ped
root@PC1:/home/test2# find ./ -type f -size +500M   ## -type f 指定对文件进行查找, -size +500M 指定查找大于500M的
./b.ped
复制代码
root@PC1:/home/test2# ll -h
total 1.4G
-rw-r--r-- 1 root root 1.3G 12月 22 22:30 b.ped
-rw-r--r-- 1 root root 1.3M 12月 22 22:28 outcome.map
-rw-r--r-- 1 root root 158M 12月 22 22:29 outcome.ped
root@PC1:/home/test2# find ./ -type f -size -300M    ## 查找小于300M的文件
./outcome.map
./outcome.ped

 

2、ls -S直接实现对文件大小的排序

复制代码
root@PC1:/home/test2# ls
b.ped  outcome.map  outcome.ped
root@PC1:/home/test2# ll -h
total 1.4G
-rw-r--r-- 1 root root 1.3G 12月 22 22:30 b.ped
-rw-r--r-- 1 root root 1.3M 12月 22 22:28 outcome.map
-rw-r--r-- 1 root root 158M 12月 22 22:29 outcome.ped
root@PC1:/home/test2# ls -S | sed 's/\t/\n/g'
b.ped
outcome.ped
outcome.map
root@PC1:/home/test2# ls -S | sed 's/\t/\n/g' | xargs du -h   ## ls -S直接实现文件从大到小的排序
1.3G    b.ped
158M    outcome.ped
1.3M    outcome.map
root@PC1:/home/test2# ls -S | sed 's/\t/\n/g' | xargs du -h | sort
1.3G    b.ped
1.3M    outcome.map
158M    outcome.ped
root@PC1:/home/test2# ls -S | sed 's/\t/\n/g' | xargs du -h | sort -h   ## 实现从小到大排序
1.3M    outcome.map
158M    outcome.ped
1.3G    b.ped
复制代码

 

3、du命令实现排序

复制代码
root@PC1:/home/test2# ls
b.ped  outcome.map  outcome.ped
root@PC1:/home/test2# du -ah   ## 列举出每个文件的大小及总大小
1.3M    ./outcome.map
1.3G    ./b.ped
158M    ./outcome.ped
1.4G    .
root@PC1:/home/test2# du -ah | sort -h   ## 从小到大排序
1.3M    ./outcome.map
158M    ./outcome.ped
1.3G    ./b.ped
1.4G    .
root@PC1:/home/test2# du -ah | sort -h | sed '$d'  ## 从小到大排序并删除最后一行
1.3M    ./outcome.map
158M    ./outcome.ped
1.3G    ./b.ped
root@PC1:/home/test2# du -ah | sort -rh   ## 从大到小排序
1.4G    .
1.3G    ./b.ped
158M    ./outcome.ped
1.3M    ./outcome.map
root@PC1:/home/test2# du -ah | sort -rh | sed 1d  ## 从大到小排序并删除第一行
1.3G    ./b.ped
158M    ./outcome.ped
1.3M    ./outcome.map
复制代码

 

posted @   小鲨鱼2018  阅读(1750)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-12-22 linux中防火墙策略管理工具firewalld
2020-12-22 python中修改元组
2020-12-22 python中列表的最大值、最小值、求和、平均数
点击右上角即可分享
微信分享提示