linux 文件夹卡死,目录中文件过多导致ls命令卡住

2023-10-27

你一定遇到过这种情况,在一个有几百万文件的目录中执行ls命令,ls就卡在那了,是吧?

用ls -1 -f命令可以立即显示出文件。如果你想删除当前目录中的所有文件,使用如下命令:

ls -1 -f | xargs rm

在清理大量不需要的文件后,会留下一个巨大稀疏的目录对象(directory object)。假如一个目录有300万个文件,除了这些文件占用空间外,目录对象本身也会占用超过100M的空间。

你也许想重建一个目录来回收那100M空间。但是,如果目录是/tmp,那就要小心了,只能在单用户模式下操作。

ls命令为什么会卡住?

默认情况下,ls命令会将输出排序。为了排序,ls命令先将所有文件的名称读入内存。当遇到一个非常大的目录时,它就在那里不断地读入文件名,并且内存占用越来越大,直到将所有文件一次性以字母数字顺序列出来。

而ls -1 -f命令并不执行排序操作,只是读取目录然后立即显示文件。

下面举个例子,有个目录,包含300万个文件,文件名称形如test_file_a_1, test_file_a_2, ..., test_file_a_3000000. 用Perl脚本以文件名中的数字编号顺序来创建这些文件。

可以用ls -1 -f命令立即列出头几个文件:

bash-4.2$ time ls -1 -f | head

.

..

test_file_a_2531963

test_file_a_467778

test_file_a_2677947

