Farklı “rename” komutları arasındaki fark nedir?


13

Ubuntu 14.04'ten beri en az üç renamekomut vardır:

  1. renameutil-linuxpaket tarafından sağlanan , bkz. man rename.ul
  2. renametarafından sağlanan perlpakette, bkz adam prename
  3. renamerenamepaket tarafından sağlanan , bkz. man file-rename

Sorular:

  • Bu komutlar arasındaki farklar tam olarak nedir?
  • Nasıl geliyor aynı adı kullanarak farklı komutlar sağlayan birden fazla paket var - Sanırım bu bir kaza değil mi?
  • perlPaketin “full” renamekomutunu içermesi veya hiç komut içermemesi oldukça kolay olmaz mıydı rename? En azından Ubuntu 17.04'e kadar bu görünüşte eksik kalan bölünme neden devam ediyor?

Bu soru U&L'de daha sonra sorulmuştur (daha sonra öğrendiğim gibi):
Tüm yeniden adlandırmalar nedir: prename, rename, file-rename?

Yanıtlar:


8

Aynı adı kullanarak farklı komutlar sağlayan iki paket nasıl olur (kazara değilse)?

Bu olağandışı değil. Yazarlar genellikle düşündükleri en basit komut adını seçerler, bu nedenle iki kişi dosyaları yeniden adlandırmak için bir komut yazarsa, muhtemelen her ikisini de adlandıracaktır rename. Debian Alternatifleri sisteminin arkasındaki nedenlerden biri budur - benzer şekilde adlandırılmış komutlar sağlayan paketlerin bir arada var olmasına ve bir paketin diğerinin yerini almasına izin verir. Örneğin, birden çok awk'ler vardır - mawk, original-awk, gawk(hepsi awk'ın olarak kendilerini bakın rağmen). Alternatif sistemle, hepsini aynı anda kurabilir ve varsayılan olarak herhangi biri arasında kolayca geçiş yapabilirsiniz awk.

Bu özel durumda, prenamePerl kaynak kodundan gelir. Debian paket tutucular başlangıçta vardı renamekarşılamak için daha sonra alternatif sistemine geçiş Perl biri olmak renameden util-linux. Sonra birisi Perl en geliştirilmiş bir versiyonu yazdı renameiçinde Dosya-Yeniden Adlandır Perl modülü sonra başka alternatif olarak eklenmiştir. Ancak bu, dosyaları yeniden adlandırmak için tek Perl modülü bile değil.

perlPaketin “full” renamekomutunu içermesi veya hiç komut içermemesi oldukça kolay olmaz mıydı rename? En azından Ubuntu 17.04'e kadar bu görünüşte eksik kalan bölünme neden devam ediyor?

Bu durumun nasıl geliştiğini görmek için Debian hatası # 735134'e bakın . Debian koruyucular genellikle, ciddi bir şey yaparken, çalışma komutunu başka bir komutla değiştirmek gibi en az bir sürüm tercih etmeyi tercih ederler. prenamejessie için tutuldu ve şimdi buster için kaldırıldı. Buna ek olarak, renameartık rename.uluyumsuz olduğu için alternatif sistem altında olmayacak gibi görünüyor . renamesadece olacak file-rename.

Ubuntu genellikle Debian'dan ambalaj değişiklikleri renamealdığından, Debian'da olanlar Ubuntu tarafından er ya da geç, muhtemelen 18.04'te alınacak. 17.10 için çok geç gibi görünüyor.

Bu komutlar arasındaki farklar tam olarak nedir?

Temel olarak, hem prenameve hem de file-renamedosyaları yeniden adlandırmak için Perl ifadeleri çalıştırın. file-renamesadece aktif olarak korunur ve daha fazla seçeneği destekler. renamedan util-linuxtamamen farklı işler, kalıpları için kendi kuralları vardır.


Dan man prename17.10 için , aslında aldın 17.10 benziyor file-renameyerine prename. 18.04 için aynı .
wjandrea
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.