I often use "ls -lut" in troubleshooting. What that does is show you the last time a file was "used", which can be very helpful in tracing whether or not something happened when you expected it to. However, when it comes to shell scripts, there are
some quirks you need to know about.

For example, suppose you have a a cron job set to fire off at 3:00 AM. That job in turn may fire off other scripts or programs but
your main concern is "did it run?", so when you log in the next morning you issue an "ls -lut" on it. You expect to see
3:00 for the time stamp, but you may not.

The output from that script shows that for these shells, the "used" time for "t" gets set to the time it stops, not when it starts. That may actually be useful - especially if you didn't expect the script to run as long as it did. On the other hand, if this wasn't run by a cron job and you need to know when it was run, you don't have that: you only know the end time.

Note that a Perl script will show only the start time, as will a binary executable: