Где делает rename
команда прибывает из?
user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
Удивительно, это прибывает из 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
Если мы говорим приблизительно /usr/bin/rename
, который является довольно изящным сценарием жемчуга, то rename
команда принадлежит своему собственному отдельному пакету.
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 и ее производных, rename
оболочка встроенная команда.
$ echo $SHELL
/bin/mksh
$ type rename
rename is a shell builtin
Вы, вероятно, найдете, что это - символьная ссылка, которой управляют update-alternatives
механизм:
$ ls -l $(which rename)
lrwxrwxrwx 1 root root 24 Jun 29 2016 /usr/bin/rename -> /etc/alternatives/rename
Вы видите, что дополнительные реализации используют
$ update-alternatives --list rename
/usr/bin/file-rename
/usr/bin/prename
и может выбрать между использованием реализаций
update-alternatives --config rename
FWIW file-rename
обеспечивается rename
пакет, тогда как оригинал prename
обеспечивают perl
самостоятельно. От apt-cache show rename
:
Этот пакет обеспечивает и интерфейс жемчуга для переименования файлов (File::Rename) и инструмент командной строки, 'переименовывают', который предназначается для замены версии, в настоящее время предоставляемой пакетом жемчуга.
Как будто это уже не путало достаточно, можно также столкнуться еще один rename
от util-linux
пакет - видит то, Что со всем переименовыванием?