'Yeniden adlandır' komutu nereden geliyor?

17

rename komutu nereden geliyor?

[email protected]> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
    
sordu guettli 19.01.2017 15:32

3 cevap

20

Şaşırtıcı bir şekilde, rename paketinden geliyor.

[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
    
verilen cevap Pilot6 19.01.2017 15:37
12

Muhtemelen, update-alternatives mekanizması tarafından yönetilen sembolik bir bağlantı olduğunu göreceksiniz:

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

kullanarak isteğe bağlı uygulamaları görebilirsiniz

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

ve

kullanarak uygulama arasında seçim yapabilir
update-alternatives --config rename

file-rename paketi rename tarafından sağlanırken, prename 'si perl tarafından sağlanır. % Co_de% 'den:

  

Bu paket, dosyaları yeniden adlandırmak için hem bir perl arabirimi sağlar   (Dosya: Yeniden Adlandır) ve amaçlanan bir komut satırı aracı 'yeniden adlandır'   Perl paketi tarafından sağlanan sürümü değiştirin.

Bu zaten yeterince kafa karıştırıcı değilse, ayrıca apt-cache show rename paketinden başka bir% co_de yüzdesine de rastlayabilirsiniz - bkz. Tüm isimlerle neler var?

    
verilen cevap steeldriver 19.01.2017 15:48
7

/usr/bin/rename 'den bahsediyorsak, bu oldukça şık bir perl betiğidir, sonra rename komutu kendi ayrı paketine aittir.

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

Korn kabuğu ve türevleri durumunda, rename bir kabuk yerleşik komuttur.

$ echo $SHELL
/bin/mksh

$ type rename
rename is a shell builtin
    
verilen cevap Sergiy Kolodyazhnyy 19.01.2017 15:42

Etiketlerdeki diğer soruları oku