Economisiți 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul: Skills Începeți
Secțiuni
Linux Servere dedicate Servere virtuale

Cum să Redenumiți un Fișier în Terminalul Linux: Ghid Complet pentru Începători și Profesioniști

Redenumirea fișierelor este una dintre cele mai fundamentale sarcini din orice sistem de operare — și în Linux, aceasta devine excepțional de puternică atunci când este executată direct din terminal. Indiferent dacă trebuie să schimbi un singur nume de fișier sau să redenumești în masă mii de fișiere folosind modele complexe, stăpânirea redenumiri fișierelor în Linux este o abilitate esențială pentru dezvoltatori, administratori de sistem și ingineri DevOps.

De la organizarea activelor proiectului la automatizarea curățării jurnalelor și pregătirea artefactelor de implementare, cunoașterea instrumentelor și tehnicilor potrivite te va economisi timp semnificativ, va reduce erorile umane și va debloca adevărata automatizare la scară.

De ce să Redenumești Fișiere din Linux Terminal?

Înainte de a aprofunda comenzile, merită să înțelegi de ce abordarea terminalului este preferată față de managerii de fișiere grafici pentru multe cazuri de utilizare:

  • Organizarea fișierelor după dată, tip, proiect sau convenție de denumire
  • Automatizarea curățării jurnalelor rotite, datelor temporare sau arhivelor de backup
  • Standardizarea numelor de fișiere pentru scripturi, implementări sau integrări API
  • Preprocesarea seturilor de date în conductele de dezvoltare, cercetare sau știință a datelor
  • Integrarea în fluxurile CI/CD, conductele de procesare a imaginilor sau sisteme de versioning

Indiferent dacă ești un dezvoltator care redenumește mii de fișiere imagine, un administrator de sistem care curață jurnalele rotite pe un server VPS Hosting, sau un inginer DevOps care pregătește artefacte de construcție pentru implementare — tehnicile de mai jos îți vor face fluxul de lucru dramatic mai eficient.

Metoda 1: Redenumirea de bază a fișierelor cu mv

Comanda mv (move) este utilitatea standard, încorporată în Linux pentru redenumirea fișierelor. Nu necesită instalare suplimentară și funcționează pe fiecare distribuție Linux.

Sintaxă

mv old_filename.txt new_filename.txt

Ce poate face mv

SarcinăExemplu de comandă
Redenumirea unui fișier la locul săumv report.txt final_report.txt
Mutarea unui fișier într-un alt directormv report.txt /home/user/docs/
Redenumirea și mutarea simultanemv report.txt ../archive/final_report.txt

Exemplu practic

mv file.txt ../archive/renamed_file.txt

Această comandă unică redenumește file.txt în renamed_file.txt și o mută în directorul ../archive/ într-un singur pas.

> Important: Spre deosebire de unele sisteme de operare, Linux nu vă avertizează dacă fișierul de destinație există deja. Fișierul original va fi suprascris în tăcere. Utilizați indicatorul -i (interactiv) pentru a solicita o confirmare:

mv -i old_filename.txt new_filename.txt

Metoda 2: Redenumire în lot cu rename (Bazat pe Perl)

Pentru redenumirea mai multor fișiere simultan, utilitarul rename bazat pe Perl este cel mai puternic și flexibil instrument disponibil. Utilizează expresii regulate compatibile cu Perl (PCRE), oferindu-vă control fin asupra modelelor de redenumire complexe.

Instalare

# Debian / Ubuntu
sudo apt install rename

# RHEL / Fedora / CentOS
sudo dnf install prename

Sintaxă de bază

rename 's/old_pattern/new_pattern/' *.txt

Aceasta redenumește toți fișierul .txt din directorul curent, înlocuind fiecare apariție a old_pattern cu new_pattern în numele fișierului.

Cazuri de utilizare comune rename

ObiectivComandă
Adăugați un prefix la toți fișierul .jpgrename 's/^/IMG_/' *.jpg
Eliminați extensia .bak din nume de fișiererename 's/.bak$//' *.bak
Convertiți .JPG în minuscule .jpgrename 's/.JPG$/.jpg/i' *.JPG
Înlocuiți spațiile cu liniuțe de subliniererename 's/ /_/g' *
Adăugați un model de sufix numericrename 's/file/file_v2/' *.txt

Rulare de probă înainte de executare

Aceasta este probabil cea mai importantă bună practică atunci când redenumești fișiere în lot. Utilizați steagul -n pentru a previzualiza modificările fără a modifica efectiv niciun fișier:

