ls <path>/*/* : lista todos los ficheros a 2 niveles del actualls <path>/**/* : lista todos los ficheros en cualquier directoriols <path>/**/*.txt : lista todos los ficheros .txt en cualquier directorio por debajols **/README.*: lista todos los ficheros README en cualquier directorio por debajols **/*(.): listar solo ficherosls **/*(/): listar solo directorios## Starts with READ $ ls **/(READ)*.* ## Ends With READ $ ls **/*(READ).* ## Contains READ Anywhere $ ls **/*(READ)*.*
mucho mas:http://zsh.sourceforge.net/Doc/Release/Expansion.html#Filename-Generation
ls <path>/**/*<1-10>.txt : lista cualquier fichero contenido en cualquier subdirectorio que acabe entre 1 y 10 (y .txc)ls <path>/**/[a]*.txt : ficheros que empiezan por als <path>/**/(ab|bc)*.txt : ficheros que empieza por ab* o bc*ls <path>/**/[^cC]*.txt : ficheros que no empiecen por c o C# All files that start with A $ ls **/[A]*(.) # All files that start with A or a $ ls **/[Aa]*(.) # All Files that contain the number $ ls **/*[1]*(.) # Any files that end in a vowel $ ls **/*[aeiouy](.) # Files that don't start with A or a $ ls **/[^Aa](.) # Files that end in a number $ ls **/*<1-10>(.)
/ : solo directorios. : solo ficheros regularesLn : indica tamaño exacto → L2m : 2MB+ : mayor que → L+2k : mayor de 2k- : menor quem : modificación- : modificados en las últimas X unidades (entre)+ : modificados más allá (antes de)M : meses → mM-1 : último mesw : semanash : horasm : minutoss : segundoso / O : ordena (ascendente / descendente) cualquier otro cualificador (pero va por separado, no inscrustado en el qualificador que queremos ordenar[a,b] : muestra los ficheros entre posiciones a y b[c] : muestra solo el fichero de posición cls -l ./**/*(.mh-24) # ficheros modificados las últimas 24h ls -l ./**/*(.omh-24) # ERROR ls -l ./**/*(.mh-24 om[1,4]) # últimas 24h, ordenados de más reciente a menos, solo del 1 al 4
e : estring → evalua una condición y solo pasan los que la cumplenls ./**/*(e:'[[ $REPLY COND ]]':)print -l <path>/**/*(/) : solo directoriosprint -l <path>/**/*(.) : solo ficheros regularesprint -l <path>/**/*(L0) : ficheros vacíosprint -l <path>/**/*(Lk+3) : ficheros más grandes de 3kprint -l <path>/**/*(mh-1) : ficheros modificados en la última horals -l <path>/**/*(om[1,3]) : mostrar ordenadamente ficheros modificados y mostrar los 3 últimosls -l zsh_demo/**/*(.Lm-2mh-1om[1,3]) ≡ ls -l zsh_demo/**/*(. Lm-2 mh-1 om [1,3]) : ficheros de menos de 2MB, modificados en la última hora, mostrar los tres primeros (por orden de modificación