Jak zmienić nazwy plików i katalogów w Linuksie

Zmiana nazw plików to jedno z najbardziej podstawowych zadań, które często trzeba wykonywać w systemie Linux. Możesz zmienić nazwy plików za pomocą menedżera plików GUI lub terminala wiersza poleceń.

Zmiana nazwy pojedynczego pliku jest łatwa, ale zmiana nazwy wielu plików jednocześnie może być wyzwaniem, szczególnie dla użytkowników, którzy nie znają Linuksa .

W tym samouczku pokażemy, jak używać poleceń mv i rename do zmiany nazw plików i katalogów.

Zmiana nazw plików za pomocą polecenia mv #

Polecenie mv (skrót od move) służy do zmiany nazwy lub przenoszenia plików z z jednej lokalizacji do drugiej. Składnia polecenia mv jest następująca:

source może być jednym lub wieloma plikami lub katalogami, a destination może być pojedynczym plikiem lub katalogiem.

  • Jeśli określisz wiele plików jako source, destination musi być katalogiem. W tym przypadku pliki source są przenoszone do katalogu docelowego.
  • Jeśli określisz pojedynczy plik jako source, a celem destination jest istniejący katalog, plik jest przenoszony do wskazanego katalogu.
  • Aby zmienić nazwę pliku, należy określić pojedynczy plik jako source, a pojedynczy plik jako destination cel.

Na przykład, aby zmień nazwę pliku file1.txt na file2.txt, który chcesz uruchomić:

Zmiana nazwy wielu plików za pomocą polecenia mv #

Polecenie mv może zmienić nazwę tylko jednego pliku naraz, ale można go używać w połączeniu z innymi poleceniami, takimi jak jako find lub w pętli bash for lub while, aby zmienić nazwę wielu plików.

Poniższy przykład pokazuje, jak używać pętli Bash for do zmiany nazwy wszystkich elementów .html pliki w bieżącym katalogu, zmieniając rozszerzenie .html na .php.

Przeanalizujmy kod linia po linii:

  • Pierwsza linia tworzy for i iteruje listę wszystkich plików z .html.
  • Druga linia dotyczy każdego elementu listy i przenosi plik do nowy zastępujący .html przez .php. Część ${file%.html} używa rozszerzenia parametrów powłoki do usunięcia części .html z nazwy pliku.
  • done wskazuje koniec segmentu pętli.

Oto przykład użycia mv w połączeniu z find, aby osiągnąć to samo co powyżej:

przekazuje wszystkie pliki kończące się na .html w bieżącym katalogu do mv jeden po drugim za pomocą -exec opcja. Ciąg {} to nazwa aktualnie przetwarzanego pliku.

Jak widać na powyższych przykładach, zmiana nazwy wielu plików za pomocą nie jest łatwym zadaniem, ponieważ wymaga dobrej znajomości skryptów Bash.

Zmiana nazw plików za pomocą polecenia zmiany nazwy #

rename służy do zmiany nazwy wielu plików. To polecenie jest bardziej zaawansowane niż mv, ponieważ wymaga pewnej podstawowej znajomości wyrażeń regularnych.

Istnieją dwie wersje rename z inną składnią. W tym samouczku będziemy używać wersji Perl polecenia rename. Jeśli nie masz tej wersji zainstalowanej w systemie, możesz ją łatwo zainstalować za pomocą menedżera pakietów swojej dystrybucji.

  • Zainstaluj rename na Ubuntu i Debian

  • Zainstaluj rename na CentOS i Fedorze

  • Zainstaluj rename w Arch Linux

Składnia polecenia rename jest następująca:

Polecenie rename zmieni nazwę files zgodnie z określonym perlexpr wyrażenie regularne. Możesz przeczytać więcej o wyrażeniach regularnych w Perlu tutaj.

Poniższy przykład zmieni wszystkie pliki z rozszerzeniem .html na .php:

Możesz użyć opcji -n, aby wydrukować nazwy plików, których nazwy chcesz zmienić, bez zmiany ich nazwy.

Wynik będzie wyglądał mniej więcej tak:

Domyślnie polecenie rename nie zastępuje istniejących plików. Przekaż opcję -f, aby umożliwić zastąpienie istniejących plików:

Poniżej znajduje się kilka typowych przykłady użycia polecenia rename:

Wniosek #

Pokazaliśmy, jak używać mv i rename polecenia do zmiany nazw plików.

Istnieją również inne polecenia do zmiany nazw plików w systemie Linux, takie jak mmv. Nowi użytkownicy Linuksa, których onieśmiela wiersz poleceń, mogą używać narzędzi do zmiany nazwy partii GUI, takich jak Métamorphose.

Write a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *