¿De dónde viene el comando 'rename'?

17

¿De dónde viene el comando rename ?

user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
    
pregunta guettli 19.01.2017 - 14:32

3 respuestas

20

Sorprendentemente, proviene del paquete rename .

pilot6@Pilot6:~$ ls -l /usr/bin/rename
lrwxrwxrwx 1 root root 24 окт 17  2013 /usr/bin/rename -> /etc/alternatives/rename
pilot6@Pilot6:~$ ls -l /etc/alternatives/rename
lrwxrwxrwx 1 root root 20 апр 29  2016 /etc/alternatives/rename -> /usr/bin/file-rename
pilot6@Pilot6:~$ dpkg -S /usr/bin/file-rename
rename: /usr/bin/file-rename
    
respondido por el Pilot6 19.01.2017 - 14:37
12

Probablemente descubrirá que se trata de un enlace simbólico gestionado por el mecanismo update-alternatives :

$ ls -l $(which rename)
lrwxrwxrwx 1 root root 24 Jun 29  2016 /usr/bin/rename -> /etc/alternatives/rename

Puede ver las implementaciones opcionales usando

$ update-alternatives --list rename
/usr/bin/file-rename
/usr/bin/prename

y puede elegir entre implementaciones usando

update-alternatives --config rename

FWIW file-rename es proporcionado por el paquete rename , mientras que prename original es proporcionado por perl . De apt-cache show rename :

  

Este paquete proporciona una interfaz perl para cambiar el nombre de los archivos   (File :: Rename) y una herramienta de línea de comando 'rename' que está destinada a   reemplace la versión actualmente suministrada por el paquete perl.

Como si esto ya no fuera lo suficientemente confuso, también puedes encontrar otro rename del paquete util-linux - ver ¿Qué pasa con todos los cambios de nombre?

    
respondido por el steeldriver 19.01.2017 - 14:48
7

Si hablamos de /usr/bin/rename , que es una secuencia de comandos perl bastante ingeniosa, el comando rename pertenece a su propio paquete separado.

rename:
  Installed: 0.20-4
  Candidate: 0.20-4
  Version table:
 *** 0.20-4 500
        500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu xenial/main i386 Packages
        100 /var/lib/dpkg/status

En el caso del shell Korn y sus derivados, rename es un comando incorporado del shell.

$ echo $SHELL
/bin/mksh

$ type rename
rename is a shell builtin
    
respondido por el Sergiy Kolodyazhnyy 19.01.2017 - 14:42

Lea otras preguntas en las etiquetas