首页 > 系统相关 >Linux统计文件夹下的文件数目

Linux统计文件夹下的文件数目

时间:2024-10-01 22:49:39浏览次数:7  
标签:文件 wc 文件夹 ls Linux grep 数目

最近需要统计 Linux 系统中某个文件夹下的文件数目,而Linux 系统下有三个命令:ls、grep、wc。通过这三个命令的组合,可以实现上述要求!

统计当前目录下文件的个数(不包括目录)

$ ls -l | grep "^-" | wc -l

递归统计当前目录下文件的个数(包括子目录)

$ ls -lR| grep "^-" | wc -l

查看某目录下文件夹的个数(不包括子目录)

$ ls -l | grep "^d" | wc -l

递归查看某目录下文件夹的个数(包括子目录)

$ ls -lR | grep "^d" | wc -l

查看某目录下文件夹和文件的个数(不包括子目录)

$ ls -l | grep "^[-|d]" | wc -l

递归查看某目录下文件夹和文件的个数(包括子目录)

$ ls -lR | grep "^[-|d]" | wc -l

参数说明:

  • ls -l:长列表输出该目录下文件信息,每一行对应一个文件或目录,ls -lR 是递归列出所有文件,包括子目录。
  • grep "^-":过滤ls的输出信息,一般文件是"-"开头的,目录是"d"开头的。
  • wc -l:统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。

值得注意的是:Linux文件是有类型的,我们统计的时候,通过正确的命令才能获得我们想要的结果。在Linux中可以使用以下命令查看文件类型。

ls -l path

在显示文件的属性通常会以如下形式进行显示:

drwxr-xr-x
  • 第1个字母:代表文件类型
  • 第2~4字母:代表用户的权限
  • 第5~7字母:代表用户组的权限
  • 第8~10字母:代表其他的用户的权限

在Linux常见的文件类型有7种,分别如下所示:

文件属性文件类型
- 常规文件,即file
d 目录文件
b block device 即块设备文件,如硬盘;支持以block为单位进行随机访问
c character device 即字符设备文件,如键盘支持以character为单位进行线性访问
l symbolic link 即符号链接文件,又称软链接文件
p pipe 即命名管道文件
s socket 即套接字文件,用于实现两个进程进行通信

以上信息灵活运用,可以正确帮助大家获得自己想要的统计结果!

 

标签:文件,wc,文件夹,ls,Linux,grep,数目
From: https://www.cnblogs.com/gdjgs/p/18444235

相关文章

  • Linux交叉编译工具链toolchain 查看配置明细
    前言全局说明Linux交叉编译工具链toolchain查看配置明细一、说明环境:Ubuntu18.04.6LTS(Linuxqt-vm5.4.0-150-generic#167~18.04.1-UbuntuSMPWedMay2400:51:42UTC2023x86_64x86_64x86_64GNU/Linux)pythonPython2.7.17(default,Mar82023,18:40:28)......
  • Linux系统密码忘记
    Linux系统密码忘记1.故障背景误删除或修改/etc/passwd导致无法远程登录.禁止root远程登录,没有添加普通用户,无法远程登录.root密码忘记,无法远程登录.linux无法启动.2.解决方法root密码,恢复有备份的系统文件,都要重启系统,才能进入救援模式.解决方案应用场景......
  • Linux必备优化
    Linux必备优化1.关闭selinuxkylin系统#临时关闭setenforce0#永久关闭[root@web04~]#sed-i's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config#检查显示Disabled就是关闭的[root@web04~]#grepdisabled/etc/selinux/configSELINUX=disable......
  • Linux 部署Zookeeper集群详解
    Zookeeper是一个分布式协调服务,它可以用来解决分布式系统中的很多问题,如配置管理、分布式锁、集群管理等。以下是如何在Linux环境下部署Zookeeper集群的详细步骤,以及Zookeeper集群的工作原理和选举原理。Zookeeper集群工作原理Zookeeper集群由一个领导者(Leader)和多个跟随......
  • Centos Linux查看网络连接
    方法一:使用netstat命令(需要net-tools包)[root@sre01~]#netstat-tanActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp00127.0.0.1:250.0.0.0:*......
  • Centos Linux快速清除网卡上配置的所有IP地址
    使用ipaddrflush[root@sre01~]#ipaddrflushdevens36[root@sre01~]#ipaddrshowens363:ens36:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPgroupdefaultqlen1000link/ether00:0c:29:c0:78:dbbrdff:ff:ff:ff:ff:ff......
  • 【Linux学习】基本指令其二
    前言【Linux学习】基本指令其一第一篇中介绍Linux中最基本的命令,现在继续说明后续指令。一、man指令Linux的命令有很多参数,可以通过查看联机手册获取帮助。man命令用于查看Linux系统中的手册页,提供了关于各种命令和程序的详细信息。基本语法如下:man[选项]命令......
  • Linux(三)文件管理、复杂操作与实用工具详解
    Linux学习笔记(三)文件管理、复杂操作与实用工具详解Linux学习笔记(二):深入理解用户管理、运行级别与命令行操作1.文件操作的基本操作1.1创建创建目录mkdir:创建目录mkdir/home/dog#创建单级目录mkdir-p/home/animal/tiger#创建多级目录,如果父目录不存在,将连......
  • Linux 学习笔记(二):深入理解用户管理、运行级别与命令行操作
    Linux学习笔记(二):深入理解用户管理、运行级别与命令行操作前置学习内容:Linux学习(一)1.用户管理1.1用户密码管理创建用户密码使用passwd命令可以为指定用户设置密码:sudopasswd`userName`密码找回当忘记密码时,可以采取以下步骤找回:在登录界面按e键进入编......
  • Linux 万字入门教程
    0.前言文章已经收录到GitHub个人博客项目,欢迎Star:https://github.com/chenyl8848/chenyl8848.github.io或者访问网站,进行在线浏览:https://chenyl8848.github.io/1.Linux介绍1.1引言Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix......