linux命令统计某一时间段文件大小

不及物动词 其他 912

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要统计某一时间段文件大小,可以使用以下Linux命令:

    1. 使用find命令找到指定时间段内的文件:
    “`
    $ find <路径> -type f -newermt “<开始时间>” ! -newermt “<结束时间>”
    “`
    其中,`<路径>`为要搜索的目录路径,`<开始时间>`和`<结束时间>`为时间段的起始和结束时间,格式为”YYYY-MM-DD HH:MM:SS”。

    2. 结合du命令计算文件大小:
    “`
    $ du -ch <文件列表>
    “`
    其中,`<文件列表>`为上一步找到的文件列表。

    3. 将上述命令组合起来:
    “`
    $ find <路径> -type f -newermt “<开始时间>” ! -newermt “<结束时间>” -exec du -ch {} +
    “`

    执行以上命令后,会列出时间段内每个文件的大小,并在最后一行显示总文件大小。

    例如,要统计当前目录下2019年1月1日 00:00:00到2019年12月31日 23:59:59的文件大小,可以使用以下命令:
    “`
    $ find . -type f -newermt “2019-01-01 00:00:00” ! -newermt “2019-12-31 23:59:59” -exec du -ch {} +
    “`

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要统计某一时间段文件大小,可以使用Linux的find命令和du命令的结合来完成。下面是具体步骤:

    1. 使用find命令查找符合条件的文件。find命令可以根据时间戳来查找文件。比如要查找2022年1月1日到2022年12月31日之间的文件,可以使用以下命令:
    “`shell
    find /path/to/directory -type f -newermt “2022-01-01” ! -newermt “2023-01-01”
    “`
    这个命令会在`/path/to/directory`目录下查找符合条件的文件。

    2. 将find命令的输出通过管道传递给du命令。du命令用于统计文件或目录的大小。

    “`shell
    find /path/to/directory -type f -newermt “2022-01-01” ! -newermt “2023-01-01” -exec du -ch {} +
    “`
    这个命令会将查找的文件通过`-exec`参数传递给du命令,并使用`-ch`选项来将文件大小以人类可读的方式显示出来。最后的`+`符号表示将多个文件作为一个整体传递给du命令,以提高效率。

    3. 返回结果显示文件大小。du命令会逐个统计文件的大小,并计算总和。

    “`
    10K /path/to/directory/file1.txt
    20K /path/to/directory/file2.txt
    30K /path/to/directory/file3.txt
    ———
    60K total
    “`

    以上就是统计某一时间段文件大小的方法。通过使用find命令和du命令的组合,可以轻松地完成这个任务。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    一、统计某一时间段文件大小的方法

    要统计某一时间段内的文件大小,可以使用Linux命令来完成。具体方法如下:

    1. 使用`find`命令找到指定时间段内的文件,将结果保存到一个文件中;
    2. 使用循环遍历文件列表,使用`du`命令统计每个文件的大小,并累加得到总大小;
    3. 输出总大小。

    二、操作流程

    下面是具体的操作流程,用于统计某一时间段内文件的大小。

    1. 使用`find`命令找到指定时间段内的文件,并将结果保存到一个文件中。例如,要统计2022年2月1日到2022年2月28日之间的文件大小,可以使用以下命令:

    “`
    find /path/to/directory -type f -newermt 2022-02-01 ! -newermt 2022-03-01 > file_list.txt
    “`

    其中`/path/to/directory`是要检查的目录路径。

    2. 创建一个变量`total_size`,用于保存总的文件大小:

    “`
    total_size=0
    “`

    3. 使用循环遍历文件列表,使用`du`命令统计每个文件的大小,并累加得到总大小。例如:

    “`
    while IFS= read -r file; do
    size=$(du -sb “$file” | awk ‘{print $1}’)
    total_size=$((total_size + size))
    done < file_list.txt ``` 其中`file_list.txt`是上一步生成的文件列表。4. 输出总大小,并将其格式化为易读的形式。例如: ``` echo "Total size: $(numfmt --to=iec $total_size)" ``` 这里使用了`numfmt`命令来格式化文件大小。5. 删除临时文件`file_list.txt`: ``` rm file_list.txt ```3. 将以上命令保存为一个脚本文件,并给予执行权限: ``` chmod +x file_size_stats.sh ```4. 执行脚本文件即可进行文件大小统计: ``` ./file_size_stats.sh ```完成以上操作后,就可以统计出指定时间段内文件的总大小。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部