sunteți nou în sistemul de operare Linux? Dacă da, sarcinile obișnuite, cum ar fi redenumirea fișierelor și folderelor, pot fi diferite de cele obișnuite. Dar nu te agita. Conceptul de redenumire a fișierelor în Linux este similar cu modul în care se face în alte sisteme de operare.
în acest tutorial, veți învăța multe moduri de a redenumi fișiere unice și multiple în Linux, atât prin GUI, cât și prin comenzi care rulează într-un terminal.
să începem!
cuprins
- cerințe preliminare
- redenumirea fișierelor cu managerul de fișiere
- redenumirea unui singur fișier
- redenumirea mai multor fișiere utilizând Nautilus File Manager
- redenumirea fișierelor utilizând un șablon
- găsirea și înlocuirea cuvintelor din numele fișierelor
- redenumirea fișierelor cu comanda mv
- redenumirea unui singur fișier cu comanda mv
- redenumirea mai multor fișiere cu o buclă For
- redenumirea fișierelor în Linux cu utilitarul redenumire
- redenumirea mai multor fișiere
- schimbarea extensiilor de fișiere
- schimbarea numelor de fișiere în majuscule și minuscule
- înlocuirea și eliminarea spațiilor din numele fișierelor
- scrierea cu majuscule a primei litere a fiecărui cuvânt dintr-un nume de fișier
- concluzie
cerințe preliminare
să urmeze de-a lungul în cadrul acestui tutorial, asigurați – vă că aveți următoarele:
- acest tutorial folosește Ubuntu 18.04 LTS, dar alte distribuții Linux vor funcționa.
- un cont cu acces sudo/administrator.
redenumirea fișierelor cu managerul de fișiere
dacă sunteți obișnuiți să gestionați fișiere prin GUI, să începem acest tutorial pentru a redenumi fișierele cu un manager de fișiere. Managerii de fișiere GUI sunt îngrijite, deoarece puteți vedea fișierele la vedere. Unul dintre acei manageri de fișiere disponibili în Linux este fostul manager de fișiere GNOME, Nautilus. Acest tutorial demonstrează redenumirea fișierelor utilizând Managerul de fișiere Nautilus.
ceilalți manageri de fișiere Linux sunt Konqueror, Dolphin, Krusader, Thunar, Nemo file manager și Sunflower file manager. Acești manageri de fișiere îndeplinesc aceeași sarcină, dar redenumirea fișierelor sau directoarelor poate fi ușor diferită.
lansați terminalul, apoi executați comanda de mai jos pentru a instala Nautilus (install nautilus
) cu managerul de pachete apt
dacă nu îl aveți încă pe computer. Comanda sudo
ridică comanda cu drepturi sudo / administrator.
sudo apt install nautilus
redenumirea unui singur fișier
redenumirea unui singur fișier în Nautilus durează doar câteva clicuri, ca în Windows File Explorer.
pentru a redenumi un singur fișier, deschideți Nautilus, faceți clic dreapta pe fișierul pe care doriți să îl redenumiți și alegeți redenumiți, așa cum se arată mai jos.
acest exemplu se concentrează pe redenumirea fișierelor, dar procesul este același pentru a redenumi atât fișierele, cât și directoarele.
acum tastați noul nume de fișier pentru a înlocui numele fișierului original, apăsați Enter sau faceți clic pe Redenumire și asta este.
redenumirea mai multor fișiere utilizând Nautilus File Manager
ca Windows, Ubuntu vă oferă mai multe opțiuni despre modul în care doriți să redenumiți mai multe fișiere simultan.
pentru a redenumi mai multe fișiere, Selectați toate fișierele pe care doriți să le redenumiți, faceți clic dreapta pe oricare dintre ele și alegeți redenumiți. Va apărea o fereastră pop-up în care puteți alege modul în care doriți să redenumiți fișierele selectate.
mai jos, există două opțiuni din care puteți alege, în funcție de modul în care doriți să redenumiți fișierele selectate.
- redenumiți folosind un șablon – acest lucru vă permite să redenumiți fișierele în trepte.
- găsiți și înlocuiți text – vă permite să găsiți și să înlocuiți anumite texte în numele fișierelor.
redenumirea fișierelor utilizând un șablon
pentru a redenumi fișierele utilizând un șablon, selectați opțiunea Redenumire utilizând un șablon.
Acum introduceți numele de înlocuire în câmpul gol pentru a redenumi fișierele cu un șablon și faceți clic pe butonul +Adăugare și alegeți dintre șabloane. Pentru acest tutorial, selectați primul (1,2,3,4) și faceți clic pe Redenumire. Această opțiune adaugă numere de incrementare la fiecare fișier după numele fișierului de înlocuire (Text1, Text2,…).
observați că numele fișierelor s-au schimbat în Text, urmate de creșterea numerelor.
găsirea și înlocuirea cuvintelor din numele fișierelor
pentru a redenumi mai multe fișiere cu un anumit nume de fișier, selectați opțiunea Găsire și înlocuire text.
Introduceți textul în câmpul text existent și textul de înlocuire în câmpul înlocuire cu, apoi faceți clic pe Redenumire pentru a înlocui textul. Această opțiune găsește și înlocuiește anumite texte în numele fișierelor.
acum, Puteți vedea mai jos că ați înlocuit cuvântul „Text” cu „fișier” în fiecare nume de fișier.
redenumirea fișierelor cu comanda mv
dacă rularea comenzilor este lucrul dvs. în loc să navigați într-o interfață grafică, pregătiți-vă să învățați cum să redenumiți fișierele într-un terminal. Redenumirea fișierelor în terminalul Linux este similară cu a face acest lucru în alte medii de linie de comandă, cum ar fi PowerShell. Executați comenzile pentru a redenumi numele fișierului original cu numele fișierului țintă și asta este.
există două scenarii în redenumirea unui fișier. Primul este redenumirea unui fișier din Directorul de lucru, iar al doilea este prin specificarea căii complete. Aruncați o privire la sintaxa de comandă mv
de mai jos pentru a redenumi un fișier, unde source
este numele original, iar destination
este numele de înlocuire.
# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>
redenumirea unui singur fișier cu comanda mv
în timp ce sintaxa comenzii mv este încă proaspătă în mintea ta, să încercăm redenumirea unui singur fișier.
pentru a demonstra cum să redenumiți un singur fișier și director:
1. Lansați terminalul, apoi executați seria de comenzi de mai jos pentru a crea un director și două fișiere text.
# 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. Apoi, executați comanda ls
pentru a lista fișierele din Directorul de lucru. Mai jos, puteți vedea acel fișier1.txt și file2.txt există în directorul ~ / test.
3. Rulați oricare dintre comenzile mv
de mai jos pentru a redenumi file1.txt
ca 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
redenumirea unui director este aceeași cu redenumirea unui fișier, astfel:
mv ~/test ~/demo
. Simbolul~
denotă directorul principal.
4. În cele din urmă, rulați din nou comanda ls
pentru a lista fișierele din Directorul de lucru.
mai jos, puteți vedea că fișierul1.txt este acum redenumit ca file10.txt.
redenumirea mai multor fișiere cu o buclă For
dacă sunteți prea ocupat cu alte sarcini la îndemână și doriți să redenumiți toate fișierele dintr-o singură dată, va trebui să utilizați o instrucțiune For loop ca cea de mai jos.
copiați codul de mai jos ca atare, lipiți-l în terminal și apăsați Enter. Codul de mai jos scanează fiecare fișier text din Directorul de lucru și redenumește fișierele cu „fișier” urmat de un număr de incrementare.
# 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
lipirea codului în terminalul dvs. funcționează bine, dar, ca bună practică, este mai bine dacă creați un fișier script pentru a rula în schimb.
mai jos, puteți vedea în acțiune modul în care codul redenumește toate fișierele.
redenumirea fișierelor în Linux cu utilitarul redenumire
dacă redenumiți un singur fișier în rutina zilnică, atunci comanda mv
va fi suficientă. Dar poate că doriți să redenumiți mai multe fișiere cu același model simultan? De exemplu, redenumirea fișierelor care încep cu un anumit cuvânt (fișier). În acest caz, instalați utilitarul redenumiți în schimb.
utilitarul redenumire redenumește mai multe fișiere, modifică formatele de nume de fișier și suprascrie fișierele.
pentru a instala utilitarul rename, executați oricare dintre comenzile de mai jos, în funcție de distribuția Linux la care lucrați.
# 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
puteți vedea mai jos sintaxa comenzii rename
.
rename <options> <perlexpr> <files>
redenumirea mai multor fișiere
având în vedere sintaxa comenzii rename
, acum Puteți redenumi fișierele care au același model. Ce este minunat la comanda rename
este că nu trebuie să declarați o funcție de buclă pentru a redenumi mai multe fișiere așa cum ați făcut în secțiunea „redenumirea mai multor fișiere cu o buclă pentru”.
poate doriți să redenumiți fișierele cu anumite cuvinte pe ele. Dacă da, aruncați o privire la expresia regulată Perl ('s/file/myfile/'
) din comanda eșantion de mai jos. Expresiile regulate Perl definesc un model de șir bazat pe limbajul de programare Perl.
pentru a evita redenumirea greșită a altor fișiere, listați toate fișierele afectate înainte de a le redenumi adăugând opțiunea -n
, așa cum se arată mai jos.
rename -n 's/file/myfile/' *.txt
acum rulați oricare dintre comenzile rename
de mai jos pentru a înlocui cuvântul file
cu myfile
în numele fiecărui fișier text din Directorul de lucru sau din Directorul ~/test/*.txt
.
în expresia Perl ('s/file/myfile/'
), s
denotă substituție, ceea ce înseamnă că redenumiți fișiere. Observați că opțiunea -v
este adăugată pentru a returna fișierele redenumite de comandă.
# 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
mai jos, puteți vedea că fiecare cuvânt „fișier” din fișierele text este redenumit în „myfile.”
dacă preferați să redenumiți toate fișierele, eliminați extensia de fișier atunci când specificați calea fișierului, de exemplu,
rename -v 's/file/myfile/' ~/test/*
schimbarea extensiilor de fișiere
altele decât numele fișierelor, comanda rename
redenumește și extensiile de fișiere. Poate că ați creat fișiere cu extensia de fișier greșit. În acest caz, veți specifica extensia de fișier de modificat într-o expresie Perl atunci când executați comanda rename
.
rulați comandarename
de mai jos pentru a schimba extensia tuturor fișierelor (*
) de la .txt
la .html
în directorul ~/test
. Simbolul$
din expresia Perl se potrivește cu sfârșitul unui șir (.txt
) cu fiecare nume de fișier, astfel încât comanda modifică Doar extensiile de fișiere .txt
. Și ca și în cazul redenumirii mai multor fișiere, adăugați opțiunea -v
pentru a lista fiecare modificare pe care o face comanda.
rename -v 's/.txt$/.html/' *.txt
pentru a elimina în schimb Toate extensiile de fișiere, eliminați șirul de înlocuire din expresia Perl, astfel:
rename -v 's/.txt$//' *.txt
după cum vedeți în imaginea de mai jos, den .extensii txt schimbat la .html
schimbarea numelor de fișiere în majuscule și minuscule
în loc de extensii de fișiere incorecte, este posibil să aveți de-a face cu nume de fișiere cu litere mici și invers. Poate că încercați să găsiți un fișier special cu majuscule, neștiind că numele fișierului este cu litere mici.
Linux este sensibil la majuscule, deci să ne asigurăm că aveți dreptul la litera fiecărui nume de fișier. Cazul scrisorii este practic distincția textelor între minuscule și majuscule.
rulați oricare dintre comenzilerename
de mai jos pentru a schimba toate numele fișierelor cu litere mici (a-z
) din Directorul de lucru (*
) în majuscule (A-Z
) și invers.
# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *
puteți vedea mai jos ambele rezultate ale modificării unui caz cu litere de nume de fișier.
înlocuirea și eliminarea spațiilor din numele fișierelor
ca și cazul scrisorii unui nume de fișier, este posibil să aveți probleme la găsirea fișierelor dacă au spații în numele fișierelor. Să remediem acest lucru fie înlocuind spațiile cu un caracter, fie eliminând spațiile cu totul.
rulați comandarename
de mai jos pentru a înlocui spațiile din toate numele fișierelor cu un subliniere (_
) în directorul de lucru. Deoarece sublinierea este un metacaracter, scăpați-l cu un backslash (\_
) pentru a declara sublinierea literal. Metacaracterele sunt caractere speciale cu semnificații speciale într-un program de calculator.
observați g
în expresia Perl spune comanda pentru a înlocui toate meciurile (spații), și nu doar primul.
rename -v 's/ /\_/g' *
mai jos, puteți vedea că comanda a înlocuit toate spațiile cu subliniere.
pentru a elimina toate spațiile dintr-un nume de fișier în loc să le completați cu un caracter, executați comanda de mai jos.
în expresia Perl de mai jos, asteriscul după spațiul gol (/ *
) se potrivește cu toate aparițiile spațiilor dintr-un nume de fișier și nu doar cu primul. Caracterul de înlocuire este gol (//
), astfel încât comanda rename
elimină toate spațiile (g
).
rename -v "s/ *//g" *
acum Puteți vedea mai jos că toate spațiile sunt eliminate din fiecare nume de fișier.
scrierea cu majuscule a primei litere a fiecărui cuvânt dintr-un nume de fișier
dacă preferați să păstrați spațiile și să scrieți cu majuscule prima literă a fiecărui cuvânt dintr-un nume de fișier, veți avea nevoie de o expresie Perl mai complexă. Aruncați o privire la comanda de probă de mai jos.
expresia Perl de mai jos se potrivește cu orice caracter unic (\w
) dintr-un cuvânt limită (\b
) atâta timp cât caracterul nu este o perioadă și nici apostrof (?<!
). Comanda rename
va traduce apoi acea literă cu majuscule (u$&
).
rename -v 's/(?<!)\b\w*/\u$&/g' *
mai jos, puteți vedea că fiecare cuvânt din numele fișierelor începe cu o literă mare, lăsând extensiile de fișiere neatinse.
concluzie
de-a lungul acestui tutorial, ați învățat multe modalități de a redenumi fișierele Linux prin GUI și terminalul liniei de comandă. Acum aveți o înțelegere solidă a modului de manipulare a numelor pentru fișiere unice și multiple simultan.
de ce nu invata Linux shell scripting, și de a crea un script pentru a automatiza redenumirea fișierelor în Linux?