Cum să redenumești un director pe Linux

Publicat: 2022-06-16
Laptop Linux afișează un prompt bash
fatmawati achmad zaenuri/Shutterstock.com

Redenumirea unui director în Linux este ușoară și există o mulțime de modalități de a face acest lucru. De la redenumirea unui singur director până la găsirea și redenumirea multor, iată cum se procedează.

Datele dvs. sunt în siguranță

Redenumirea directoarelor este ceva ce trebuie să facem cu toții din când în când.

S-ar putea să creăm un director și să-i scriem greșit numele și vrem să-l corectăm. Adesea, scopul unui director se schimbă în timp sau de-a lungul vieții unui proiect și doriți să ajustați numele pentru a reflecta noua sa utilizare. Poate ați decomprimat un fișier de arhivă și a creat un arbore de directoare cu numele directorului în majuscule și ați dori ca acestea să fie cu litere mici.

Ce sunt fișierele și folderele computerului?
LEGATE Ce sunt fișierele și folderele computerului?

Indiferent de motiv. redenumirea unui director nu afectează cu nimic datele deținute în el. Schimbă calea către acele date, dar fișierele și directoarele din directorul redenumit nu sunt atinse.

Nu redenumiți directoarele de sistem. Schimbarea căii către fișierele de sistem și comenzile va avea un efect negativ asupra funcționării computerului, cel puțin. Dacă trebuie să utilizați sudo pentru a redenumi un director - cu excepția cazului în care știți cu adevărat ce faceți - sunt șansele să nu îl redenumiti.

Folosind comanda mv

În cele mai simple cazuri, tot ce avem nevoie este comanda mv . Aceasta este o parte integrantă a fiecărei distribuții Linux, așa că nu există nimic de instalat.

Publicitate

Comanda mv are peste 50 de ani la momentul scrierii. Ea provine din zorii Unix, când comenzile scurte și criptice erau în vogă, probabil pentru a reduce numărul de caractere care trebuiau să treacă de-a lungul liniilor seriale lente de la teletipuri și terminale stupide la computerul propriu-zis.

De fapt, înseamnă „mutare” și poate fi folosit pentru a muta fișiere din director în director. Dacă mutați un fișier în aceeași locație în care se află deja și îi dați un nume nou, ați redenumit fișierul. Și putem face același lucru cu directoarele.

Există două subdirectoare în acest director.

 ls 

Listarea a două subdirectoare

Pentru a redenumi un director folosim comanda mv. Trebuie să furnizăm numele curent al directorului și noul nume.

 mv old-work archive-2 

Redenumirea unui director cu mv

Dacă directorul pe care doriți să-l redenumiți nu se află în directorul curent, furnizați calea precum și numele directorului.

 mv ~/htg/old-work ~/htg/archive-2
 ls 

Redenumirea unui director într-un alt director cu mv prin specificarea căii pe linia de comandă

Utilizarea browserului de fișiere

Browserele de fișiere pot redenumi directoare. Apăsarea tastei în aplicația Fișiere GNOME este F2. Evidențierea unui director și atingerea tastei F2 deschide dialogul „Redenumire folder”.

Folosind browser-ul fie pentru a redenumi un director

Publicitate

Introduceți noul nume și faceți clic pe butonul verde „Redenumire”.

Furnizarea noului nume de director în browserul de fișiere

Directorul este redenumit pentru dvs.

Directorul redenumit în fereastra browserului de fișiere

E la fel de simplu.

Comanda de redenumire

Dacă nevoile dvs. sunt mai complicate decât redenumirea simplă a unui director, este posibil să fie necesar să utilizați comanda rename . Acest lucru vă permite să utilizați expresii Perl pentru a redenumi fișierele și directoarele. Oferă o modalitate cu totul mai puternică și mai flexibilă de a redenumi directoarele.

Vom vorbi despre comanda de rename bazată pe Perl. Există o altă comandă mai veche numită rename , care face parte din utilitățile de bază Linux. Probabil va trebui să instalați comanda Perl rename pe care vrem să o folosim.

Pentru a evita ciocnirile de nume cu comanda rename existentă, comanda Perl rename se numește prename pe Fedora și perl-rename pe Manjaro. Pe Ubuntu, comenzile rename și prename sunt ambele legături simbolice care se rezolvă într-un binar numit file-rename .

Deci, pe Manjaro comanda va trebui să utilizați perl-rename , iar pe Fedora este prename . Pe Ubuntu, puteți utiliza rename sau prename .

Pentru a instala Perl redenumirea, pe Ubuntu trebuie să tastați:

 sudo apt install redenumește 

Se instalează redenumirea pe Ubuntu

Pe Fedora, comanda este:

 sudo dnf install prename 

Instalarea prename pe Fedora

Pe Manjaro pachetul se numește perl-rename .

 sudo pacman -Sy perl-redenumire 

Instalarea perl-rename pe Manjaro

Publicitate

