zoukankan      html  css  js  c++  java
  • Linux、Mac统计文件夹下的文件数目

    注:本文出自博主 Chloneda个人博客 | 博客园 | Github | Gitee | 知乎

    本文源链接https://www.cnblogs.com/chloneda/p/linux-count-file.html

    最近需要统计 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 即套接字文件,用于实现两个进程进行通信

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

  • 相关阅读:
    一键复制文本框内容代码、
    改掉这些坏习惯,你不再是菜鸟
    使用cookie保存页面登录信息
    二维数组转换成一维数组
    jQuery选择器总结
    cookie 和session 的区别详解
    PHP扫雷(转载)。
    PHP简易计算器方法2
    PHP简易计算器方法1
    业务逻辑的存储过程(添加学生的案例)(自动编号)
  • 原文地址:https://www.cnblogs.com/chloneda/p/linux-count-file.html
Copyright © 2011-2022 走看看