Skąd rename
pochodzi polecenie?
user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
command-line
dpkg
rename
guettli
źródło
źródło
rename
co jest dostarczane z Fedorą, jest jednak inne. Wygląda na skompilowany program i nie jest tak potężny, jak ten,rename
który jest dostarczany z Ubuntu. Uważaj więc, jeśli używasz skryptów w innej dystrybucji Linuksa.prename
Odpowiedzi:
Zaskakujące jest to, że pochodzi z
rename
opakowania.źródło
dpkg -S
nie podąża za dowiązaniem symbolicznym? Błąd czy funkcja?dpkg
jest praca.dpkg
dotyczy tylko zainstalowanych pakietów. Użyjupdate-alternatives --query rename
, pokaże Ci rozstrzygniętą ścieżkę łączadpkg
/dpkg-query
podał te informacje wygodnie. Jednak nie sądzę, żedpkg -S
powinienem po cichu wyłuskać dowiązania symboliczne, dopóki nie znajdzie pliku pakietu.dpkg -S foo
nie powinien znaleźć poleceniafoo
, znajduje pakiet, który zainstalował plikfoo
, i jest najbardziej przydatny, gdy jest wywoływany z bezwzględną ścieżką pliku. Byłoby miło, gdybydpkg -S /usr/bin/rename
wyjaśniono, dlaczego żaden pakiet nie udostępnia tego dowiązania symbolicznego, ale myślę, że powinien on nadal mówić prawdę, że żaden pakiet nie zawiera.Prawdopodobnie przekonasz się, że jest to łącze symboliczne zarządzane przez
update-alternatives
mechanizm:Możesz zobaczyć opcjonalne implementacje za pomocą
i może wybierać między implementacjami za pomocą
Pakiet FWIW
file-rename
jest dostarczany przezrename
pakiet, podczas gdy oryginałprename
jest dostarczanyperl
sam. Odapt-cache show rename
:Jakby to jeszcze nie było dość mylące, możesz także natknąć się na jeszcze jedną
rename
zutil-linux
paczki - zobacz Co to za wszystkie nazwy?źródło
Jeśli mówimy o
/usr/bin/rename
skrypcie perl, który jest całkiem niezły, torename
polecenie należy do własnego osobnego pakietu.W przypadku powłoki Korna i jego pochodnych
rename
jest to wbudowane polecenie powłoki.źródło
rename
polecenia, alerename
nie tylko się do niego odwołuje/usr/bin/rename
, jak widzicie w mojej odpowiedzi. Użytkownicy, którzy mają powłoki ksh lub mksh, mogą nie być tego świadomi. Kiedy osobiście zacząłemmksh
, byłem bardzo zaskoczony, kiedyrename
nie akceptowałem wyrażenia regularnego, dopóki nie zdałem sobie sprawy, że były to dwie różne rzeczy. Nie używaj też moich słów „Jeśli mówimy o x” dosłownie, rozważ to jako sposób na powiedzenie „W przypadku”