如果您正在查找如何更改时间,请参考这里的 date 命令:第 8.1 节。
time 是一个用于测量程序执行时间的实用工具。它还可以测量 CPU 使用率并显示统计信息。
使用 time -v(详细模式)可以显示有关特定程序的更详细的统计信息。
用法示例
time program_name options |
/proc(进程信息伪文件系统)下的文件显示有关系统的各种信息。可以将其视为内核所用信息的窗口。
例如
cat /proc/cpuinfo |
显示有关 CPU 的信息。
less /proc/modules |
使用上述命令查看有关系统上加载了哪些内核模块的信息。
dmesg 可用于打印(或控制)“内核环缓冲区”。dmesg 通常用于打印内核显示的启动消息内容。这在调试问题时通常很有用。
只需输入
dmesg |
显示有关已挂载文件系统空间的信息。使用 -h 选项使 df 以“人类可读”格式列出空间。例如,如果还剩 1024 千字节(大约),则 df 将显示还剩 1MB。
命令语法
df -options /dev/hdx |
后一部分是可选的,您可以简单地使用带或不带选项的 df 来列出所有文件系统上的空间。
显示有关哪些用户已登录系统的信息,包括他们的登录时间。
命令语法
who |
显示有关谁已登录系统以及他们在做什么的信息(即他们正在运行的进程)。它类似于 who,但显示的信息略有不同。
命令语法
w |
与 who 非常相似,但它仅打印当前已登录的用户名。(不需要或接受任何选项)。
命令语法
users |
显示有关各个用户何时登录或注销的记录。这包括有关计算机何时重启的信息。
要执行此操作,只需输入
last |
显示用户列表以及他们登录系统的日期/时间。
只需输入
lastlog |
告诉用户他们当前以哪个用户身份登录,这通常是他们登录时使用的用户名,但可以使用诸如 su 之类的命令更改)。whoami 不需要或接受任何选项。
只需输入
whoami |
显示内存统计信息(总计、空闲、已用、缓存、交换)。使用 -t 选项显示所有内容的总计,使用 -m 以兆字节为单位显示内存。
示例
free -tm |
这将显示内存使用情况,包括以兆字节为单位的总计。
打印计算机已“启动”多长时间,即计算机已运行多长时间。它还显示用户数量和处理器负载(CPU 的工作强度...)。
![]() | w 命令 |
---|---|
当您运行此命令时,w 命令会显示 uptime 命令的输出。您可以将 w 命令用作 uptime 的替代。 |
uname 用于打印有关系统的信息,例如操作系统类型、内核版本等。
一些 uname 选项
-a --- 打印所有可用的信息。
-m --- 仅打印与计算机本身相关的信息。
-n --- 仅打印计算机主机名。
-r --- 打印当前内核的版本号。
-s --- 打印操作系统名称
-p --- 打印处理器类型。
命令语法
uname -options |
请注意,xargs 是一个高级、令人困惑但功能强大的命令。xargs 是一个用于根据需要多次运行其他命令的命令,这样可以防止任何类型的过载... 当您运行一个命令然后添加 “| xargs 命令2” 时。command1 的结果将传递给 command2,可能是逐行传递或类似方式。
理解 xargs 往往非常困难,我的解释也不是最好的。请参考下面的示例或尝试 参考书目 中的 [6] 以获取另一个 xargs 教程。
![]() | 使用 xargs 的替代方案 |
---|---|
请注意,以下对 xargs 的解释不是最强的(在撰写本文时,我找不到更好的 :())。 替代方案可能包括编写一个简单的 bash 脚本来完成这项工作,这并非世界上最困难的任务。 |
示例
ls | xargs grep work |
第一个命令很明显,它将列出当前目录中的文件。对于 ls 的每一行输出,xargs 将在该特定行上运行 grep 并查找字符串“work”。每次在新行上执行 grep 时,输出将如下所示
file_name: results_of_grep |
如果 grep 没有找到该单词,则不会有输出;如果它有错误,则会输出错误。显然,这不是很实用(您可以直接执行
grep 'word' * |
这是一个简单的示例...
xargs 也接受各种选项
-nx --- 将前 x 个命令分组在一起
-lx --- xargs 将为每 x 行输入执行命令
-p --- 提示是否执行此特定字符串
-t --- (告知)详细模式,在执行每个命令之前回显它
-i --- 将使用类似于 find 的 -exec 选项的替换,它将在某些内容上执行某些命令。
示例
ls dir1 | xargs -i mv dir1/'{}' dir2/'{}' |
{} 将被替换为当前输入(在本例中为目录中列出的当前文件/目录)。上面的命令会将 dir1 中列出的每个文件移动到 dir2。显然,此命令不是很有用,更简单的方法是转到 dir1 并键入 mv * ../dir2
这是一个更有用的示例
\ls *.wav | xargs -i lame -h '{}' '{}'.mp3 |
这将查找当前目录中的所有 wave 文件,并将它们转换为 mp3 文件(使用 lame 编码)并在文件名的末尾附加“.mp3”,不幸的是,它不会删除 .wav,因此它不是很有用……但它可以工作。