czy jesteś nowy w systemie operacyjnym Linux? Jeśli tak, typowe zadania, takie jak zmiana nazwy plików i folderów, mogą być inne niż te, do których jesteś przyzwyczajony. Ale nie martw się. Koncepcja zmiany nazw plików w Linuksie jest podobna jak w innych systemach operacyjnych.
w tym samouczku dowiesz się wielu sposobów zmiany nazw pojedynczych i wielu plików w Linuksie, zarówno za pomocą GUI, jak i poleceń uruchamianych w terminalu.
zaczynajmy!
spis treści
- wymagania wstępne
- zmiana nazw plików za pomocą Menedżera plików
- zmiana nazwy pojedynczego pliku
- zmiana nazwy wielu plików za pomocą Menedżera plików Nautilus
- zmiana nazw plików za pomocą szablonu
- Znajdowanie i zastępowanie słów w nazwach plików
- zmiana nazw plików za pomocą polecenia mv
- zmiana nazwy pojedynczego pliku za pomocą polecenia mv
- zmiana nazwy wielu plików za pomocą pętli For
- zmiana nazw plików w Linuksie za pomocą narzędzia Zmień nazwę
- zmiana nazw wielu plików
- Zmiana rozszerzeń plików
- zmiana nazw plików na wielkie i małe
- zastępowanie i usuwanie spacji w nazwach plików
- używanie wielkich liter każdego słowa w nazwie pliku
- wniosek
wymagania wstępne
aby postępować zgodnie z tym samouczkiem, upewnij się, że masz następujące informacje:
- ten samouczek używa Ubuntu 18.04 LTS, ale inne dystrybucje Linuksa będą działać.
- konto z dostępem sudo / administrator.
zmiana nazw plików za pomocą Menedżera plików
jeśli jesteś przyzwyczajony do zarządzania plikami za pomocą GUI, zacznijmy ten samouczek, aby zmienić nazwy plików za pomocą menedżera plików. Menedżery plików GUI są schludne, ponieważ możesz zobaczyć pliki na widoku. Jednym z tych menedżerów plików dostępnych w Linuksie jest poprzedni menedżer plików GNOME, Nautilus. Ten samouczek pokazuje zmianę nazw plików za pomocą menedżera plików Nautilus.
inne menedżery plików Linuksa to Konqueror, Dolphin, Krusader, Thunar, Nemo file manager i Sunflower file manager. Te menedżery plików wykonują to samo zadanie, ale zmiana nazw plików lub katalogów może się nieco różnić.
Uruchom terminal, a następnie uruchom poniższe polecenie, aby zainstalować Nautilus (install nautilus
) za pomocą menedżera pakietów apt
, jeśli nie masz go jeszcze na swoim komputerze. Polecenie sudo
podnosi polecenie z prawami sudo / administratora.
sudo apt install nautilus
zmiana nazwy pojedynczego pliku
zmiana nazwy pojedynczego pliku w Nautilus zajmuje tylko kilka kliknięć, jak w Eksploratorze plików Windows.
aby zmienić nazwę pojedynczego pliku, otwórz Nautilus, kliknij prawym przyciskiem myszy plik, który chcesz zmienić nazwę, i wybierz Zmień nazwę, jak pokazano poniżej.
ten przykład koncentruje się na zmianie nazw plików, ale proces zmiany nazw plików i katalogów jest taki sam.
Teraz wpisz nową nazwę pliku, aby zastąpić oryginalną nazwę pliku, naciśnij Enter lub kliknij Zmień nazwę i to wszystko.
zmiana nazwy wielu plików za pomocą Menedżera plików Nautilus
podobnie jak w systemie Windows, Ubuntu daje więcej opcji zmiany nazw wielu plików jednocześnie.
aby zmienić nazwę wielu plików, wybierz wszystkie pliki, które chcesz zmienić, kliknij prawym przyciskiem myszy dowolny z nich i wybierz Zmień nazwę. Pojawi się wyskakujące okno, w którym możesz wybrać sposób zmiany nazw wybranych plików.
Poniżej znajdują się dwie opcje do wyboru w zależności od tego, jak chcesz zmienić nazwy wybranych plików.
- Zmień nazwy za pomocą szablonu – pozwala to na zmianę nazw plików w przyrostach.
- znajdź i zamień tekst – pozwala znaleźć i zastąpić określone teksty w nazwach plików.
zmiana nazw plików za pomocą szablonu
aby zmienić nazwy plików za pomocą szablonu, wybierz opcję Zmień nazwę za pomocą szablonu.
teraz wprowadź nazwę zastępczą w pustym polu, aby zmienić nazwy plików za pomocą szablonu, a następnie kliknij przycisk + Dodaj i wybierz z szablonów. W tym samouczku wybierz pierwszy (1,2,3,4) i kliknij Zmień nazwę. Ta opcja dodaje liczby zwiększające do każdego pliku po nazwie pliku zastępczego (Text1, Text2,…).
zwróć uwagę na nazwy plików zmienione na tekst, a następnie zwiększające się liczby.
Znajdowanie i zastępowanie słów w nazwach plików
aby zmienić nazwę wielu plików na określoną nazwę pliku, wybierz opcję Znajdź i zamień tekst.
wprowadź tekst w istniejącym polu tekstowym i tekst zastępczy w polu Zamień na, a następnie kliknij Zmień nazwę, aby zastąpić tekst. Opcja ta wyszukuje i zastępuje niektóre teksty w nazwach plików.
teraz możesz zobaczyć poniżej, że zastąpiłeś SŁOWO ” TEKST „na” plik ” w każdej nazwie pliku.
zmiana nazw plików za pomocą polecenia mv
jeśli Uruchamianie poleceń jest Twoim zadaniem, zamiast nawigować w interfejsie graficznym, przygotuj się, aby dowiedzieć się, jak zmieniać nazwy plików w terminalu. Zmiana nazw plików w terminalu Linux jest podobna do zmiany nazw w innych środowiskach wiersza poleceń, takich jak PowerShell. Uruchamiasz polecenia, aby zmienić nazwę oryginalnego pliku na nazwę pliku docelowego i to wszystko.
istnieją dwa scenariusze zmiany nazwy pliku. Pierwsza to zmiana nazwy pliku z katalogu roboczego, a druga to podanie pełnej ścieżki. Spójrz na składnię polecenia mv
poniżej, aby zmienić nazwę pliku, gdzie source
to nazwa oryginalna, a destination
to nazwa zastępcza.
# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>
zmiana nazwy pojedynczego pliku za pomocą polecenia mv
chociaż składnia polecenia mv jest wciąż świeża, spróbujmy zmienić nazwę pojedynczego pliku.
aby zademonstrować, jak zmienić nazwę pojedynczego pliku i katalogu:
1. Uruchom terminal, a następnie uruchom serię poniższych poleceń, aby utworzyć katalog i dwa pliki tekstowe.
# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt
2. Następnie uruchom polecenie ls
, aby wyświetlić listę plików w katalogu roboczym. Poniżej możesz zobaczyć ten plik1.txt i file2.txt istnieje w katalogu ~/test.
3. Uruchom jedną z poniższych komend mv
, aby zmienić nazwę file1.txt
na file10.txt
.
# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt
zmiana nazwy katalogu jest taka sama jak zmiana nazwy pliku, Jak to:
mv ~/test ~/demo
. Symbol~
oznacza katalog domowy.
4. Na koniec ponownie uruchom polecenie ls
, aby wyświetlić listę plików w katalogu roboczym.
poniżej możesz zobaczyć ten plik1.txt został teraz przemianowany na file10.txt.
zmiana nazwy wielu plików za pomocą pętli For
jeśli jesteś zbyt zajęty innymi zadaniami i chcesz zmienić nazwy wszystkich plików za jednym zamachem, musisz użyć instrukcji pętli for, takiej jak ta poniżej.
skopiuj poniższy kod tak, jak jest, wklej go w terminalu i naciśnij Enter. Poniższy kod skanuje każdy plik tekstowy w katalogu roboczym i zmienia nazwę plików na „plik”, a następnie zwiększa się liczba.
# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done
wklejanie kodu do terminala działa dobrze, ale jako dobra praktyka, lepiej jest utworzyć plik skryptu do uruchomienia.
poniżej możesz zobaczyć w akcji, jak kod zmienia nazwy wszystkich plików.
zmiana nazw plików w Linuksie za pomocą narzędzia Zmień nazwę
jeśli zmieniasz nazwę pojedynczego pliku w codziennej rutynie, wystarczy polecenie mv
. Ale być może chcesz zmienić nazwy wielu plików z tym samym wzorem na raz? Na przykład zmiana nazwy plików zaczynających się od określonego słowa (pliku). W takim przypadku zainstaluj zamiast tego narzędzie Zmień nazwę.
narzędzie Zmień nazwę zmienia nazwy wielu plików, zmienia formaty nazw plików i nadpisuje pliki.
aby zainstalować narzędzie Zmień nazwę, uruchom dowolną z poniższych komend w zależności od dystrybucji Linuksa, nad którą pracujesz.
# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename
Poniżej znajduje się składnia polecenia rename
.
rename <options> <perlexpr> <files>
zmiana nazw wielu plików
mając na uwadze składnię polecenia rename
, możesz teraz zmieniać nazwy plików o tym samym wzorze. To, co jest świetne w poleceniu rename
, to to, że nie musisz deklarować funkcji pętli, aby zmienić nazwy wielu plików, tak jak w sekcji „Zmiana nazw wielu plików za pomocą pętli For”.
być może chcesz zmienić nazwy plików z określonymi słowami. Jeśli tak, spójrz na wyrażenie regularne Perla ('s/file/myfile/'
) w poniższym poleceniu przykład. Wyrażenia regularne Perla definiują wzorzec Łańcuchowy oparty na języku programowania Perl.
aby uniknąć omyłkowej zmiany nazwy innych plików, wymień wszystkie dotknięte pliki przed zmianą nazwy, dodając opcję -n
, jak pokazano poniżej.
rename -n 's/file/myfile/' *.txt
Teraz uruchom jedną z poniższych komend rename
, aby zastąpić słowo file
słowem myfile
w nazwie KAŻDEGO pliku tekstowego w katalogu roboczym lub w katalogu ~/test/*.txt
.
w wyrażeniu Perla ('s/file/myfile/'
), s
oznacza podstawienie, co oznacza zmianę nazw plików. Zauważ, że dodano opcję -v
, aby zwrócić pliki o nazwie polecenia.
# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt
poniżej widać, że każde słowo „plik” w plikach tekstowych ma nazwę „myfile.”
jeśli zamiast tego wolisz zmienić nazwy wszystkich plików, usuń rozszerzenie pliku po określeniu ścieżki pliku, na przykład,
rename -v 's/file/myfile/' ~/test/*
Zmiana rozszerzeń plików
oprócz nazw plików polecenie rename
zmienia również nazwy rozszerzeń plików. Być może utworzyłeś pliki z nieodpowiednim rozszerzeniem. W takim przypadku określisz rozszerzenie pliku, które ma zostać zmienione w wyrażeniu Perla podczas uruchamiania polecenia rename
.
Uruchom polecenie rename
poniżej, aby zmienić rozszerzenie wszystkich plików ” (*
) z .txt
na .html
w katalogu ~/test
. Symbol $
w wyrażeniu Perla dopasowuje koniec łańcucha (.txt
) do każdej nazwy pliku, więc polecenie zmienia tylko rozszerzenia plików .txt
. Podobnie jak w przypadku zmiany nazwy wielu plików, Dodaj opcję -v
, aby wyświetlić listę każdej zmiany wprowadzonej przez polecenie.
rename -v 's/.txt$/.html/' *.txt
aby usunąć wszystkie rozszerzenia plików, usuń zastępczy ciąg znaków w wyrażeniu Perla, w ten sposób:
rename -v 's/.txt$//' *.txt
jak widać na obrazku poniżej,.rozszerzenia txt zmieniono na .html
zmiana nazw plików na wielkie i małe
zamiast nieprawidłowych rozszerzeń plików, możesz mieć do czynienia z nazwami małymi i odwrotnie. Być może próbujesz znaleźć plik pisany wielkimi literami, nie wiedząc, że nazwa pliku jest pisana małymi literami.
w Linuksie rozróżniana jest wielkość liter, więc upewnijmy się, że każda nazwa pliku ma właściwą wielkość liter. Wielkość liter jest zasadniczo rozróżnieniem tekstów między małymi i dużymi literami.
Uruchom jedną z poniższych komend rename
, aby zmienić wszystkie małe litery (a-z
) nazwy plików w katalogu roboczym (*
) na wielkie litery (A-Z
) i odwrotnie.
# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *
poniżej można zobaczyć oba wyniki zmiany wielkości liter nazwy pliku.
zastępowanie i usuwanie spacji w nazwach plików
podobnie jak w przypadku liter nazwy pliku, możesz mieć problemy ze znalezieniem plików, jeśli mają spacje w nazwach plików. Naprawmy to albo przez zastąpienie spacji znakiem, albo całkowite usunięcie spacji.
uruchom poniższe polecenie rename
, aby zastąpić spacje we wszystkich nazwach plików znakiem podkreślenia (_
) w katalogu roboczym. Ponieważ podkreślnik jest metacharakterem, użyj odwrotnego ukośnika (\_
), aby zadeklarować podkreślenie dosłownie. Metacharaktery są znakami specjalnymi o specjalnych znaczeniach w programie komputerowym.
zauważ, że g
w wyrażeniu Perla mówi poleceniu, aby zastąpiło wszystkie dopasowania (spacje), a nie tylko pierwsze.
rename -v 's/ /\_/g' *
poniżej widać, że polecenie zastąpiło wszystkie spacje znakami podkreślenia.
aby usunąć wszystkie spacje w nazwie pliku zamiast wypełniać je znakiem, uruchom poniższe polecenie.
w poniższym wyrażeniu Perla, gwiazdka po spacji (/ *
) pasuje do wszystkich wystąpień spacji w nazwie pliku, a nie tylko do pierwszego. Znak zastępczy jest pusty (//
), więc polecenie rename
usuwa wszystkie (g
) spacje.
rename -v "s/ *//g" *
teraz możesz zobaczyć poniżej, że wszystkie spacje są usuwane z każdej nazwy pliku.
używanie wielkich liter każdego słowa w nazwie pliku
jeśli wolisz zachować spacje i zamiast tego używać wielkich liter każdego słowa w nazwie pliku, potrzebujesz bardziej złożonego wyrażenia Perla. Spójrz na przykładowe polecenie poniżej.
poniższe wyrażenie Perla pasuje do dowolnego pojedynczego znaku (\w
) w granicy słowa (\b
), o ile znak nie jest kropką ani apostrofem (?<!
). Polecenie rename
przetłumaczy tę literę na wielką literę (u$&
).
rename -v 's/(?<!)\b\w*/\u$&/g' *
poniżej widać, że każde słowo w nazwach plików zaczyna się wielką literą, pozostawiając rozszerzenia plików nietknięte.
wniosek
w tym samouczku nauczyłeś się wielu sposobów zmiany nazw plików Linuksowych za pomocą GUI i terminala wiersza poleceń. Teraz masz solidne zrozumienie, jak manipulować nazwami dla pojedynczych i wielu plików naraz.
dlaczego nie nauczyć się skryptów powłoki Linuksa i stworzyć skrypt do automatyzacji zmiany nazw plików w Linuksie?