例如,如果您创建别名:
alias cls="clear"
Run Code Online (Sandbox Code Playgroud)
它存在直到你杀死终端会话。当您启动一个新的终端窗口时,别名不再存在。如何创建存在于每个终端会话中的“永久”别名?
我有两个相同的命令,但它们不共享相同的参数:
time -f "%E %C" mycommandtomeasure/usr/bin/time -f "%E %C" mycommandtomeasure第一个不执行,而第二个执行。第一个找不到-f参数。检查时whereis time我确实得到了路径/usr/bin/time,所以我以这种方式理解它time与/usr/bin/time.
显然,我的假设是错误的。有人可以帮我详细说明吗?
我正在运行 Ubuntu 18.04,并且一般来说是 Ubuntu 和 Linux 的新手。我正在尝试将命令的执行时间测量到毫秒。我还想将此时间附加到文件中,因为我在 for 循环中多次执行此操作。最后,我想拥有最简单易读的语法。
长话短说:我希望/usr/bin/time命令返回精确到毫秒的结果。
我读过其他线程提到时间格式环境变量,但从未读过如何修改它。
在此先感谢您的帮助。
编辑:考虑到所有答案,解决方案类似于
#!/bin/bash
ts=$(date +%s%N)
command
echo "formatting $((($(date +%s%N) - $ts)/1000000)) formatting" >> file_to_append_time_to
Run Code Online (Sandbox Code Playgroud) 如果您在 Ubuntu 18.04 中测量时间,结果会显示在一行中:
$ time sleep 1
sleep 1 0.00s user 0.00s system 0% cpu 1.003 total
Run Code Online (Sandbox Code Playgroud)
这不符合 POSIX 标准,如time的手册页中所述:
-p, --portability
Use the following format string, for conformance with POSIX standard 1003.2:
real %e
user %U
sys %S
Run Code Online (Sandbox Code Playgroud)
现在我的问题是:
为什么 Ubuntu 使用自己的格式来显示资源使用情况?
另外,我如何改变行为?使用-p我上面引用的手册中的选项,我只会收到以下错误:
$ time -p sleep 1
zsh: command not found: -p
-p sleep 1 0.00s user 0.00s system 73% cpu 0.002 total
Run Code Online (Sandbox Code Playgroud)