D'où vient la commande 'rename'?

17

D'où vient la commande rename ?

[email protected]> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
    
posée guettli 19.01.2017 - 15:32
la source

3 réponses

20

Etonnamment, cela vient du paquetage rename .

[email protected]:~$ ls -l /usr/bin/rename
lrwxrwxrwx 1 root root 24 окт 17  2013 /usr/bin/rename -> /etc/alternatives/rename
[email protected]:~$ ls -l /etc/alternatives/rename
lrwxrwxrwx 1 root root 20 апр 29  2016 /etc/alternatives/rename -> /usr/bin/file-rename
[email protected]:~$ dpkg -S /usr/bin/file-rename
rename: /usr/bin/file-rename
    
réponse donnée Pilot6 19.01.2017 - 15:37
la source
12

Vous constaterez probablement qu’il s’agit d’un lien symbolique géré par le mécanisme update-alternatives :

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

Vous pouvez voir les implémentations optionnelles en utilisant

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

et peut choisir entre des implémentations utilisant

update-alternatives --config rename

FWIW file-rename est fourni par le package rename , tandis que le prename original est fourni par perl lui-même. De apt-cache show rename :

  

Ce paquet fournit à la fois une interface perl pour renommer des fichiers   (File :: Rename) et un outil de ligne de commande «rename» destiné à   remplacer la version actuellement fournie par le paquet perl.

Comme si cela n’était pas déjà assez compliqué, vous pourriez aussi rencontrer un autre rename du paquet util-linux - voir Quels sont les renom?

    
réponse donnée steeldriver 19.01.2017 - 15:48
la source
7

Si nous parlons de /usr/bin/rename , qui est un script perl très pratique, alors la commande rename appartient à son propre package séparé.

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

Dans le cas du shell Korn et de ses dérivés, rename est une commande intégrée du shell.

$ echo $SHELL
/bin/mksh

$ type rename
rename is a shell builtin
    
réponse donnée Sergiy Kolodyazhnyy 19.01.2017 - 15:42
la source

Lire d'autres questions sur les étiquettes