# df 命令
df
命令用来查看当前文件系统(分区)的信息 直接输入 df
,默认输出所有分区的信息,以 1K (1024 bytes) 为单位
常用选项:
-h
,-H
:以最大的单位显示(如果超过 1M 就以 M 为单位,超过 1G 就以 G 为单位),小写和大写分别使用 1024 进制和 1000 进制-B
:按自定义的单位换算显示,可以使用的单位有 1024 进制 (K, M, G, T, P, ...) 和 1000 进制 (KB, MB, GB, TB, ...),比如-B 10K
等,并且1K
,1M
这些单位里面的1
可以省略-t
:只显示指定格式的分区,一般磁盘都是用 EXT4 分区,可以用-t ext4
忽略其他不重要的分区信息
# du 命令
du
命令用来查看文件 / 文件夹占用磁盘空间的大小 直接输入 du
,默认会将当前目录、子目录、子目录的子目录... 的信息全部输出,以 1K 为单位 也可以指定要显示的目录,比如 du /root
常用选项:
-h
:以最大的单位显示,使用 1024 进制,与df
中的选项相同-d
,--max-depth=N
:设置递归深度,比如-d 1
或者--max-depth=1
表示只显示当前目录下的文件夹信息-a
:在设置了-d
的时候,加上-a
就可以同时将文件和文件夹都显示出来,否则只会显示文件夹-B
:按自定义的单位换算显示,与df
中的选项相同-t
,--threshold=N
:设置显示的阈值,正数表示文件 / 文件夹大小大于该值才显示,负数表示文件 / 文件夹大小小于该值才显示,N
可以使用与-B
选项中相同的单位
# find 命令
find
命令用来对文件进行精确搜索,支持很多种搜索条件
命令格式:
find [OPTIONS...] [查找路径] [查找条件] [处理动作] |
- 查找路径:默认为当前工作目录,可以指定具体的目录路径
- 查找条件:进行本次搜索的标准,可以是文件名、文件大小、文件类型、文件权限等等;默认是指定目录中的所有文件
- 处理动作:对于符合条件的文件进行某个处理操作,默认将查找结果输出到 stdout
# 查找条件
可以使用 -maxdepth N
, -mindepth N
来控制递归深度
# 根据文件名查找
name 文件名
:支持通配符*
,?
,[]
,[^]
iname 文件名
:大小写不敏感,支持通配符*
,?
,[]
,[^]
# 根据正则表达式查找
regex 正则表达式
:正则表达式需要匹配整个路径,而不只是文件名
# 根据文件的属主查找
user 用户名
uid UserID
group 组名
gid GroupID
# 根据权限查找
find -perm [/-]mode |
mode
:精确匹配/mode
:隐含了逻辑或的关系,任何一个权限位的权限中只要能有一个权限匹配,即满足条件-mode
:隐含了逻辑与的关系,每一个权限位的权限中都必须同时包含指定权限位,才能满足条件
# 根据文件类型查找
-type
,可选类型有
b
:块设备c
:字符设备d
:目录文件f
:普通文件l
:符号链接文件p
:管道文件s
:套接字文件
# 根据文件大小查找
find -size [+-]n[bcwkMG] |
+
表示大于, -
表示小于,不写符号表示 (n-1, n]
# 处理动作
-ls
:将查找到的结果用ls -li
命令显示-delete
:删除查找到的文件
# xargs 命令
xargs
可以将管道或标准输入 (stdin) 数据转换成命令行参数,也能够从文件的输出中读取数据 管道输送的是纯字符串信息,所以如果管道之后的命令不是处理字符串的命令,需要使用 xargs
命令将其转换成能够被后面命令处理的参数
Example
find -perm -444 -type f xargs chmod a-r |
# sort 命令
sort
命令用来将字符串排序,可以读取标准输入,也可以读取文件内容 可以与上面与文件大小有关的命令结合使用,实现按大小排序显示
常用选项:
-r
:倒序,默认是升序排序-n
:按数字大小排序,而不是字符串(解决 10 比 2 大的问题)-h
:带单位的数字排序,如2K
,1M
等