¿Hay alguna forma de crear un vínculo físico en el buscador?

8

¿Hay alguna manera de crear un enlace duro en el buscador?

Se crearía un enlace fijo en el terminal con:

ln /path/to/file /path/to/newpath

mientras que un enlace simbólico / alias se puede hacer manteniendo pulsado el comando y la opción o

ln -s /path/to/file /path/to/newpath

(aunque aparentemente los comportamientos de 'alias' y 'ln' son diferentes )

    
pregunta keflavich 15.10.2011 - 01:02

5 respuestas

7

Podrías crear un servicio de Automator como este:

Esto toma los archivos seleccionados y crea enlaces duros a ellos en el directorio donde existen. Luego puede arrastrar y soltar los enlaces a la ubicación donde los desee.

Esto funcionará para archivos con espacios en sus nombres, pero no para archivos que contengan comillas en su nombre.

Puede acceder a él desde el menú Buscador » Servicios , al menú contextual, y puede asignarle un método abreviado de teclado análogo al L método abreviado para alias (tal vez L ).

    
respondido por el Daniel 14.11.2011 - 05:18
2

No hay manera de hacer esto en el propio Finder.app. Sin embargo, si su objetivo es simplemente evitar escribir los comandos en Terminal.app, entonces podría usar Automator.app para crear un flujo de trabajo para hacer los comandos por usted.

    
respondido por el conorgriffin 15.10.2011 - 01:09
2

Realmente quería el término del enlace en el cambio de nombre con la extensión conservada de lo contrario, el buscador no reconocería el tipo de archivo.

así que usé la Respuesta de Daniel (gracias por eso) y la cambié un poco

for f in "$@"
 do  
  dir=$(dirname "$f")
  filename=$(basename "$f")
  extension=$([[ "$filename" = *.* ]] && echo ".${filename##*.}" || echo '')
  filename="${filename%.*}"
  ln "$f" "${dir}/$filename Hardlink$extension"
done

EDITAR: agregue lo que creo que es un mejor código de manejo de extensiones - debería estar en blanco si no hay una extensión presente. Lo sentimos, no soy bueno para codificar scripts, así que comparta cualquier corrección que crea que necesita.

    
respondido por el Prasanth 20.10.2014 - 18:30
1

Sí, indirectamente.

Automator le permite crear servicios que ejecutan cualquier script de shell y también puede pedirle una ruta al destino para el enlace físico (ya que no estará en la misma ubicación que el original, probablemente). Supongo que también podría predeterminar la ubicación del enlace en algún lugar como un escritorio.

Simplemente agregue un paso para abrir un cuadro de diálogo para ingresar o, de lo contrario, elija el destino y páselo a su comando ln .

    
respondido por el bmike 14.11.2011 - 04:34
1

Buena solución proporcionada por Daniel, pero sugiero que reemplace su código de script por el que se encuentra a continuación, que conserva el tipo de archivo.

for f in "$@"
do  
  ln "$f" "Plink-$(basename "$f")"
done
    
respondido por el Louis Lietaer 11.10.2014 - 16:01

Lea otras preguntas en las etiquetas