Linux 递归查看文件列表及每个大小

羌俊恩 羌俊恩 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

1、查看所有文件列表及大小,执行如下即可:

ls -Rl ./*

2、看当前文件目录各个文件夹大小,执行:

du -h --max-depth=1 .

3、查看当前目录下所有目录及子目录大小

du -h - .  //排除,使用--exclude='*home'

4、脚本查看某目录下每个文件的大小,执行:

#!/bin/bash

function show_file_size() {   #使用function或()定义函数
    # 判断参数是否有效
    if [ -z "$1" ]; then
        echo "请提供文件路径或目录路径"
        return 1
    fi
    
    # 递归查找文件
    files=$(find "$1" -type f)
    
    # 遍历每个文件,并计算文件大小
    for file in $files; do
        size=$(du -ch "$file" | grep total$ | awk '{print $1}')
        echo "文件: $file, 大小: $size"
    done
}

read path

show_file_size $path

或直接调用函数递归查看文件大小,执行:show_file_size "/path/"

5、列出每个文件的大小,使用tree命令,没有的话执行yum install tree进行安装

tree --df -h ./path/*   #显示指定位置的每个文件和目录的大小,并且也会计算总的大,加 -p 选项还能列出文件权限,使用 -c 选项,默认情况下,它最先显示最早修改的文件。另外结合 -D 选项来显示文件修改的时间,-cD就能根据文件修改时间进行排序,默认最先修改的文件在最上方,要将最后修改的文件显示在最上方,需要添加 -r ,即倒序排列;使用-f "$(pwd)"显示每个文件的完整路径

 

...全文
评论
收藏 已收藏
分享
返回顶部
羌俊恩
羌俊恩 优质创作者: 运维技术领域 优质创作者: 运维技术领域领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
云享运维知识库 136,970 成员 229 内容