test_file_a_329896

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 文件夹卡死,目录中文件过多导致ls命令卡住 的相关文章

  • 软件项目中的成本构成及估算方法

    随着知识经济 信息时代的来临 计算机软件业迅猛发展 商品化 资本化 资产化的计算机软件的价值 评估的社会需求也日益增多 而且有越来越多的趋势 由于系统软件通常是一些规模大 复杂程度高的人一 机系统 因此 系统软件的开发 使用 维护 管理的过
  • linux安装.AppImage后缀安装包

    假设有个安装包名称为 myinstall AppImage 添加权限后直接可以运行 chmod a x myinstall AppImage myinstall AppImage
  • ubuntu18 新增配置用户删除用户

    进入root用户 sudo su 输入密码 新安装的ubuntu修改root用户密码 sudo passwd 输入密码 useradd 命令格式 命令一 这种命令会在登录界面显示用户名 sudo useradd m ftpuser d ho
  • 安卓手机玩游戏卡顿怎么解决_和平精英:你还在为游戏卡顿掉帧而烦恼吗?5招之内帮你解决...

    相信大家在玩和平精英时必然会遇到游戏卡顿的现象吧 想要解决这些问题吗 赤几现在就来教你哟 在上个游戏版本的时候 不少小伙伴在玩和平精英的时候遇到人会出现画面掉帧很厉害的情况 一般只要卡了就说明附近有人了 但最近的更新中 官方尽可能的优化了这
  • Excel批量创建带超链接的工作表目录

    工作中总会遇到包含多个工作表的工作簿 很多人都在想这时候如果能有一个目录 不但能显示出所有的工作表名称 还能够链接跳转到指定的工作表 该有多好呀 于是 一些勤奋的人们就开始行动了 他们手动创建超链接指向各个工作表 但当工作表数量很多时 手动
  • 2023华为od机试 Python【拔河比赛】

    前言 本题使用Python解答 如果需要Java代码 请参考以下链接 点我 题目 我们需要为拔河比赛挑选人选 挑选规则如下 1首先按身高排序 然后按体重排序 2 选出10个最合适的人选 输入是一个数组 数组存储的是所有人员的身高 体重信息
  • vue项目的简体繁体切换

    vue项目的简体繁体切换 在项目中有这样的一个需求 需要对APP内的字体进行简体和繁体的切换 一开始在项目中下载引入了vue i18n的语言包 但是有个缺点就是i18n语言包不能对接口返回的字体进行转换 还有的就是只能实现部分字体的转换 工
  • AcWing 826. 单链表

    题目 实现一个单链表 链表初始为空 支持三种操作 1 向链表头插入一个数 2 删除第k个插入的数后面的数 3 在第k个插入的数后插入一个数 现在要对该链表进行M次操作 进行完所有操作后 从头到尾输出整个链表 注意 题目中第k个插入的数并不是
  • Spring中@component的使用

    Spring中 component的使用 component是spring中的一个注解 它的作用就是实现bean的注入 在探究 component前先了解一下注解 何为注解 注解本质上就是一个类 开发中我们可以使用注解 取代 xml配置文件
  • [项目管理-14]:大规模组织的项目管理办公室PMO

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 第1章 什么是PMO 1 1 PMO定义 1 2 PMO的由来 1 3 PMP的职责 第2章 PMO的组织架构 1 1 架构 1 2
  • Python 之 元组小结

    字典是Python中唯一内建的映射类型 字典中的值并没有特殊的顺序 键可以是数字 字符串甚至是元组 dic 1 a 2 b 3 c dict 创建字典 gt gt gt dic 1 a 2 b 3 c gt gt gt dic dict d
  • HAL库函数中的HAL_I2C_Mem_Write /HAL_I2C_Mem_Read中的DevAddress解析

    在HAL库函数中的HAL I2C Mem Write HAL I2C Mem Read两个函数的作用就是玩IIC设备中写入 读取多个直接的数据 函数原型 HAL StatusTypeDef HAL I2C Mem Read I2C Hand
  • java---lambda函数

    背景 lambda 表达式是一个可传递的代码块 可以在以后执行一次或多次 就类似于sort arrs comparator 函数在排列结束之前会不停调用comparator代码块 在java中传递一个代码段并不容易 不能直接传递代码段 Ja
  • LeetCode常见经典算法——KMP算法

    常见经典算法 KMP算法 参考 https www bilibili com video BV1jb411V78H from search seid 6567338116212695926 关键字 有效回溯 最大公共前后缀长度 样本串的ne
  • 西门子200PLC软件的安装和使用

    西门子200PLC软件 v4 0 STEP 7 MicroWIN SP6 的安装和使用 文章目录 目录 文章目录 前言 二 安装时可能会出现的问题 1 无法进行安装并出现英文提示 2 解决方法 三 通信问题 PC PG设置无PC PPI C
  • makefile基础及常用规则

    什么是makefile 或许很多Windows的程序员都不知道这个东西 因为那些Windows的IDE都为你做了这个工作 但我觉得要作一个好的和professional的程序员 makefile还是要懂 特别在Unix下的软件编译 你就不能
  • HTML炫酷文字流

    看到了黑客帝国里源代码 也用HTML写了一个 css padding 0 margin 0 html overflow hidden Html部分
  • Nodejs实现给手机发送短信验证码用于登录功能(免费短信)

    我们开发的应用通常需要通过手机短信验证码验证进行登录 方便了那些容易忘记密码的用户 同时也降低了是密码被盗的风险性 文章目录 1 注册容联云通信账号 免费 2 nodejs发送请求即可发送短信验证码 1 注册容联云通信账号 免费 1 点击这
  • HTTP 304状态码的详细讲解

    HTTP 304状态码的详细讲解 304状态码或许不应该认为是一种错误 而是对客户端有缓存情况下服务端的一种响应 整个请求响应过程如下 客户端在请求一个文件的时候 发现自己缓存的文件有 Last Modified 那么在请求中会包含 If

