Jak zmienić nazwę katalogu w systemie Linux

Opublikowany: 2022-06-16
Laptop z systemem Linux wyświetlający monit bash
fatmawati achmad zaenuri/Shutterstock.com

Zmiana nazwy katalogu w Linuksie jest łatwa i istnieje wiele sposobów na zrobienie tego. Od zmiany nazwy pojedynczego katalogu do znajdowania i zmieniania nazw wielu, oto jak to zrobić.

Twoje dane są bezpieczne

Zmiana nazw katalogów to coś, co wszyscy musimy od czasu do czasu robić.

Możemy utworzyć katalog i błędnie przepisać jego nazwę, i chcemy to naprawić. Często cel katalogu zmienia się w czasie lub w trakcie trwania projektu i chcesz dostosować nazwę, aby odzwierciedlała jego nowe zastosowanie. Być może zdekompresowałeś plik archiwum i utworzyłeś drzewo katalogów z nazwami katalogów pisanymi wielkimi literami, a chciałbyś, aby były pisane małymi literami.

Czym są pliki i foldery komputerowe?
POWIĄZANE Co to są pliki i foldery komputerowe?

Jakikolwiek powód. zmiana nazwy katalogu nie wpływa na przechowywane w nim dane. Zmienia ścieżkę do tych danych, ale pliki i katalogi w katalogu o zmienionej nazwie pozostają nienaruszone.

Nie zmieniaj nazw katalogów systemowych. Zmiana ścieżki do plików systemowych i poleceń będzie miała co najmniej szkodliwy wpływ na działanie komputera. Jeśli musisz użyć sudo do zmiany nazwy katalogu — chyba że naprawdę wiesz, co robisz — prawdopodobnie nie powinieneś zmieniać nazwy.

Korzystanie z polecenia mv

W najprostszych przypadkach wszystko, czego naprawdę potrzebujemy, to polecenie mv . Jest to integralna część każdej dystrybucji Linuksa, więc nie ma nic do zainstalowania.

Reklama

Komenda mv ma ponad 50 lat w momencie pisania tego tekstu. Pochodzi z zarania Uniksa, kiedy modne były krótkie i tajemnicze polecenia, prawdopodobnie po to, by zmniejszyć liczbę znaków, które musiały przechodzić wolnymi liniami szeregowymi od dalekopisów i głupich terminali do rzeczywistego komputera.

W rzeczywistości oznacza „przenieś” i może być używany do przenoszenia plików z katalogu do katalogu. Jeśli przeniesiesz plik do tej samej lokalizacji, w której już się znajduje, i nadasz mu nową nazwę, zmieniłeś nazwę pliku. To samo możemy zrobić z katalogami.

W tym katalogu znajdują się dwa podkatalogi.

 ls 

Wyświetlanie dwóch podkatalogów

Aby zmienić nazwę katalogu, używamy polecenia mv. Musimy podać aktualną nazwę katalogu i nową nazwę.

 mv archiwum starych prac-2 

Zmiana nazwy katalogu za pomocą mv

Jeśli katalog, którego nazwę chcesz zmienić, nie znajduje się w bieżącym katalogu, podaj ścieżkę oraz nazwę katalogu.

 mv ~/htg/stara-praca ~/htg/archiwum-2
 ls 

Zmiana nazwy katalogu w innym katalogu za pomocą mv poprzez określenie ścieżki w wierszu poleceń

Korzystanie z przeglądarki plików

Przeglądarki plików mogą zmieniać nazwy katalogów. Skrót klawiszowy w aplikacji Pliki GNOME to F2. Zaznaczenie katalogu i naciśnięcie klawisza F2 otwiera okno dialogowe „Zmień nazwę folderu”.

Używanie przeglądarki fie do zmiany nazwy katalogu

Reklama

Wpisz nową nazwę i kliknij zielony przycisk „Zmień nazwę”.

Podanie nowej nazwy katalogu w przeglądarce plików

Nazwa katalogu została zmieniona dla Ciebie.

Zmieniony katalog w oknie przeglądarki plików

To takie proste.

Polecenie zmiany nazwy

Jeśli twoje potrzeby są bardziej skomplikowane niż prosta zmiana nazwy katalogu, możesz potrzebować użyć polecenia rename . Pozwala to na użycie wyrażeń Perla do zmiany nazw plików i katalogów. Zapewnia znacznie wydajniejszy i bardziej elastyczny sposób zmiany nazw katalogów.

Będziemy mówić o poleceniu rename opartym na Perlu. Istnieje inne, starsze polecenie o nazwie rename , które jest częścią podstawowych narzędzi systemu Linux. Prawdopodobnie będziesz musiał zainstalować polecenie rename Perla, którego chcemy użyć.

Aby uniknąć kolizji nazw z istniejącym poleceniem rename , polecenie rename Perla nazywa się prename w Fedorze i perl-rename w Manjaro. W Ubuntu polecenia rename i prename są dowiązaniami symbolicznymi, które prowadzą do pliku binarnego o nazwie file-rename .

Tak więc w Manjaro poleceniem, którego będziesz potrzebować, jest perl-rename , aw Fedorze jest to prename . W Ubuntu możesz użyć rename lub prename .

Aby zainstalować zmianę nazwy Perla, na Ubuntu musisz wpisać:

 sudo apt install zmień nazwę 

Instalowanie zmiany nazwy na Ubuntu

W Fedorze polecenie to:

 sudo dnf install prename 

Instalowanie prename w Fedorze

W Manjaro pakiet nazywa się perl-rename .

 sudo pacman -Sy perl-rename 

