-
ls | wc -l
:ls
列出当前目录中的文件和目录的名称,每个名称占一行。wc -l
计算行数,即文件和目录的数量。- 结果是当前目录中所有文件和目录的总数。
-
ls -l | wc -l
:- 结果是当前目录中所有文件和目录的总数加上一个,因为
ls -l
的输出中包含了一个总用量(total
)行。
- 结果是当前目录中所有文件和目录的总数加上一个,因为
-
ls -l | grep ^- | wc -l
:grep ^-
: 筛选出以-
开头的行。在ls -l
的输出中,每一行的第一个字符表示文件类型,-
表示普通文件,d
表示目录,l
表示符号链接。- 结果是当前目录中普通文件(即不包括目录、符号链接、设备文件等特殊文件)的数量。
举个例子,假设目录中有三个文件和两个目录:
-
ls
的输出会是:file1 file2 file3 dir1 dir2
ls | wc -l
的结果是5
。 -
ls -l
的输出会是:total 5 -rw-r--r-- 1 user group 0 Jan 1 00:00 file1 -rw-r--r-- 1 user group 0 Jan 1 00:00 file2 -rw-r--r-- 1 user group 0 Jan 1 00:00 file3 drwxr-xr-x 2 user group 4096 Jan 1 00:00 dir1 drwxr-xr-x 2 user group 4096 Jan 1 00:00 dir2
ls -l | wc -l
的结果是6
,因为包括了total
这一行。 -
ls -l | grep ^-
的输出会是:-rw-r--r-- 1 user group 0 Jan 1 00:00 file1 -rw-r--r-- 1 user group 0 Jan 1 00:00 file2 -rw-r--r-- 1 user group 0 Jan 1 00:00 file3
因此
ls -l | grep ^- | wc -l
的结果是3
。