zell
zell

Reputation: 10204

Get the wall time in seconds using a linux command?

How can I use a linux command to get the wall time in seconds spent for executing a program. In the example below,I expected to get "0.005".

$ time ls >/dev/null

real    0m0.005s
user    0m0.001s
sys 0m0.003s

Upvotes: 2

Views: 894

Answers (1)

user unknown
user unknown

Reputation: 36229

Depending on your path:

/usr/bin/time -f "%e"

The normal time is given by bash's (if you happen to use bash) intern time command

type time

while you need the one,

which time

will find.

So in context of your command:

/usr/bin/time -f "%e" ls > /dev/null

But to store it in a variable, you can't use

a=$(/usr/bin/time -f "%e" ls > /dev/null)

because the output of time is written to the error stream, to not inflict with the programs output (in this example ls). See the manpage of time for further details.

An alternative to call a program, which is by default replaced by a bash builtin like time or echo, is, to precede it with the keyword command:

command time -f "%e" ls 

Upvotes: 4

Related Questions