find $DIR -depth -maxdepth 3 \
-type d -readable -printf \
'printf "\\n%p\\n"
ls -t --color=always "%p"\n' |\
. /dev/stdin 2>&-
Ciò evita qualsiasi problema con l'elenco degli argomenti poiché l'unico argomento che lsverrà mai ricevuto è il nome della directory che si desidera elencare. Puoi farlo con qualsiasi cosa ti piaccia.
Il guscio solo . sourcesil |pipecome uno script di shell - E 'lo stesso processo e non ha i problemi che possono verificarsi quando si execveè chiamato.
In ogni caso - quanto sopra va solo a tre profondità che è regolabile cambiando maxdepth. Inoltre, per prima cosa approfondisce, quindi tornerai alla directory corrente da depth.
Potresti notare che ottieni anche $LSCOLORS- sulla mia macchina fornisce anche colonne stampate ordinatamente e tutto il resto da cui vorresti ls- o, del resto , qualsiasi cosa tu possa immaginare di voler fare. source.
NO SVN
Ancora una volta, questo farà tutto ciò che ti aspetti ls. Quindi nascondere i .svnfile è semplice come cambiare la lslinea in:
ls -t --color=always --hide="*svn" "%p"\n
O se vuoi vedere le svnestensioni in ogni cartella MA ./svnpuoi cambiarlo in modo che l'intero comando assomigli a questo:
find $DIR -depth -maxdepth 3 \
-type d -readable -printf \
'printf "\\n%p\\n" ; hide=
[ "%p" = "./svn" ] && hide="*svn"
ls -t --color=always --hide="$hide" "%p"\n' |\
. /dev/stdin 2>&-
Personalmente, mi piace con ls -se, se ti interessa, -uordinerò in base al tempo di accesso piuttosto che al tempo mod.