Instalowanie perl-rename na Manjaro

Reklama

Upewnij się, że używasz odpowiedniego polecenia dla swojej dystrybucji, jeśli chcesz pracować z przykładami.

Pierwsze kroki ze zmianą nazwy

Polecenie rename pobiera wyrażenia regularne Perla i stosuje je do pliku lub katalogu, albo grupy plików lub katalogów.

W naszym katalogu mamy kolekcję innych katalogów.

 ls 

Zbiór katalogów składających się z wielkich, małych i mieszanych liter

Ich nazwy są mieszanką małych, wielkich i mieszanych liter. Możemy je wszystkie przekonwertować na małe litery z odpowiednim wyrażeniem.

 zmień nazwę 'y/AZ/az/' *
 ls 

Konwersja katalogów na małe litery

Wszystkie katalogi są teraz pisane małymi literami, niezależnie od tego, czy wcześniej były w całości wielkimi literami, czy zawierały nieparzystą wielką literę.

Cała magia zawarta jest w wyrażeniu. Wyrażenie jest ujęte w pojedyncze cudzysłowy „ ' ”. To właśnie oznacza całe polecenie.

  • y : Oznacza to wyszukanie dowolnego znaku z pierwszego zakresu znaków i zastąpienie go odpowiednim znakiem z drugiego zakresu znaków.
  • /AZ/az/ : Pierwszy zakres to wszystkie litery od „A” do „Z”, a drugi zakres to wszystkie znaki od „a” do „z”.
  • * : Symbol wieloznaczny gwiazdki oznacza zastosowanie tego do wszystkich katalogów.
Reklama

Innymi słowy, polecenie brzmi: „dla wszystkich katalogów zamień dowolne wielkie litery na równoważną małą literę”.

Oczywiście możesz zmienić nazwę pojedynczego katalogu za pomocą rename , chociaż jest to przesada. Będziesz szybszy używając mv .

 zmień nazwę 's/gamma/epsilon-2/' *
 ls 

zmiana nazwy pojedynczego katalogu za pomocą zmiany nazwy

Litera „s” w tym wyrażeniu oznacza substytut. Sprawdza każdy katalog, aby zobaczyć, czy jego nazwa to „gamma”. Jeśli tak, zastępuje go „epsilon-2”. Należy jednak pamiętać, że pasowałby również do katalogu o nazwie „gamma-zeta”, na przykład zmieniając jego nazwę na „epsilon-2-zeta”.

Możemy tego uniknąć, dodając metaznaki początku ciągu „ ^ ” i końca ciągu „ $ ” do pierwszej klauzuli wyrażenia.

 ls
 zmień nazwę 's/^gamma$/epsilon-2/' *
 ls 

Ograniczenie akcji zmiany nazwy tylko do całych nazw katalogów

To pozostawia katalog „epsilon-2” nietknięty.

Używanie zmiany nazwy z innymi poleceniami

Możemy użyć innych poleceń, aby zlokalizować katalogi, nad którymi chcemy rename . Jeśli mamy zestaw katalogów zagnieżdżonych i chcemy zmienić nazwy wszystkich, które kończą się na „-old”, tak aby kończyły się na „-archive”, możemy to osiągnąć za pomocą find i xargs .

Jak korzystać z polecenia xargs w systemie Linux
POWIĄZANE Jak korzystać z polecenia xargs w systemie Linux

Musimy użyć xargs , ponieważ rename nie akceptuje danych wejściowych z potoku. Polecenie xargs rozwiązuje ten problem, akceptując dane wejściowe z potoku i dodając do wiersza polecenia innego polecenia jako parametr wiersza polecenia.

Nasze polecenie wygląda tak:

 odnaleźć . -depth -type d -name "*-old" | xargs -r zmień nazwę "s/stary$/archiwum/"
  • . : Mówimy find, aby rozpoczął wyszukiwanie w bieżącym katalogu. Oczywiście może to być dowolna ścieżka.
  • -głębokość : Użyj wyszukiwania w głąb. Oznacza to, że zawartość głębiej zagnieżdżonych podkatalogów jest przetwarzana przed wyższymi.
  • -type d : Szukaj katalogów, a nie plików.
  • -nazwa „*-stare” : wskazówka wyszukiwania. Szukamy katalogów o nazwach kończących się na „-stare”.
  • | : Przesyłamy dane wyjściowe z find do polecenia xargs .
  • xargs -r : Opcja -r (nie uruchamiaj, jeśli jest pusta) oznacza, że ​​nie uruchamiaj polecenia, jeśli nie ma pasujących katalogów.
  • zmień nazwę „s/stary$/archiwum/” : Polecenie rename do uruchomienia.

Nasze drzewo katalogów wygląda tak przed poleceniem.

Drzewo katalogów przed naszym poleceniem zmiany nazwy

Uruchamiamy nasze polecenie:

Nasze polecenie zmiany nazwy za pomocą find, xargs i rename

Reklama

Widzimy, że zmieniono nazwy wszystkich pasujących katalogów, w tym zagnieżdżonych.

Drzewo katalogów po poleceniu zmiany nazwy

Konie na kursy

Zmiana nazwy katalogu nie wymaga niczego więcej niż mv . Jeśli wolisz aplikacje z graficznym interfejsem użytkownika, możesz użyć przeglądarki plików. Jeśli masz wiele katalogów do zmiany nazwy, a zwłaszcza jeśli są one rozproszone w drzewie katalogów, będziesz potrzebować elastyczności rename .

POWIĄZANE: Jak zarządzać plikami z terminala Linux: 11 poleceń, które musisz znać