查找目录中的文件数

2024-03-23

Linux 中是否有任何方法可以在 O(1) 内计算目录(即直接子级)中的文件数(与文件数无关),而不必先列出目录?如果不是 O(1),是否有一种相当有效的方法?

我正在寻找替代方案ls | wc -l.


readdir 并不像您想象的那么昂贵。诀窍是避免统计每个文件,并(可选)对 ls 的输出进行排序。

/bin/ls -1U | wc -l

避免在 shell 中使用别名,不对输出进行排序,并每行列出 1 个文件(将输出通过管道传输到 wc 时并非绝对必要)。

最初的问题可以改写为“目录的数据结构是否存储条目数?”,答案是否定的。没有比 readdir(2)/getdents(2) 更有效的文件计数方法了。

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

查找目录中的文件数 的相关文章

  • Mono 和 WebRequest 速度 - 测试

    在 mono 4 6 2 linux 中 我注意到 wget 下载文件的速度与webclient DownloadString 所以我做了一个小测试来调查 为什么 wget 明显比 C 快 根据我自己的实验 使用 wget 下载 手动读取文
  • 从 Linux 命令行发送 SNMP 陷阱消息

    Folks 我需要从 Linux 命令行使用此命令 snmptrap 将自定义消息发送到陷阱侦听器 我需要根据用户设置在 v1 和 v2c 中发送相同的消息 这是我发现的 For v1 snmptrap v 1 c Tas hostname
  • 如何将文件中的值分配给 UNIX sh shell 中的变量?

    我一直在搜索这个网站 试图找到这个问题的答案 并发现了几个非常好的答案 不幸的是 它们都不适合我 这是我正在使用的脚本 VALUE cat szpfxct tmp export VALUE echo gt gt LGFILE echo te
  • 当您更新 iOS 应用程序时,文档文件夹内容会发生什么变化?

    当我更新在 文档 文件夹中存储了一些文件的应用程序时 会发生什么情况 我需要将这些文件保存在该文件夹中 以便更新的应用程序能够使用它们 但这似乎并没有发生 我可以设法保存所有文件吗 您的文档将保留在原处 除非用户在更新之前删除应用程序 但这
  • 如何从 C 函数创建 shell 命令

    想知道如何获取一组 C 函数并将它们转换为 shell bash 命令 假设我有一组简单的 C 函数 int fn1 some C code for function 1 int fn2 some C code for function 2
  • 如何使用libaudit?

    我试图了解如何使用 libaudit 我想接收有关使用 C C 的用户操作的事件 我不明白如何设置规则 以及如何获取有关用户操作的信息 例如 我想获取用户创建目录时的信息 int audit fd audit open struct aud
  • 如何拆分一行并重新排列其元素?

    我在一行中有一些数据 如下所示 abc edf xyz rfg yeg udh 我想呈现如下数据 abc xyz yeg edf rfg udh 以便打印备用字段并用换行符分隔 有没有这样的衬里 下列awk脚本可以做到这一点 gt echo
  • 编写脚本时,#!/usr/bin/perl 和 #!/usr/bin/env perl 有什么区别?

    显然 这同样适用于用 python bash sh 等替代 perl 昆汀下面的答案显然是正确的 所以我接受了它 但我想我实际上的意思是 两种使用 的方式的优点和缺点是什么 调用 perl python bash 作为脚本的解释器 有人提到
  • 原生 Linux 应用程序可像 ResHacker 一样编辑 Win32 PE

    我想运行自动修改 dll服务 用户提交特定的 dll 我在服务器上修改它 然后用户可以下载 dll的修改版本 是否有任何本机 Linux 应用程序提供常见的 Win32 PE 修改功能 例如图标 字符串 加速器 对话等 至少提供命令行或脚本
  • ARM 系统调用的接口是什么?它在 Linux 内核中的何处定义?

    我读过有关 Linux 中的系统调用的内容 并且到处都给出了有关 x86 架构的描述 0x80中断和SYSENTER 但我无法追踪 ARM 架构中系统调用的文件和进程 任何人都可以帮忙吗 我知道的几个相关文件是 arch arm kerne
  • 退出 bash 脚本但保持进程运行

    我正在运行服务器 需要使用参数执行以下命令 这些脚本目前工作得很好 但问题是当我运行脚本时我无法返回到控制台 它在控制台中保持运行 如果我强行停止它 那么该过程也会停止 我想继续运行该进程并返回到控制台 bin sh php home st
  • Docker DNS 设置

    我尝试使用自定义网络和 dos 设置创建 docker 容器 docker网络创建 driver bridge opt com docker network bridge enable ip masquerade true opt com
  • gnome-terminal 新选项卡,使用别名作为要执行的命令

    我已经创建了一个别名 bashrc文件如下 alias myproject cd Desktop myproject 当我重新启动终端时保存文件后 输入myproject带我到项目目录 但是当我尝试使用别名作为新的命令参数时gnome te
  • QT 中只获取文件而不获取目录?

    当我这样做时 QDir myDir home some location QStringList filesList myDir entryList 它返回该位置内的文件和目录 但我只想要文件 并且这些文件可以具有任意扩展名 有任何想法吗
  • 如何阅读shell命令的源代码?

    我想阅读编写linux命令的实际源代码 我已经获得了一些使用它们的经验 现在我认为是时候与我的机器进行更深层次的交互了 我在这里找到了一些命令http directory fsf org wiki GNU http directory fs
  • 远程linux服务器到远程linux服务器大型稀疏文件复制 - 如何?

    我有两台 CentOS 5 4 服务器 每台服务器上都安装了 VMware Server 假设我始终对 vmware 虚拟机使用稀疏文件 将虚拟机文件从一台服务器复制到另一台服务器的最可靠 最快速的方法是什么 虚拟机的文件复制起来很痛苦 因
  • Windows、Emacs、Git Bash 和 shell 命令

    Windows 7 Emacs 24 3 1 git 1 8 1 msysgit 1 我的等效 emacs 文件中有以下内容 if equal system type windows nt progn setq explicit shell
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • Windows 与 Linux 文本文件读取

    问题是 我最近从 Windows 切换到 Ubuntu 我的一些用于分析数据文件的 python 脚本给了我错误 我不确定如何正确解决 我当前仪器的数据文件输出如下 Header 有关仪器等的各种信息 Data 状态 代码 温度 字段等 0
  • 使用命令行将 MediaWiki 维基文本格式转换为 HTML

    我倾向于编写大量文档 因此 MediaWiki 格式对我来说很容易理解 而且比编写传统 HTML 节省了我很多时间 然而 我也写了一篇博客 发现一直从键盘切换到鼠标来输入正确的 HTML 标签会增加很多时间 我希望能够使用 Mediawik

