Dari mana datangnya rename
perintah?
user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
command-line
dpkg
rename
guettli
sumber
sumber
rename
dikirimkan dengan Fedora berbeda. Tampaknya ini adalah program yang dikompilasi dan tidak sekuatrename
yang disertakan dengan Ubuntu. Jadi berhati-hatilah saat Anda menggunakan skrip pada distribusi Linux yang berbeda.prename
Jawaban:
Anehnya, itu berasal dari
rename
paket.sumber
dpkg -S
tidak mengikuti symlink? Bug atau fitur?dpkg
pekerjaan.dpkg
hanya berurusan dengan paket yang diinstal. Gunakanupdate-alternatives --query rename
, itu akan menunjukkan Anda jalur tautan yang diselesaikandpkg
/dpkg-query
ditawarkan info ini nyaman. Namun, saya tidak berpikirdpkg -S
harus diam - diam dereference symlink sampai menemukan file paket.dpkg -S foo
tidak seharusnya menemukan perintahfoo
, ia menemukan paket yang menginstal filefoo
, dan paling berguna ketika dipanggil dengan path absolut file. Akan lebih baik jikadpkg -S /usr/bin/rename
dijelaskan mengapa tidak ada paket yang menyediakan symlink itu, tapi saya pikir itu harus tetap mengatakan yang sebenarnya tidak ada paket.Anda mungkin akan menemukan bahwa itu adalah tautan simbolik yang dikelola oleh
update-alternatives
mekanisme:Anda dapat melihat implementasi opsional menggunakan
dan dapat memilih antara implementasi menggunakan
FWIW
file-rename
disediakan olehrename
paket, sedangkan aslinyaprename
disediakan denganperl
sendirinya. Dariapt-cache show rename
:Seolah-olah ini belum cukup membingungkan, Anda mungkin juga menemukan yang lain
rename
dariutil-linux
paket - lihat Ada apa dengan semua nama itu?sumber
Jika kita berbicara tentang
/usr/bin/rename
, yang merupakan skrip perl yang cukup bagus, makarename
perintah milik paket terpisah.Dalam kasus shell Korn dan turunannya,
rename
adalah perintah built-in shell.sumber
rename
perintah, namunrename
tidak hanya disebut/usr/bin/rename
, seperti yang Anda lihat dalam jawaban saya. Pengguna yang memiliki shell ksh atau mksh mungkin tidak menyadarinya. Ketika saya secara pribadi mulai denganmksh
, saya sangat bingung ketikarename
tidak menerima ekspresi reguler, sampai saya menyadari itu adalah dua hal yang berbeda. Juga, jangan menerima kata-kata saya "Jika kita berbicara tentang x" secara harfiah, anggap itu sebagai cara untuk mengatakan "Dalam hal"