Si ls enumera el contenido del directorio actual, ¿hay un comando similar que enumere el contenido de un directorio no actual, sin usar cd?
Después de ls
simplemente escribir la ruta del directorio que desea enumerar y lo obtendrá. Imagina que estás en tu directorio personal pero quieres hacer una lista /etc
. Simplemente ejecute ls /etc
y lo obtendrá en la lista.
ls
Hará esto.
La sintaxis para ls
es:
ls flags file-or-directory-names
Para lo que estoy llamando file-or-directory-names
, puede enumerar archivos en el directorio actual, para que solo se enumeren ciertos archivos. Por ejemplo, ls -l foo bar
enumerará información sobre just foo
y bar
(en forma larga, como le he dado a la -l
bandera). ls baz*go
enumerará todos los archivos cuyos nombres comienzan baz
y terminan con go
(si corresponde).
Pero cuando se le da un nombre de directorio a ls
, se muestra el contenido de ese directorio en lugar del directorio actual.
Entonces, para enumerar el contenido de /var/log
, simplemente ejecute:
ls /var/log
Si proporciona una ruta relativa para el directorio, es decir, una que no comience con un, /
entonces buscará ese directorio dentro del directorio actual (tal como busca archivos). Pero seguirá enumerando el contenido del directorio, como desee.
Como nota al margen, a veces puede encontrar que no desea enumerar el contenido de un directorio, sino simplemente enumerar el directorio de la misma manera que se enumeraría un archivo. Para hacer esto, puedes pasar la -d
bandera. Por ejemplo, esto se muestra /var/log
en forma larga (no su contenido , sino /var/log
sí mismo):
ls -ld /var/log
ls
no es responsable de expandirbaz*go
a todos los archivos que comienzan conbaz
y terminan congo
- es el shell que hace esto.ls baz*go
es un ejemplo dels
recibir (potencialmente) múltiples argumentos parafile-or-directory-names
(y de esta manera es similar als foo bar
).