随机推荐

  • 如何通过Java执行cmd命令

    我正在尝试通过 Java 执行命令行参数 例如 Execute command String command cmd c start cmd exe Process child Runtime getRuntime exec command
  • WooCommerce 显示自定义列

    我想在 WooCommerce 后端显示一个附加列 在订单概述中 该列应包含我定义的自定义字段 交货日期 这个怎么做 如果有人仍然需要它 有关如何在 Woocommerce 订单列表中添加新列的说明 无需取消设置默认列 只需将其添加到您的f
  • 针对低内存使用情况,康威生命游戏的有效实现是什么?

    我正在寻找一种快速且节省内存的方法来实现康威的生命游戏 限制 96x128 板 大约 2kB 可用 RAM 和 52MHz 处理器 请参阅此处的技术规格 http www getinpulse com features http www g
  • 在Java中生成随机唯一的双精度值

    我需要一个 64 位浮点随机数的集合 并且它们应该是不同的 是否有为此的库例程 或者我应该手动搜索重复项 实际上 让数字不接近比一些非常小的常数 更重要 图书馆也有这样的例程吗 您可以使用streams为了那个原因 double array
  • 使用 Swift 构建 Cocoapod 并依赖于 Objective-C 框架

    我知道这里已经有一些关于这个主题的问题 但很少有人接受答案 而且我认为我没有找到与我完全相同的问题 我正在构建一个 Swift pod 在我的代码中我依赖于 Google Maps iOS SDK 它捆绑为 framework文件 该项目在
  • 如何将受邀用户与邀请人的公司/群组关联起来?

    我正在使用 Django django allauth 和 django invitations 我能够成功邀请用户加入该平台 但我想将他们与邀请者的公司关联起来 我已经阅读了 bee keeper django invitations 但
  • 我可以使用 Apache-Poi 将 Excel 电子表格格式化为流模式下的表格吗

    A regular spreadsheet tab in Excel can be made into a table by selecting the data and ctrl T This gives each column a he
  • 如何检测 Horizo​​ntalScrollView 内的视图何时接触另一个视图?

    所以我试图创建像滚动视图一样的 iMovie 我想在滚动视图内的图像触摸白线时得到回调 这样我就可以更改大图像 我怎样才能做到这一点 这个解决方案对我有用 也是我在对 Horizo ntalScrollView 的选项进行长期研究后能够找到
  • 龙卷风只能升级到websocket错误

    我正在使用龙卷风进行实时应用 我正在为此使用 Redis 当我访问网址时127 0 0 1 8888 2 其中 2 是我的用户 ID 我收到错误消息can Upgrade only to websocket 我不知道为什么我会收到此错误 这
  • 处理“javax/xml/XMLConstants.class”时出现问题

    我正在启动一个新的 Android 项目 该项目引用了一个第三方 JAR 而该第三方 JAR 又引用了其他 4 个 JAR ws commons java5 1 0 1 jar ws commons util 1 0 2 jar xmlrp
  • as3 AIR for android - 应用程序沙箱内容错误

    目标 我试图允许外部加载的 swf 文件与从设备本地加载的文件相互通信 我需要能够访问变量 函数和对象 我在从网上加载 swf 内容时已经实现了这一点 as3 从网络外部加载的swf 控制从网络外部加载的swf https stackove
  • 如何在 Spark 中从文本文件创建 DataFrame

    我在 HDFS 上有一个文本文件 我想将其转换为 Spark 中的数据帧 我正在使用 Spark 上下文加载文件 然后尝试从该文件生成各个列 val myFile sc textFile file txt val myFile1 myFil
  • PHP PDO 数据库错误特殊字符

    我已经阅读了有关这种情况的大部分问题和答案 但我无法解决我的性格问题 我的数据库的默认字符集是utf8 所有表的排序规则是utf8 general ci 我确信所有设置都是 utf8 和 utf8 general ci 因为我已经检查了它们
  • 春天有像温莎城堡里的@predestroy 这样的东西吗

    任何类似的东西 PreDestroy在弹簧框架中 如果您定义了一个实现 DisposableBean 接口的 bean 那么 Spring 将调用 void destroy throws Exception 销毁 Bean 之前的方法 这是
  • Python 3 中未解决的全局变量引用

    所以 我不知道为什么 但我在以下函数中收到来自 Pycharm 的 未解析的引用 警告 它们的共同点是运算中也使用了赋值变量 我不明白为什么这行不通 对于警告的内容有什么想法吗 我确实读过这个线程 PyCharm 中未解决的参考问题 htt
  • py2exe 未找到所有依赖项

    我正在尝试从 python 代码创建一个 exe 我可以从命令行很好地运行代码 如下所示 python myScript py 我从这里安装了 py2exe http sourceforge net projects py2exe file
  • 事务内部只允许Ancestor查询,如何处理?

    我需要在 a 内进行查询Transaction 但是我不知道实体 Id 我拥有的是一个字段的值 例如用户名 但不是ID 换句话说 我无法创建一个Key进行查询 我如何进行查询以获取实体内的实体Transaction 在不深入研究更深层次的设
  • 如何从 C++ Windows 客户端使用 ETW

    我正在研究Windows 事件跟踪 https learn microsoft com en us windows hardware test wpt event tracing for windows ETW 允许用户模式 Windows
  • 我如何退出我的应用程序?

    我如何退出我的应用程序 我希望当用户单击按钮时 该应用程序将完全退出 我看到了任何有关它的答案 但他们将该应用程序带到了后端 我想彻底退出 在这个方法中你可以调用exit 在任何地方运行并退出应用程序 所以要随时关闭应用程序 请使用FLAG
  • 查找目录中的文件数

    Linux 中是否有任何方法可以在 O 1 内计算目录 即直接子级 中的文件数 与文件数无关 而不必先列出目录 如果不是 O 1 是否有一种相当有效的方法 我正在寻找替代方案ls wc l readdir 并不像您想象的那么昂贵 诀窍是避免