297

Something annoying about ls -l command is it shows only hour and minute for a file(like 08:30). How can I see the second portion(like 08:30:44)?

man 1 ls and search for 'second' does not give any clue.

Jimm Chen
  • 6,464

6 Answers6

338

Does your version of ls support the --time-style option? If so:

ls -la --time-style=full-iso blah

-rw-r--r-- 1 root root 0 2011-11-08 18:02:08.954092000 -0700 blah
Gareth
  • 19,080
matt
  • 3,566
160

The more simple way is:

ls --full-time

which is equal to

ls -l --time-style=full-iso

If you want to show entries as hidden files starting with ., add -a:

ls --full-time -a
zhouji
  • 1,701
54

For OS X, it looks like the best you get is:

ls -l -T

From the ls(1) manpage on 10.10.5:

-T When used with the -l (lowercase letter ``ell'') option, display complete time information for the file, including month, day, hour, minute, second, and year.

natevw
  • 840
31

An alternative to the approved answer - you can use a custom format like in the date command if "--time-style=full-iso" output is too detailed for you:

ls -l --time-style=+"%b %d %Y %H:%M:%S" blah
-rw-rw-r-- 1 root root 0 Feb 03 2014 01:13:01 blah
gensec
  • 311
5

On BusyBox systems, ls -e works fine!

HeySora
  • 103
AsynKc
  • 69
4

For BSD systems including FreeBSD and macOS, it would be:

ls -la -D '%Y-%m-%dT%H:%M:%S'
miken32
  • 569
AndiDog
  • 736