rename -n 's/ /_/g' *

Rezultatul va arăta exact ce ar fi redenumit, permițând verificarea modelului înainte de a vă angaja în operație.

Metoda 3: Redenumire în lot cu mmv

Utilitatea mmv (mass move) oferă o abordare bazată pe modele pentru redenumirea mai multor fișiere folosind sintaxa wildcard în loc de expresii regulate. Este puțin mai puțin flexibilă decât rename dar mai ușor de citit pentru sarcini mai simple.

Instalare

sudo apt install mmv

Exemplu de utilizare

mmv "*.jpg" "photo_#1.jpg"

Aceasta redenumește fiecare fișier .jpg din directorul curent, adăugând photo_ la începutul fiecărui nume de fișier. Placeholder-ul #1 capturează potrivirea wildcard din modelul sursă.

Metoda 4: Redenumire Recursivă cu find + mv + Bash

Pentru logica de redenumire complexă care se întinde pe directoare imbricate, combinarea find, mv și scripting bash vă oferă control și flexibilitate maximă.

Exemplu: Înlocuiți Cratime cu Liniuțe de Subliniere în Toate Fișierele .txt (Recursiv)

find . -type f -name "*.txt" | while read file; do
    new=$(echo "$file" | sed 's/-/_/g')
    mv "$file" "$new"
done

Cum funcționează:

  1. find . -type f -name "*.txt" — localizează toate fișierele .txt pornind din directorul curent, inclusiv subdirectoarele
  2. while read file — iterează peste fiecare rezultat
  3. sed 's/-/_/g' — generează noul nume de fișier prin înlocuirea tuturor cratimelor cu liniuțe de subliniere
  4. mv "$file" "$new" — efectuează redenumirea efectivă

Această abordare este sigură, extrem de flexibilă și funcționează fără probleme pe structuri de directoare profund imbricate — ceea ce o face ideală pentru utilizare pe Servere Dedicate unde este posibil să gestionați ierarhii de fișiere mari și complexe.

Metoda 5: Redenumirea Fișierelor cu Bucle for

Pentru operații batch simple într-un singur director, o simplă buclă for în bash este adesea cea mai rapidă soluție.

Exemplu: Adăugați un Prefix la Toate Fișierele .log

for f in *.log; do
    mv "$f" "archived_$f"
done

Exemplu: Adăugați o Marcă Temporală la Toate Fișierele .txt

for f in *.txt; do
    mv "$f" "$(date +%Y%m%d)_$f"
done

Exemplu: Înlocuiți un Subșir în Nume de Fișiere

for f in *report*; do
    mv "$f" "${f/report/summary}"
done

Sintaxa ${variable/pattern/replacement} este o caracteristică nativă de expansiune a parametrilor bash — nu sunt necesare instrumente externe.

Comparație: Ce instrument ar trebui să utilizați?

InstrumentCel mai bun pentruSuport RegexRecursivNecesită instalare
mvRedenumiri de fișiere uniceNuNuNu (încorporat)
renameRedenumiri batch complexeDa (PCRE)Nu (utilizați cu find)Da
mmvRedenumiri batch simple cu wildcardNu (wildcard-uri)LimitatDa
find + mvLogică recursivă, complexăVia sed/awkDaNu (încorporat)
for loopBatch simplu într-un singur directorVia expansiune bashNuNu (încorporat)

Best Practices for Renaming Files in Linux

Urmând aceste linii directoare vă veți proteja datele și veți preveni greșeli costisitoare, mai ales atunci când efectuați operații de redenumire în masă pe servere de producție.

1. Faceți întotdeauna o simulare mai întâi

Înainte de a executa orice redenumire în lot, previzualizați modificările:

rename -n 's/ /_/g' *

Steagul -n arată ce *s-ar întâmpla* fără a face nicio modificare reală. Aceasta este obligatorie pentru operații la scară largă.

2. Citați întotdeauna variabilele dvs.

Numele de fișiere pot conține spații, caractere speciale sau linii noi. Înconjurați întotdeauna variabilele în ghilimele duble pentru a preveni împărțirea neașteptată a cuvintelor:

mv "$old_file" "$new_file"

3. Faceți o copie de rezervă înainte de operații în masă

Înainte de a redenumi mii de fișiere, creați o copie de rezervă sau un snapshot. Dacă lucrați într-un mediu de hosting gestionat, verificați dacă furnizorul dvs. oferă snapshots automate. Planurile VPS cu cPanel ale AlexHost includ gestionarea ușoară a copiilor de rezervă direct din panoul de control.

