首页 > 代码库 > ls 排序

ls 排序

ls 排序

  首先我们通过man 来看看 ls其中有几项;

  • -S     sort by file size : 按大小降序

--sort=WORD
sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v

--time=WORD
with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time

--time-style=STYLE
with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like ‘date’; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1
applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with ‘posix-’, STYLE takes effect only outside the POSIX locale

  • -t     sort by modification time 按时间升序
  • -u     with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time  以文件上次被访问的时间排序。
  • -U     do not sort; list entries in directory order 不做排序
  • -v     natural sort of (version) numbers within text 
  • -X     sort alphabetically by entry extension

 

ls -lS    按大小降序
ls -l | sort -n -k5 按大小升序ls -lrt 按时间降序ls -lnt 按时间升序ls -l | sort -k9 按文件名升序(这是ls的默认输出方式)ls -lr 按文件名降序
ls -l | sort -rk9 按文件名降序

 

 

附:

ls对当前目录和文件大小排序

du -s * | sort -nr

只对当前目录排序,并用直观的大小显示出来

for i in $(ls -l |grep ^d |du -s * |sort -nr|awk {print $2});do du -sh $i;done

 

ls 排序