2012-05-16 11 views
5

Tengo un directorio de inicio en mi casilla Unix. Me gustaría configurar un número o atajos para señalar el último archivo en otro directorio y el enlace se actualizará si se crea un archivo más nuevo.¿Es posible crear un enlace simbólico al último archivo en un directorio?

¿Esto es posible?

Hasta ahora capaz de obtener el archivo más reciente:

ls -lrt | tail -n1 

Gracias

[EDIT]

Tal vez podría incluso crear una concha en lugar de un enlace simbólico que encuentra la última archivo y lo devuelve para que pueda abrir/grep/delete, etc.?

Respuesta

9

En bash, esto va a hacer un enlace a la última archivo o directorio en el "directorio-objetivo" llamado "último":

ln -s target-directory/`ls -rt target-directory | tail -n1` latest 

y esto va a esperar a que un cambio en "directorio-objetivo" antes que vuelve:

inotifywait -e attrib target-directory 
+1

Gracias hombre. Solo tengo un problema con esto. Si se creó un archivo más nuevo, ¿el enlace ya no estaría actualizado? – Mick

+1

Puede ejecutar los dos comandos anteriores en un bucle infinito. Haga un enlace al último archivo, luego espere otro cambio y cree un nuevo enlace. Es posible que necesite que registre el enlace anterior antes de crear uno nuevo. Yo olvido. –

Cuestiones relacionadas