Asigurați-vă că utilizați comanda corespunzătoare pentru distribuția dvs. dacă doriți să lucrați prin exemple.

Primii pași Cu redenumirea

Comanda rename preia expresii regulate Perl și le aplică unui fișier sau director sau unui grup de fișiere sau directoare.

În directorul nostru, avem o colecție de alte directoare.

 ls 

O colecție de directoare într-un amestec de litere mari, litere mici și litere mari

Numele lor sunt un amestec de litere mici, majuscule și litere mixte. Le putem converti pe toate în litere mici cu o expresie potrivită.

 redenumește „y/AZ/az/” *
 ls 

Conversia directoarelor în nume minuscule

Toate directoarele sunt acum cu litere mici, fie că anterior erau cu majuscule, fie că conțineau o literă mare impară.

Toată magia este conținută în expresie. Expresia este înfășurată între ghilimele simple „ ' ”. Aceasta este ceea ce înseamnă întreaga comandă.

  • y : Aceasta înseamnă căutarea oricărui caracter din prima gamă de caractere și înlocuirea acestuia cu caracterul corespunzător din a doua gamă de caractere.
  • /AZ/az/ : primul interval este format din toate literele de la „A” la „Z”, iar al doilea interval este reprezentat de toate caracterele de la „a” la „z”.
  • * : Caracterul metalic asterisc înseamnă că aplicați acest lucru tuturor directoarelor.
Publicitate

Cu alte cuvinte, comanda se citește ca „pentru toate directoarele, schimbați orice literă majuscule cu litera minusculă echivalentă”.

Evident, puteți redenumi un singur director cu rename , deși miroase a exagerat. Veți fi mai rapid folosind mv .

 redenumește „s/gamma/epsilon-2/” *
 ls 

redenumirea unui singur director cu redenumire

„S” din această expresie înseamnă înlocuitor. Verifică fiecare director pentru a vedea dacă numele său este „gamma”. Dacă este, îl înlocuiește cu „epsilon-2”. Fiți conștienți, totuși, că acesta s-ar fi potrivit și cu un director numit „gamma-zeta”, de exemplu, redenumindu-l în „epsilon-2-zeta”.

Putem evita acest lucru adăugând metacaracterele începutul șirului „ ^ ” și sfârșitul șirului „ $ ” la prima clauză a expresiei.

 ls
 redenumiți „s/^gamma$/epsilon-2/” *
 ls 

Limitarea unei acțiuni de redenumire numai la nume întregi de director

Acest lucru lasă directorul „epsilon-2” neatins.

Folosind redenumirea cu alte comenzi

Putem folosi alte comenzi pentru a localiza directoarele pe care dorim să le rename . Dacă avem un set de directoare imbricate și dorim să redenumim oricare care se termină în „-old”, astfel încât să se termine în „-archive”, putem realiza acest lucru utilizând find și xargs .

Cum să utilizați comanda xargs pe Linux
LEGATE Cum să utilizați comanda xargs pe Linux

Trebuie să folosim xargs , deoarece rename nu acceptă introducerea prin canalizare. Comanda xargs depășește această problemă acceptând intrarea prin conductă și adăugând la linia de comandă a unei alte comenzi ca parametru de linie de comandă.

Comanda noastră arată astfel:

 găsi . -adâncime -tip d -nume „*-vechi” | xargs -r redenumește „s/old$/archive/”
  • . : Îi spunem find să începem căutarea în directorul curent. Aceasta ar putea fi orice cale, desigur.
  • -depth : Folosiți o căutare depth first. Aceasta înseamnă că conținutul subdirectoarelor imbricate mai profunde este procesat înaintea celor mai mari.
  • -type d : Căutați directoare, nu fișiere.
  • -name „*-old” : indiciul de căutare. Căutăm directoare cu nume care se termină în „-vechi”.
  • | : trimitem ieșirea de la find în comanda xargs .
  • xargs -r : -r (fără rulare dacă este gol) înseamnă că nu rulați comanda dacă nu există directoare care se potrivesc.
  • rename „s/old$/archive/” : Comanda de rename care urmează să fie executată.

Arborele nostru de directoare arată astfel înainte de comandă.

Arborele de director înainte de comanda noastră de redenumire

Executăm comanda noastră:

Comanda noastră de redenumire utilizând find, xargs și rename

Publicitate

Și putem vedea că toate directoarele care se potrivesc, inclusiv cele imbricate, au fost redenumite.

Arborele de director după comanda de redenumire

Cai pentru curse

Redenumirea unui director nu are nevoie de nimic mai mult decât mv . Dacă preferați aplicațiile GUI, puteți utiliza browserul de fișiere. Dacă aveți o mulțime de directoare de redenumit și mai ales dacă sunt împrăștiate într-un arbore de directoare, veți avea nevoie de flexibilitatea rename .

LEGATE: Cum să gestionați fișierele de pe terminalul Linux: 11 comenzi pe care trebuie să le cunoașteți