Utilice el find
dominio. De forma predeterminada, enumerará de forma recursiva todos los archivos y carpetas que descienden de su directorio actual, con la ruta completa (relativa).
Si desea la ruta completa, use:find "$(pwd)"
.
- Si desea restringirlo solo a archivos o carpetas, use
find -type f
ofind -type d
, respectivamente. - Si desea que se detenga en una cierta profundidad de directorio, use
find -maxdepth 2
, por ejemplo.
Lea Finding Files para obtener un manual extenso sobre GNU find
, que es el predeterminado en Linux.
$ pwd
/home/victoria
$ find $(pwd) -maxdepth 1 -type f -not -path '*/\.*' | sort
/home/victoria/new
/home/victoria/new1
/home/victoria/new2
/home/victoria/new3
/home/victoria/new3.md
/home/victoria/new.md
/home/victoria/package.json
/home/victoria/Untitled Document 1
/home/victoria/Untitled Document 2
$ find . -maxdepth 1 -type f -not -path '*/\.*' | sed 's/^\.\///g' | sort
new
new1
new2
new3
new3.md
new.md
package.json
Untitled Document 1
Untitled Document 2
Notas:
.
:carpeta actual- quitar
-maxdepth 1
para buscar recursivamente -type f
:busca archivos, no directorios (d
)-not -path '*/\.*'
:no devolver.hidden_files
sed 's/^\.\///g'
:eliminar el./
antepuesto de la lista de resultados
Para completar, el ls -lR /
El comando enumerará el nombre de cada archivo, el tipo de archivo, los bits de modo de archivo, la cantidad de enlaces duros, el nombre del propietario, el nombre del grupo, el tamaño y la marca de tiempo de cada archivo (para el que tiene permiso de acceso) desde el directorio raíz hacia abajo. (l
es para una lista larga, es decir, toda esa información, R
es recurrir a directorios, /
comienza en la raíz del sistema de archivos).
Hay una serie de parámetros para acercar la información de salida a dir /S /A
, pero debo admitir que no sé cómo traducir el /B
.
Para obtener información útil, intentaría:ls -lAFGR --si /
donde
- l =lista larga (como se mencionó anteriormente)
- A =casi todos los archivos (no incluye . y .. en cada directorio, pero muestra todos los archivos ocultos)
- F =mostrar indicador de archivo, (uno de
*
para archivos exe,/
para directorios,@
para enlaces simbólicos,|
para FIFO,=
para enchufes, y>
para puertas) - G =no mostrar información del grupo (elimine esto si desea verlo)
- R =lista recursivamente de directorios (subdirectorios) y
- --si =muestra el tamaño del archivo en formato legible por humanos, por ejemplo, 1M (donde 1M =1000B)
ls
puede proporcionar una sinopsis más fácil de leer de directorios y archivos dentro de esos directorios, como find
La salida de puede ser difícil de escanear cuando los archivos están contenidos en estructuras de directorio realmente largas (que abarcan varias líneas). El corolario es que cada archivo se enumera por sí solo (es decir, sin información de la ruta del directorio) y es posible que tenga que retroceder un par de páginas/pantallas para encontrar los directorios en los que se encuentra un archivo en particular.
Además, find no contiene la información /A en el comando DIR. He sugerido una serie de atributos en el comando que he mostrado (que coincidentemente muestran la utilidad adicional que obtienes de Linux sobre un determinado sistema propietario), pero si lees el man
y info
páginas en ls
, podrá ver qué incluir o no.