10Linux操作命令df,du,time

  • df 命令
  • du 命令
  • time 命令

df 命令

linux 中 df 命令的功能是用来检查 linux 服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

df 命令是 disk free 的缩写。

(1)命令格式

1
df [选项] 文件

(2)常用参数

参数 描述
-a 全部文件系统列表
-h 方便阅读方式显示
-i 显示 inode 信息
-T 文件系统类型
-t<文件系统类型> 只显示选定文件系统的磁盘信息
-x<文件系统类型> 不显示选定文件系统的磁盘信息

(3)常用范例

  • 例一:显示磁盘使用情况,可以使用如下命令:
1
df
  • 例二:以 inode 模式来显示磁盘使用情况,可以使用如下命令:
1
df  -i
  • 例三:列出文件系统的类型,可以使用如下命令:
1
df  -T
  • 例四:显示指定类型磁盘,可以使用如下命令:
1
df  -t ext4

du 命令

linux 中 du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看。

du 命令是 disk usage 的缩写。

(1)命令格式

1
du [选项] 文件

(2)常用参数

参数 描述
-a 显示目录中个别文件的大小。
-b 显示目录或文件大小时,以 byte 为单位。
-c 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k 以 KB(1024bytes)为单位输出。
-m 以 MB 为单位输出。
-s 仅显示总计,只列出最后加总的值。
-h 以 K,M,G 为单位,提高信息的可读性

(3)常用范例

  • 例一:显示指定文件所占空间,以方便阅读的格式显示,可以使用如下命令:
1
du  -h  file1.txt
  • 例二:显示指定目录所占空间,以方便阅读的格式显示,可以使用如下命令:
1
du  -h  Desktop
  • 例三:显示几个文件或目录各自占用磁盘空间的大小,并且统计总和,使用如下命令:
1
du -ch file1.txt file2.txt
  • 例四:按照空间大小逆序排序显示,使用如下命令:
1
du  -h  | sort -nr | head -10

time 命令

time 命令常用于测量一个命令的运行时间,包括实际使用时间(real time)、用户态使用时间(the process spent in user mode)、内核态使用时间(the process spent in kernel mode)。

实际时间: 从 command 命令行开始执行到运行终止的时间。

用户态使用时间:命令执行完成花费的用户 CPU 时间,即命令在用户态中执行时间总和。

内核态使用时间:命令执行完成花费的系统 CPU 时间,即命令在核心态中执行时间总和。

(1)命令格式

1
time 命令

(2)常用范例

  • 例一:测量 date 命令运行的时间,可以使用如下命令:
1
time date

从上面的结果可以到:实际运行时间为 0.005s,用户 cpu 时间为 0.001s,系统 cpu 时间为 0.001s。

其中,用户 CPU 时间和系统 CPU 时间之和为 CPU 时间,即命令占用 CPU 执行的时间总和。实际时间要大于 CPU 时间,因为 Linux 是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。

  • 例二:将 time 命令的执行结果保存到文件中,可以使用如下命令:
1
2
{ time date; } 2>1.txt
(time date) 2>2.txt

time 是 shell 的关键字,shell 做了特殊处理,它会把 time 命令后面的命令行作为一个整体来进行处理,在重定向时,实际上是针对后面的命令来的,time 命令本身的输出并不会被重定向的。比如,执行 time date 2>3.txt,3.txt 内容为空。另外,time 命令的输出信息是打印在标准错误输出上的。