ver varios todos subdirectorios para otro mover los listar ejemplos directorios directorio crear copiar contenido consola comandos comando carpeta basicos archivos archivo linux command-line absolute-path ls

varios - ¿Cómo puedo listar archivos con su ruta absoluta en linux?



mover varios archivos en linux (10)

El $PWD es una buena opción por Matthew arriba. Si desea buscar solo imprimir archivos, también puede agregar la opción -type f para buscar solo archivos normales. Otras opciones son "d" solo para directorios, etc. Entonces, en su caso, sería (si deseo buscar solo archivos con .c ext):

find $PWD -type f -name "*.c"

O si quieres todos los archivos:

find $PWD -type f

Nota: no puede crear un alias para el comando anterior, porque $ PWD se completa automáticamente en su directorio de inicio cuando bash establece el alias.

Quiero generar listados de archivos recursivos con rutas completas

/home/ken/foo/bar

pero en la medida en que puedo ver tanto ls y find solo dar listados de rutas relativas

./foo/bar (from the folder ken)

Parece un requisito obvio, pero no puedo ver nada en las páginas de manual de find o ls .


Puedes usar

find $PWD

en bash


Si da comienzo a find una ruta absoluta, imprimirá rutas absolutas. Por ejemplo, para encontrar todos los archivos .htaccess en el directorio actual:

find `pwd` -name .htaccess

find simplemente anula la ruta que se le dio a una ruta relativa al archivo desde esa ruta.

Greg Hewgill también sugirió usar pwd -P si desea resolver los enlaces simbólicos en su directorio actual.


Si le asigna al comando de búsqueda una ruta absoluta, escupirá los resultados con una ruta absoluta. Entonces, desde el directorio de Ken si tuvieras que escribir:

encontrar / home / ken / foo / -name bar -print
(en lugar de la ruta de acceso relativa. -name bar -print)

Usted debe obtener:

/ home / ken / foo / bar

Por lo tanto, si desea un ls -l y le devuelve la ruta absoluta, simplemente puede indicar al comando de búsqueda que ejecute un ls -l en lo que encuentre.

encuentra / home / ken / foo -name bar -exec ls -l {}; /

NOTA: Hay un espacio entre {} y;

Obtendrás algo como esto:

-rw-r - r-- 1 ken admin 181 27 de enero 15:49 / home / ken / foo / bar

Si no está seguro de dónde está el archivo, siempre puede cambiar la ubicación de búsqueda. Siempre que la ruta de búsqueda comience con "/", obtendrá una ruta absoluta a cambio. Si está buscando una ubicación (como /) donde va a recibir muchos errores de permiso denegado, entonces recomendaría redirigir el error estándar para que pueda ver los resultados de la búsqueda:

busque / -nombre barra -exec ls -l {}; / 2> / dev / null

(2> es la sintaxis de las carcasas portada y bash, pero no funcionará con c shell. Puede funcionar también en otras shells, pero solo sé con certeza que funciona en bourne y bash).

¡Espero que esto ayude!



find / -print hará esto


ls -1 | awk -vpath=$PWD/ ''{print path$1}''


ls -d $PWD/*


lspwd() { for i in $@; do ls -d -1 $PWD/$i; done }


readlink -f filename

Da el camino absoluto completo. pero si el archivo es un enlace simbólico, obtendrás el nombre final resuelto.