
在本教程中,我们将向您展示如何使用多个命令,并使用 ls、egrep、wc 和 find 命令执行一些高级 *** 作。 下面的命令将可用在多个方面。 为了实验,我打算总共创建 7 个
文件和 2 个文件夹(5 个常规文件和 2 个隐藏文件)。 下面的 tree 命令的输出清楚的展示了文件和文件夹列表。 # tree -a /opt/opt├──magi│ └──2g│ ├──test5.txt│ └──.test6.txt├──test1.txt├──test2.txt├──test3.txt├──.test4.txt└──test.txt 2directories,7files 示例 1
统计当前
目录的文件(不包括隐藏文件)。 运行以下命令以确定当前目录中有多少个文件,并且不计算点文件(LCTT 译注:点文件即以“.” 开头的文件,它们在 Linux 默认是隐藏的)。 # ls -l . | egrep -c '^-'4 细节: ls : 列出目录内容-l : 使用长列表格式. : 列出有关文件的信息(默认为当前目录)| : 将一个程序的输出发送到另一个程序进行进一步处理的控制 *** 作符egrep : 打印符合模式的行-c : 通用输出控制'^-' : 以“-”开头的行(ls -l 列出长列表时,行首的 “-” 代表普通文件) 示例 2 统计当前目录包含隐藏文件在内的文件。 包括当前目录中的点文件。 # ls -la . | egrep -c '^-'5 示例 3 运行以下命令来计数当前目录的文件和文件夹。 它会计算所有的文件和目录。 # ls -l | wc -l5 细节: ls : 列出目录内容-l : 使用长列表格式| : 将一个程序的输出发送到另一个程序进行进一步处理的控制 *** 作符wc : 这是一个统计每个文件的换行符、单词和字节数的命令-l : 输出换行符的数量知道指定后缀名的文件总个数命令:find . -name *.cpp | wc -l知道一个目录下代码总行数以及单个文件行数:find . -name *.h | xargs wc -llinux统计文件夹中文件数目第一种方法:ls -l|grep “^-”|wc -lls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)。如果ls -lR|grep “^-”|wc-l则可以连子目录下的文件一起统计。grep ^- 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^dwc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。第二种方法:find ./ -type f|wc -l由于默认find会去子目录查找,如果只想查找当前目录的文件用需要说明的是第二种方法会比第一种方法快很多,尤其是也统计子目录时。
评论列表(0条)