文件和目录管理

🍊 1、统计

🐹 1.1、统计数目

Linux下有三个命令:lsgrepwc。通过这三个命令的组合可以统计目录下文件及文件夹的个数。

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

$ ls -l | grep "^-" | wc -l
$ find ./ -type f | wc -l
  • 统计当前目录下文件的个数(包括子目录)

$ ls -lR | grep "^-" | wc -l
  • 查看某目录下文件夹(目录)的个数(包括子目录)

$ ls -lR | grep "^d" | wc -l
  • 查看某目录下PNG图片的个数

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

命令解析:

  • ls -l:长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。

  • grep "^-":过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"

  • wc -l:统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。

🐹 1.2、统计大小

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。

du可以查看文件及文件夹的大小。

df -T  # 可以用来查看分区的文件系统
df -h  # 使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
  • 统计当前目录下面所有的一级目录文件大小

$ du -h --max-depth=1 ./
  • 查看当前目录总共占的容量,而不单独列出各子项占用的容量

$ du -sh
  • 统计当前文件夹(目录)大小,并按文件大小排序

$ du -s * | sort -nr  # 如果加 h,会按文件size列值的字典顺序排序

🍊 2、显示文件

linux中命令cat、more、less均可用来查看文件内容,主要区别有: cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况; more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat强大,提供分页显示的功能,less比more更强大,提供翻页,跳转,查找等命令。而且more和less都支持:用空格显示下一页,按键b显示上一页。

🐹 2.1、cat

  1. 命令格式: cat [选项]... [文件]...

  2. 命令功能: 将[文件]或标准输入组合输出到标准输出。

  3. cat主要有三大功能:

    1. 一次显示整个文件:cat filename

    2. 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件

    3. 将几个文件合并为一个文件:cat file1 file2 > file

  4. 常用参数列表

    1. -A, --show-all 等于-vET

    2. -b, --number-nonblank 对非空输出行编号

    3. -e, 等于-vE

    4. -n, --number 对输出的所有行编号

    5. -E, --show-ends 在每行结束处显示"$"

Last updated