跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Linux 小白一个,有两个 Linux 问题不懂
未分類
6 5 月 2020

Linux 小白一个,有两个 Linux 问题不懂

Linux 小白一个,有两个 Linux 问题不懂

資深大佬 : cydian 16

因为程序需要的原因,服务器上的 A 文件夹下有过百万的小文件(绝大多数 50KB 以下)

1.inode 满了,如何在数据不变动的情况下,加 inode ?

2.A 目录下有 100 万小文件(没有子文件夹),如何编写命令,删除最后使用过的 50 万文件(不是根据文件创建日期)

大佬有話說 (11)

  • 資深大佬 : OSDI

    1. 什么文件系统
    2. 如果开了访问时间元数据记录,根据它来删

  • 資深大佬 : unixeno

    1. 把文件复制一份,然后格式化分区的时候增加 inode,最后把文件复制回来。目前没有方法动态的增加 inode 数量
    2. 你要知道访问时间的话,可以直接用 find 删,不知道的话估计得先列出来,然后按访问时间排序再删

  • 主 資深大佬 : cydian

    @unixeno 怎么获知访问时间。
    这方面我是小白,还请多指教。

  • 資深大佬 : hideinbush

    -newermt -mtime 分别跟具体时间和修改时间,你 Google 下呗,都有例子的

  • 資深大佬 : MajorAdam

    2 很简单

  • 資深大佬 : love

    这种海量小文件就不要用 ext 了,这个 fs 的文件数量是固定的,你可以用一个不限制文件数量的,比如 reisferfs

  • 主 資深大佬 : cydian

    @MajorAdam 可以发个命令吗?
    我是真小白,平时只管写代码。

  • 資深大佬 : MoccaCafe

    @cydian 需求 2 的命令如下:

    “`
    find . -type f | xargs ls -ta | head -n 500000 | xargs -I {} rm {} -rf ;
    “`

    建议提前备份一遍,或者把上面的 rm 改成 mv

  • 資深大佬 : MoccaCafe

    @cydian 有帮助到你吗?这样不回复感受到不尊重,以后就没有人再愿意帮助你了

  • 主 資深大佬 : cydian

    @MoccaCafe 不好意思呀。
    我正打算明天测试一下呢。

    给每个回复点个赞。
    感谢回复。

  • 資深大佬 : hideinbush

    https://explainshell.com

    反例 https://stackoverflow.com/questions/25785/delete-all-but-the-most-recent-x-files-in-bash

    自己整明白才是自己的

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具