【Linux 问题】如何统计当前文件夹的实际数目?

本贴最后更新于 1301 天前,其中的信息可能已经水流花落

先用 ls -la 查看文件夹,没发现有隐藏文件

image.png

ls 手动计算当前目录是 45 个目录,

image.png

而使用网上别人分享的命令却没一个算对的

我使用 ls -l |wc -l,计数为 48,多三个

使用 ls -l | grep "^d" | wc -l,计数为 47,多两个

使用 find . -maxdepth 1 -type d |wc -l,计数为 46,多一个……

所以应该如何使用什么命令呢……

  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    952 引用 • 944 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9538 引用 • 43424 回帖 • 101 关注

相关帖子

被采纳的回答
  • springtwr via Linux

    多出的三个分别是总用量(total)父目录(..)当前目录(.)

    你用的第一条命令就是三个全多出来了,第二条命令多了父目录(..)当前目录(.),因为 ^d总用量(total) 过滤掉了,第三条则是多了一个当前目录(.),因为 find . 在不加其它过滤参数的情况下会将当前目录(.) 纳入结果中。

    如果只统计当前目录下的所有目录的数量(不包含子目录),可以使用

    ll -A|grep "^d"|wc -l

    llls -l 的别名,部分 Linux 发行版会默认添加该别名,没有的需自行使用 alias 添加或直接用 ls -l 代替。-A 参数与 -a 参数相比会在显示结果中将父目录(..)当前目录(.) 过滤掉。

    如果要统计目录下所有文件夹和文件的数量(不包含子目录),可以用

    ll -A|grep "^[-a-s]"|wc -l

    Linux 文件系统中的文件类型字母表示一般都在 a~s 之间外加普通文件(-),这条命令基本能满足需求,但在一些 Unix 系统里面这条命令的统计结果可能会出错,比如在 Solaris 系统里面就有用大写字母表示的文件类型,会导致统计数量比实际数量要少。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • springtwr 1 评论 via Linux

    多出的三个分别是总用量(total)父目录(..)当前目录(.)

    你用的第一条命令就是三个全多出来了,第二条命令多了父目录(..)当前目录(.),因为 ^d总用量(total) 过滤掉了,第三条则是多了一个当前目录(.),因为 find . 在不加其它过滤参数的情况下会将当前目录(.) 纳入结果中。

    如果只统计当前目录下的所有目录的数量(不包含子目录),可以使用

    ll -A|grep "^d"|wc -l

    llls -l 的别名,部分 Linux 发行版会默认添加该别名,没有的需自行使用 alias 添加或直接用 ls -l 代替。-A 参数与 -a 参数相比会在显示结果中将父目录(..)当前目录(.) 过滤掉。

    如果要统计目录下所有文件夹和文件的数量(不包含子目录),可以用

    ll -A|grep "^[-a-s]"|wc -l

    Linux 文件系统中的文件类型字母表示一般都在 a~s 之间外加普通文件(-),这条命令基本能满足需求,但在一些 Unix 系统里面这条命令的统计结果可能会出错,比如在 Solaris 系统里面就有用大写字母表示的文件类型,会导致统计数量比实际数量要少。

    3 操作
    springtwr 在 2021-09-19 21:48:26 更新了该回帖
    springtwr 在 2021-09-19 21:41:18 更新了该回帖
    springtwr 在 2021-09-19 20:47:32 更新了该回帖
    太强了,感谢!
    Achuan-2
  • 其他回帖
  • Achuan-2

    额,原来是有人干了坏事

    ls 变成 ls -a 了

    image.png

    1 操作
    Achuan-2 在 2021-09-20 00:00:38 更新了该回帖

推荐标签 标签

  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 9 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    345 引用 • 742 回帖 • 1 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    36 引用 • 155 回帖 • 2 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 444 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 54 回帖 • 10 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    57 引用 • 25 回帖 • 8 关注
  • AWS
    11 引用 • 28 回帖 • 11 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    16 引用 • 236 回帖 • 267 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    210 引用 • 2040 回帖
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 35 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 722 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 179 关注
  • Anytype
    3 引用 • 31 回帖 • 15 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    21 引用 • 204 回帖
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 81 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 295 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 107 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 735 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    143 引用 • 442 回帖
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    140 引用 • 931 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 5 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 703 关注