4. Utilizați controlul versiunilor pentru fișierele de cod și configurare

Dacă redenumești fișiere care sunt urmărite într-un depozit Git, utilizează git mv în loc de mv simplu pentru a păstra istoricul:

git mv old_script.sh new_script.sh

5. Testați mai întâi cu un subset mic

Când lucrați cu mii de fișiere, testați comanda de redenumire pe un director eșantion mic înainte de a o executa pe setul de date complet:

mkdir test_rename && cp *.jpg test_rename/ && cd test_rename
rename -n 's/IMG_/PHOTO_/' *.jpg

6. Gestionați cu atenție numele de fișiere cu linii noi

Când utilizați find cu conducte, numele de fișiere care conțin linii noi pot cauza probleme. Utilizați -print0 și read -d '' pentru siguranță maximă:

find . -type f -name "*.txt" -print0 | while IFS= read -r -d '' file; do
    new=$(echo "$file" | sed 's/-/_/g')
    mv "$file" "$new"
done

Cazuri de utilizare în lumea reală

Standardizarea numelor fișierelor jurnal pe un server

Administratorii de sistem care gestionează rotația jurnalelor pe un server Linux au adesea nevoie să redenumească jurnalele arhivate pentru a urma o convenție de denumire consistentă:

for f in /var/log/nginx/*.log.*; do
    mv "$f" "${f/access/nginx_access}"
done

Pregătirea resurselor de imagine pentru o aplicație web

Dezvoltatorii care implementează o aplicație web pe Găzduire web partajată au adesea nevoie să normalizeze numele fișierelor de imagine înainte de încărcare:

# Convert all image filenames to lowercase and replace spaces with hyphens
rename 's/ /-/g' *.jpg *.png *.gif
rename 'y/A-Z/a-z/' *.jpg *.png *.gif

Redenumire în lot de fișiere pentru o migrare de domeniu

La migrarea unui site web către un nou domeniu și restructurarea conținutului, poate fi necesar să actualizați sute de fișiere de configurare sau șabloane. Combinată cu Înregistrarea domeniului și gestionarea DNS adecvate, o structură de fișiere curată face migrările mult mai ușoare:

find . -type f -name "*.conf" | while read file; do
    new=$(echo "$file" | sed 's/olddomain/newdomain/g')
    mv "$file" "$new"
done

Întrebări Frecvente

Pot anula o operație de redenumire în Linux?

Linux nu are o funcție nativă de anulare pentru comenzile de terminal. De aceea, rulările de test și copiile de siguranță sunt critice. Dacă utilizați Git, git mv operațiile pot fi revert cu git checkout.

Care este diferența dintre mv și rename?

mv este un utilitar Unix încorporat conceput pentru mutarea și redenumirea fișierelor individuale. rename este un instrument bazat pe Perl conceput special pentru redenumirea în masă folosind expresii regulate. Pentru fișiere unice, utilizați mv. Pentru operații în masă cu modele, utilizați rename.

Funcționează rename la fel pe toate distribuțiile Linux?

Există două versiuni comune ale rename: versiunea bazată pe Perl (comună pe Debian/Ubuntu) și o versiune mai simplă bazată pe C (comună pe unele sisteme bazate pe RHEL). Versiunea Perl suportă expresii regulate complete; versiunea C utilizează substituție de șiruri mai simplă. Verificați întotdeauna care versiune este instalată cu rename --version.

Cum redenumesc fișiere cu spații în numele lor?

Citați întotdeauna numele fișierelor și variabilele:

mv "my old file.txt" "my_new_file.txt"

Sau utilizați rename cu o substituție globală:

rename 's/ /_/g' *

Concluzie

Redenumirea fișierelor în terminalul Linux este o abilitate care se extinde de la schimbări simple și punctuale la operații batch complet automatizate pe mii de fișiere. Instrumentele cheie de stăpânit sunt:

  • mv — pentru redenumiri rapide și individuale
  • rename — pentru operații batch puternice bazate pe regex
  • find + mv — pentru fluxuri de lucru recursive, multi-director
  • for loops — pentru scripturi batch simple și ușor de citit

Previzualizați întotdeauna modificările cu dry runs, puneți ghilimele variabilelor și faceți backup datelor critice înainte de a executa operații de redenumire în masă.

Dacă gestionați fișiere pe un server Linux și căutați un mediu de hosting fiabil și de înaltă performanță, explorați gama de soluții AlexHost — de la VPS Hosting și Servere Dedicate la Panouri de Control VPS complet gestionate — toate optimizate pentru sarcini de lucru Linux.