ls --color=never --indicator-style=none | awk '{print length, $0}' | sort -n | cut -d" " -f2-
To see it in action, create some files
% touch a ab abc
and some directories
% mkdir d de def
Output of the normal ls command
% ls a ab abc d/ de/ def/
Output from the proposed command
% ls --color=never --indicator-style=none | awk '{print length, $0}' | sort -n | cut -d" " -f2- a d ab de abc def
tags | YYYY-MM-DD, YYYYMMDD, YYYYMMDD_HHMMSS
Use one of
--time-style='+%Y%m%d_%H%M%S' --time-style='+%Y-%m-%d' --time-style='+%Y%m%d'
For example
% ls -l --time-style='+%Y%m%d_%H%M%S' ~/.vimrc -rwx------ 1 rajulocal rajulocal 1112 20201017_141554 /home/rajulocal/.vimrc* % ls -l --time-style='+%Y-%m-%d' ~/.vimrc -rwx------ 1 rajulocal rajulocal 1112 2020-10-17 /home/rajulocal/.vimrc* % ls -l --time-style='+%Y%m%d' ~/.vimrc -rwx------ 1 rajulocal rajulocal 1112 20201017 /home/rajulocal/.vimrc*
“ls -F” appends indicators */=>@| to filenames.
Ref:- https://unix.stackexchange.com/questions/82357/what-do-the-symbols-displayed-by-ls-f-mean
ls -al | cut -d ' ' -f 6-
Another way (using find):
find -maxdepth 1 -type f -printf "%TY %Tb %Td %TH:%TM\t%p\n"
To sort the files based on timestamp (reverse chronological order)
find -maxdepth 1 -type f -printf "%T+#%TY %Tb %Td %TH:%TM\t%p\n" | sort -rn| cut -d# -f2-
The %T+ is used to sort the output properly and gets removed by cut afterwards.