如何统计Linux中文件和文件夹/目录的数量
4个回答
展开全部
在本教程中,我们将向您展示如何使用多个命令,并使用 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 -l
5
细节:
ls : 列出目录内容
-l : 使用长列表格式
| : 将一个程序的输出发送到另一个程序进行进一步处理的控制操作符
wc : 这是一个统计每个文件的换行符、单词和字节数的命令
-l : 输出换行符的数量
为了实验,我打算总共创建 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 -l
5
细节:
ls : 列出目录内容
-l : 使用长列表格式
| : 将一个程序的输出发送到另一个程序进行进一步处理的控制操作符
wc : 这是一个统计每个文件的换行符、单词和字节数的命令
-l : 输出换行符的数量
展开全部
1) 统计当前文件夹下文件的个数:
ls -l |grep "^-"|wc -l
2) 统计当前文件夹下目录的个数:
ls -l |grep "^d"|wc -l
3) 统计当前文件夹下文件的个数,包括子文件夹里的 :
ls -lR|grep "^-"|wc -l
4) 统计文件夹下目录的个数,包括子文件夹里的:
ls -lR|grep "^d"|wc -l
ls -l |grep "^-"|wc -l
2) 统计当前文件夹下目录的个数:
ls -l |grep "^d"|wc -l
3) 统计当前文件夹下文件的个数,包括子文件夹里的 :
ls -lR|grep "^-"|wc -l
4) 统计文件夹下目录的个数,包括子文件夹里的:
ls -lR|grep "^d"|wc -l
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
find / * | wc -l 所有的文件;
find / * | grep -o "/.*/" | sort -u | wc -l 所有的目录;
find / * | grep -o "/.*/" | sort -u | wc -l 所有的目录;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ll | wc -l,注意,中间那个是竖线
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询