Jeśli pracujesz z systemami Linux od dłuższego czasu, już wiesz, jak ważne jest utrzymanie struktury systemu plików.

w niektórych przypadkach może być konieczne utworzenie katalogów tymczasowych o losowych nazwach, które trzeba później zmienić.

zmiana nazw katalogów w Linuksie nie odbywa się za pomocą dedykowanego polecenia zmiany nazw, ale za pomocą polecenia, które służy wielu celom : polecenia „mv”.,

polecenie „mv” jest używane w Linuksie, aby móc przenosić pliki, ale także zmieniać nazwy katalogów.

w tym samouczku dowiemy się, jak zmienić nazwy katalogów w Linuksie.

spis treści

Zmień nazwę katalogów w Linuksie używając mv

aby zmienić nazwę katalogu w Linuksie, użyj polecenia „mv” i określ katalog, który ma zostać przemianowany, a także miejsce docelowe dla Twojego katalogu.,

$ mv <source_directory> <target_directory>

na przykład, załóżmy, że chcesz zmienić nazwę określonego katalogu w systemie plików o nazwie „temp” (znajduje się w katalogu domowym) na „katalog” (również w katalogu domowym)

aby zmienić nazwę tego katalogu, należy użyć polecenia „mv” i podać dwie nazwy katalogów.

$ mv /home/user/temp /home/user/directory

Uwaga : użycie polecenia mv nie usunie zawartości przechowywanej w katalogach, nie stracisz żadnych plików zmieniając nazwy katalogów w systemie Linux.,

teraz, jeśli spojrzysz na wszystkie katalogi przechowywane w katalogu domowym, zobaczysz nowy wpis dla Twojego katalogu „directory”.

zajebiście, właśnie zmieniłeś nazwę katalogu na Linuksa.

Zmień nazwy katalogów używając find

w niektórych przypadkach możesz nie wiedzieć bezpośrednio, gdzie znajdują się Twoje katalogi w systemie.

na szczęście dla Ciebie istnieje polecenie, które pomaga znaleźć i zlokalizować katalogi w systemie Linux : polecenie Znajdź.,

aby znaleźć i zmienić nazwy katalogów w Linuksie, użyj polecenia „find” z opcją „type”, aby wyszukać katalogi. Możesz następnie usunąć swoje katalogi, wykonując polecenie „mv” z opcją „- execdir”.

$ find . -depth -type d -name <source_directory> -execdir mv {} <target_directory> \;

w tym przykładzie załóżmy, że chcesz zmienić nazwę katalogu zaczynającego się od „temp” w systemie plików na „katalog”.

pierwsza część polecenia zlokalizuje, gdzie znajduje się twój katalog.,

$ find . -depth -type d -name "temp"./temp

teraz, gdy wiesz, gdzie znajduje się twój katalog, możesz zmienić jego nazwę za pomocą opcji „execdir” i polecenia „mv”.

$ find . -depth -type d -name temp -execdir mv {} directory \;

zmiana nazw wielu katalogów za pomocą Bash

jak opisano w naszych poprzednich samouczkach, język skryptowy Bash może być również używany do zmiany nazw wielu katalogów w systemie plików.

aby zmienić nazwę wielu katalogów w Linuksie, utwórz nowy plik skryptu i użyj polecenia „MV” w pętli „for” do iteracji katalogów.,

Zapisz ten skrypt jako „change_name” i dodaj go do zmiennej środowiskowej PATH, jeśli chcesz go używać w całym systemie.

w tym skrypcie wymieniamy wszystkie pliki i katalogi, które znajdują się w bieżącym folderze roboczym (w którym znajduje się skrypt).

testujemy, czy wpis jest katalogiem i czy katalog istnieje, używając opcji „-d”.

wtedy, jeśli katalog istnieje, zmienia nazwę na „_temp” na końcu. Możesz dostosować tę linię, aby zmienić nazwy katalogów, jednak chcesz, aby zostały zmienione.,

$ lsfolder1/ folder2/$ change_name$ ls folder1_temp/ folder2_temp

Gratulacje, właśnie zmieniłeś nazwę katalogów używając skryptu Bash na Linuksie.

Zmień nazwy katalogów używając rename

zamiast używać polecenia „mv”, możesz użyć dedykowanego polecenia wbudowanego, jednak polecenie to może nie być bezpośrednio dostępne w twojej dystrybucji.

aby zmienić nazwy katalogów w Linuksie, użyj „rename” z tym, jak chcesz zmienić nazwę plików, a także katalogu docelowego.,

$ rename <expression> <directory>

jako przykład, załóżmy, że chcesz zmienić nazwy wszystkich katalogów pisanych wielkimi literami na nazwy katalogów pisanych małymi literami.

aby zmienić nazwy tych katalogów, należy uruchomić następujące polecenie

$ rename 'y/A-Z/a-z/' *$ ls -l drwxrwxr-x 2 user user 4096 Dec 21 02:26 a_tempdrwxrwxr-x 2 user user 4096 Dec 21 02:26 b_temp

filtrowanie katalogów, które mają zostać przemianowane

w niektórych przypadkach można zmienić nazwy tylko kilku katalogów za pomocą polecenia Zmień nazwę.

aby to osiągnąć, zasadniczo masz dwie opcje :

  • użyj symboli wieloznacznych w celu filtrowania nazw katalogów.,

na przykład, jeśli chcesz zmienić nazwy katalogów kończących się podanym ciągiem znaków, uruchom następujące polecenie.

$ rename 'y/_html/_temp/' *

składnia używana przez polecenie Zmień nazwę jest taka sama jak w sed : możesz użyć tego odniesienia, aby uzyskać więcej informacji o tej składni.

  • użyj przekierowania wejścia, aby filtrować katalogi, które mają zostać przemianowane
$ ls -d *_html | rename 'y/*_html/*_temp/'

podczas korzystania z jednej z tych dwóch opcji, Twoje foldery zostaną przemianowane na rozszerzenie „_temp”.,

$ ls -ldrwxrwxr-x 2 user user 4096 Dec 21 02:42 a_tempdrwxrwxr-x 2 user user 4096 Dec 21 02:42 b_temp

niesamowite, udało Ci się zmienić nazwę katalogów za pomocą polecenia Zmień nazwę!

podsumowanie

w tym samouczku nauczyłeś się wszystkich sposobów zmiany nazw katalogów w Linuksie, najczęstszym sposobem jest polecenie „mv”.

nauczyłeś się również, że można zmienić nazwy katalogów za pomocą polecenia „Znajdź” w celu zlokalizowania katalogów lub za pomocą polecenia Zmień nazwę(które może nie być bezpośrednio dostępne w systemie domyślnie).,

Jeśli interesuje Cię Administracja systemem Linux, mamy na stronie pełną sekcję poświęconą temu zagadnieniu, więc koniecznie ją sprawdź!