Beyond -lah
You already know the long-all-human combo. Here's what else ls can do without reaching for find.
Sorting
-t— by modification time. Newest first.-tr— newest at the bottom. Pairs perfectly withtail:ls -tr | tail= the most recently changed.-S— by size, biggest first.ls -lhS | headis your "what's eating my disk" one-liner.-X(GNU) — by extension
Display
-1— one entry per line. Pipe-friendly.-F— append/to dirs,*to executables,@to symlinks.-d— list directories themselves, not their contents.ls -d */= just the subdirectory names.-i— show inode numbers (for hard-link spotting).-G(BSD) /--color=auto(GNU) — colorize.
Hidden vs almost-all
-a includes . (current dir) and .. (parent dir). Most days you want -A instead — every dotfile except those two.
Time precision
Default ls -l shows year for old files and time for recent. ls -l --time-style=full-iso (GNU) gives ISO-8601 timestamps. On macOS BSD ls, use ls -lT for a fully expanded timestamp.