随机推荐

  • Python实现动态画图并生成gif图像(matplotlib)

    通过Matplotlib中的animation可以方便的生成动态的画图并保存到gif文件 示例代码如下 import numpy as np import matplotlib pyplot as plt import matplotlib
  • 2021-11-07

    Your CLT does not support macOS 11 5 It is either outdated or was modified Please update your CLT or delete it if no upd
  • python数组变整数

    对于array格式的数组来说 numpy提供了一个方便的函数 np trunc arr 来执行取整操作 A np array 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 B np trunc A print B 1 2
  • 打印vector容器的模板函数

    今天在测试vector的时候想写一个vector的打印函数 为了测试不同数据类型的vector 肯定是编一个模板函数 然后就报错 直到看了 理解typename的两个含义 才明白哪里出错 下面是最后正确的代码 include
  • elementui el-form中el-form-item自定义label

    问题描述 在开发中有时候对表单的label需要加入图标 如下图所示 实现方法 将自定义代码块中加入属性slot label 即可 下面是代码实现 仅提供自定义label行 方便大家使用
  • element-ui 修改el-form-item样式

    文章目录 form结构 修改el form item所有样式 只修改label 只修改content 只修改input 只修改button form结构
  • 电芯制备流程

    电芯制备流程 电芯是最基本的单位 多个电芯 cell 组成一个模组 module 多个模组主城一个电池包 pack 电芯cell工艺流程分为三大步 极片制备 电芯组装 化成检测 极片制备 电芯的正负极表面有活性材料 且具有特定形状的集流体
  • Python 条件随机场(CRF) 序列标注 介绍及工具简单用法解析

    CRF简介 Conditional Random Field 条件随机场 一种机器学习技术 CRF由Lafferty等人于2001年提出 结合了最大熵模型和隐马尔可夫模型的特点 是一种无向图模型 近年来在分词 词性标注和命名实体识别等序列标
  • AngularJS 的基本概念(思想)和单元测试

    转载 原文链接 https www cnblogs com shih p 6826717 html 一 AngularJS基本概念 1 AngularJS框架的核心概念 AngularJS框架的核心概念是MVC架构模式 或者说MVVM Mo
  • 深入理解 Solidity

    深入理解 Solidity 此节将帮助你深入理解Solidity 如果有遗漏 请和我们联系Gitter或者在Githhub上发pull request Layout of a Solidity Source File Importing o
  • keepalived mysql监控_Centos7 keepalived安装并监控mysql实现自动切换

    安装 下载 https www keepalived org download html wget https www keepalived org software keepalived 2 1 5 tar gz tar xvf keep
  • OpenPose的Unity3D实现

    1 问题描述 OpenPose可以解决多人骨骼 手势 面部实时识别的问题 本项目是OpenPose获取的数据在Unity3D中的一个实现 可将解析出来的坐标数据在Unity中进行调用 实现Unity模型的随动控制 2 OpenPose的安装
  • Android初学 抖音短视频无水印下载APP的实现(抖音接口更换, 已不可用)

    抖音接口更换 已不可用 实现效果 在抖音复制分享链接 粘贴分享链接到App 点击解析 点击 去下载 进入浏览器下载 获取无水印视频链接 首先我们使用浏览器打开分享的链接 8 97 teO 一起玩水吧 在这炽热的夏天 蓝色治愈系 夏天 游泳
  • MySql内部结构

    1 内部结构 大体来说 MySQL可以分为server层和存储引擎两部分 server层包括连接器 查询缓存 分析器 优化器 执行器等 涵盖MySQL的大部分核心服务功能 1 连接器 连接器负责跟客户端建立连接 获取权限 维持和管理连接 2
  • 国内外优秀公共DNS测评及推荐

    DNS在平时上网中扮演重要角色 如果不注意DNS的话 可能会导致网速慢 弹窗广告 网址打不开 打开不是自己想要的网站 劫持等一系列问题 针对DNS的问题 今天我们就来总结一下 看看哪个DNS服务器最好用 注意 本测试仅通过奇云测对服务器进行
  • python matplotlib库实现绘制一张图内两个纵坐标,并解决legend标签显示在图外的问题

    python matplotlib库实现绘制一张图内两个纵坐标 并解决legend标签显示在图外的问题 效果 代码如下 import matplotlib pyplot as plt X横坐标 X i for i in range 10 Y
  • 微信小程序加载本地图片方法

    目录结构如下 只要图片按正确的方式放入小程序的开发工具的项目中 即可在wxml文件中用内联样式或者image标签都可以引用本地的图片 步骤一 微信开发工具 打开项目 步骤二 新建个文件夹 放项目的一级或者二级目录都可以 然后把图片拷贝到这个
  • python判断list是否为空

    判断一个 list 是否为空 传统的方式 if len mylist Do something with my list else The list is empty 由于一个空 list 本身等同于 False 所以可以直接 if myl
  • 数字后端——电源规划

    电源规划是给整个芯片的供电设计出一个均勻的网络 它是芯片物理设计中非常关键的一部分 电源规划在芯片布图规划后或在布图规划过程中交叉完成 它贯穿于整个设计中 需要在芯片设计的不同阶段对电源的供电网络进行分析并根据要求进行修改 主要分三部分内容
  • linux 文件夹卡死,目录中文件过多导致ls命令卡住

    你一定遇到过这种情况 在一个有几百万文件的目录中执行ls命令 ls就卡在那了 是吧 用ls 1 f命令可以立即显示出文件 如果你想删除当前目录中的所有文件 使用如下命令 ls 1 f xargs rm 在清理大量不需要的文件后 会留下一个巨