
¿Alguna idea de por qué hay resultados diferentes? Algunos de los cuales son engañosos.
-bash-4.2$ mkdir -p new_dir/sub_dir/under_dir
-bash-4.2$ touch new_dir/sub_dir/under_dir/file.txt
-bash-4.2$
-bash-4.2$ ls -rlt
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rlt *
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltd
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 .
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltd *
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rtlR
.:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir
./new_dir:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir
./new_dir/sub_dir:
total 4
drwxrwxr-x 2 kony kony 4096 Oct 21 20:53 under_dir
./new_dir/sub_dir/under_dir:
total 0
-rw-rw-r-- 1 kony kony 0 Oct 21 20:53 file.txt
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltR *
new_dir:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir
new_dir/sub_dir:
total 4
drwxrwxr-x 2 kony kony 4096 Oct 21 20:53 under_dir
new_dir/sub_dir/under_dir:
total 0
-rw-rw-r-- 1 kony kony 0 Oct 21 20:53 file.txt
-bash-4.2$
Respuesta1
No sé qué resultado esperaba ni qué le resulta engañoso. Obtuviste resultados diferentes porque proporcionaste entradas diferentes cada vez.
Hechos relevantes:
ls
sin operandos funciona como si el único operando fuera.
. Tenga en cuenta-rltd
que estas son opciones, no operandos.- Normalmente, si el operando es un directorio,
ls
imprimirá las entradas del directorio. Este es un tratamiento especial porque en la mayoría de los casos (si el operando es un archivo normal, un archivo especial, quince,…)ls
simplemente imprime información sobre el operando. -d
deshabilita este comportamiento especial para directorios.-R
hacels
una lista recursiva de los subdirectorios encontrados.*
en sus ejemplos fue ampliado por su shellls
incluso antes de que comenzara.*
se expande a todas las entradas en el directorio de trabajo actual con nombres que no comienzan con.
. Aparentemente, en su caso solo había una entrada coincidente en el directorio actual:new_dir
.
Estos son comandos que usted escribió, los recopilé para facilitar su lectura:
ls -rlt
ls -rlt *
ls -rltd
ls -rltd *
ls -rltR
ls -rltR *
Estos son los que realmente ejecuta, después de la expansión por parte del shell; respectivamente:
ls -rlt
ls -rlt new_dir
ls -rltd
ls -rltd new_dir
ls -rltR
ls -rltR new_dir
Estos son comandos equivalentes con operandos explícitos; respectivamente:
ls -rlt .
ls -rlt new_dir
ls -rltd .
ls -rltd new_dir
ls -rltR .
ls -rltR new_dir
Y estas son consultas descriptivas (las opciones comunes -rlt
no se explican porque entiendo que no son el problema):
ls -rlt .
– ¿Qué hay dentro.
?ls -rlt new_dir
– ¿Qué hay dentronew_dir
?ls -rltd .
- qué es.
?ls -rltd new_dir
- qué esnew_dir
?ls -rltR .
– ¿Qué hay dentro.
y en cada subdirectorio encontrado?ls -rltR new_dir
– ¿Qué hay dentronew_dir
y en cada subdirectorio encontrado?
Tienes respuestas a estas consultas. Las consultas son diferentes, también lo son las respuestas.