Podstawy pracy w terminalu w systemie Linux
Spisu treści:
- Zmiana nazw plików za pomocą polecenia mv
- Zmienianie nazw wielu plików za pomocą polecenia mv Command
- Zmiana nazw plików za pomocą polecenia Zmień nazwę
- Wniosek
Zmiana nazw plików i katalogów jest jednym z najbardziej podstawowych zadań, które często trzeba wykonywać w systemie Linux.
Zmiana nazwy pojedynczego pliku jest łatwa, ale zmiana nazwy wielu plików jednocześnie może stanowić wyzwanie, szczególnie dla użytkowników, którzy dopiero zaczynają pracę z Linuksem. Możesz zmieniać nazwy plików za pomocą menedżera plików GUI lub terminala wiersza poleceń.
W tym samouczku pokażemy, jak używać komend
mv
i
rename
, aby zmieniać nazwy 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 jednej lokalizacji do drugiej. Składnia komendy
mv
jest następująca:
mv source destination
source
może być jeden lub więcej plików lub katalogów, a
destination
może być pojedynczy plik lub katalog.
- Jeśli podasz wiele plików jako
source
,destination
musi być katalog. W takim przypadku plikisource
są przenoszone do katalogu docelowego. Jeśli podasz pojedynczy plik jakosource
, adestination
docelowym jest istniejący katalog, plik zostanie przeniesiony do określonego katalogu. Aby zmienić nazwę pliku, musisz określić pojedynczy plik jakosource
i pojedynczy plik jakodestination
docelowe.
Na przykład, aby zmienić nazwę pliku
file1.txt
na
file2.txt
, należy uruchomić:
Zmienianie nazw wielu plików za pomocą polecenia mv Command
Polecenie
mv
może zmienić nazwę tylko jednego pliku na raz, ale można go używać w połączeniu z innymi poleceniami, takimi jak
find
lub inside bash for lub while loop, aby zmienić nazwę wielu plików.
Poniższy przykład pokazuje, jak użyć pętli Bash for do zmiany nazwy wszystkich plików
.html
w bieżącym katalogu, zmieniając rozszerzenie
.html
na
.php
.
for f in *.html; do mv -- "$f" "${f%.html}.php" done
Przeanalizujmy kod linia po linii:
- Pierwszy wiersz tworzy pętlę for i iteruje listę wszystkich plików z krawędziami
.html
. Drugi wiersz dotyczy każdej pozycji na liście i przenosi plik do nowego, zastępując.html
plikiem.php
. Część${file%.html}
używa rozszerzenia parametru powłoki do usunięcia części.html
z pliku..done wskazuje koniec segmentu pętli.
Możemy również użyć polecenia
mv
w połączeniu z
find
aby osiągnąć to samo, co powyżej.
find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;
Polecenie find przekazuje kolejno wszystkie pliki z rozszerzeniem
.html
w bieżącym katalogu do polecenia
mv
za pomocą przełącznika
-exec
. Ciąg
{}
to nazwa aktualnie przetwarzanego pliku.
Jak widać z powyższych przykładów, zmiana nazwy wielu plików przy użyciu polecenia
mv
nie jest łatwym zadaniem, ponieważ wymaga dobrej znajomości skryptów Bash.
Zmiana nazw plików za pomocą polecenia Zmień nazwę
Polecenie
rename
służy do zmiany nazwy wielu plików. To polecenie jest bardziej zaawansowane niż
mv
ponieważ wymaga podstawowej wiedzy na temat wyrażeń regularnych.
Istnieją dwie wersje polecenia
rename
o różnej składni. W tym samouczku będziemy używać wersji perl polecenia
rename
. Jeśli nie masz zainstalowanej tej wersji w systemie, możesz łatwo zainstalować ją za pomocą menedżera pakietów swojej dystrybucji.
-
Zainstaluj zmianę nazwy na Ubuntu i Debianie
sudo apt install rename
Zainstaluj zmianę nazwy na CentOS i Fedorze
sudo yum install prename
Zainstaluj zmianę nazwy w Arch Linux
yay perl-rename ## or yaourt -S perl-rename
Składnia polecenia
rename
jest następująca:
rename perlexpr files
Polecenie
rename
zmieni nazwę wszystkich
files
zgodnie z określonym wyrażeniem regularnym
perlexpr
. Możesz o perl wyrażeniach regularnych tutaj.
Na przykład następujące polecenie zmieni wszystkie pliki z rozszerzeniem
.html
na
.php
:
rename 's/.html/.php/' *.html
Możesz użyć argumentu
-n
aby wydrukować nazwy plików, których nazwy należy zmienić, bez zmiany ich nazw.
rename -n 's/.html/.php/' *.html
Dane wyjściowe będą wyglądać mniej więcej tak:
rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)
Domyślnie polecenie zmiany nazwy nie zastąpi istniejących plików. Przekaż argument
-f
aby zezwolić na nadpisywanie istniejących plików.
rename -f 's/.html/.php/' *.html
Poniżej znajduje się kilka bardziej typowych przykładów użycia polecenia rename:
-
Zastąp spacje w nazwach plików podkreśleniami
rename 'y/ /_/' *
Konwertuj nazwy plików na małe litery
rename 'y/AZ/az/' *
Konwertuj nazwy plików na wielkie litery
rename 'y/az/AZ/' *
Wniosek
Do tej pory powinieneś dobrze rozumieć, jak używać komend
mv
i
rename
, aby zmieniać nazwy plików. Oczywiście istnieją inne polecenia zmiany nazwy plików w systemie Linux, takie jak
mmv
. Nowi użytkownicy Linuksa, którzy są zastraszani przez wiersz poleceń, mogą korzystać z narzędzi do zmiany nazw partii GUI, takich jak Metamorfoza.
Zmień nazwy plików i rozszerzeń plików w systemie Windows 10
Dowiedz się, jak szybko i łatwo zmienić nazwę pliku lub zmienić rozszerzenie pliku dla wszystkich plików w folderze w systemie Windows 10/8/7. Masowa lub zbiorcza zmiana nazwy wielu plików.
Jak skutecznie wsadowo zmieniać nazwy plików przy użyciu osobistego przemianowania
Automatyczna zmiana nazwy wielu plików, monitorowanie katalogu za pomocą osobistej nazwy użytkownika dla systemu Windows.
Komenda Ls w systemie Linux (lista plików i katalogów)
Polecenie ls jest jednym z podstawowych poleceń, które powinien znać każdy użytkownik Linuksa. Służy do wyświetlania informacji o plikach i katalogach w systemie plików.