Android

Cum să redenumiți fișiere și directoare în linux

Installing linux in virtualbox

Installing linux in virtualbox

Cuprins:

Anonim

Redenumirea fișierelor și directoarelor este una dintre cele mai de bază sarcini de care trebuie să efectuați adesea pe un sistem Linux.

Redenumirea unui singur fișier este ușor, dar redenumirea mai multor fișiere simultan poate fi o provocare, în special pentru utilizatorii nou-Linux. Puteți redenumi fișierele folosind un manager de fișiere GUI sau prin intermediul terminalului din linia de comandă.

În acest tutorial, vă vom arăta cum să utilizați comenzile mv și rename pentru a redenumi fișierele și directoarele.

Redenumirea fișierelor cu comanda mv

Comanda mv (scurtă de la mutare) este folosită pentru redenumirea sau mutarea fișierelor dintr-o locație în alta. Sintaxa pentru comanda mv este următoarea:

mv source destination

source poate fi unul sau mai multe fișiere sau directoare, iar destination poate fi un singur fișier sau director.

  • Dacă specificați mai multe fișiere ca source , destination trebuie să fie un director. În acest caz, fișierele source sunt mutate în directorul țintă. Dacă specificați un singur fișier ca source , iar destination de destination este un director existent, atunci fișierul este mutat în directorul specificat. Pentru a redenumi un fișier trebuie să specificați un un singur fișier ca source și un singur fișier ca țintă de destination .

De exemplu, pentru a redenumi fișierul file1.txt ca file2.txt ați rula:

mv file1.txt file2.txt

Redenumirea mai multor fișiere cu comanda mv

Comanda mv poate redenumi un singur fișier simultan, dar poate fi folosită împreună cu alte comenzi, cum ar fi find sau inside bash pentru sau în timp ce buclele pentru a redenumi mai multe fișiere.

Următorul exemplu arată cum să utilizați Bash pentru buclă pentru a redenumi toate fișierele .html din directorul curent, schimbând extensia .html în .php .

for f in *.html; do mv -- "$f" "${f%.html}.php" done

Să analizăm codul linie după linie:

  • Prima linie creează o buclă pentru și se iterează printr-o listă cu toate fișierele edging cu .html . A doua linie se aplică fiecărui element din listă și mută fișierul în unul nou înlocuind .html cu .php . Partea ${file%.html} utilizează expansiunea parametrilor shell pentru a elimina partea .html din numele fișierului.done indică sfârșitul segmentului de buclă.

Putem folosi, de asemenea, comanda mv în combinație cu find pentru a obține la fel ca mai sus.

find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

Comanda find trece toate fișierele care se termină cu .html din directorul curent la comanda mv unul câte unul folosind comutatorul -exec . Șirul {} este numele fișierului procesat în prezent.

După cum puteți vedea din exemplele de mai sus, redenumirea mai multor fișiere folosind comanda mv nu este o sarcină ușoară, deoarece necesită o bună cunoaștere a scripturilor Bash.

Redenumirea fișierelor cu redenumirea comenzii

Comanda de rename este folosită pentru redenumirea mai multor fișiere. Această comandă este mai avansată decât mv , deoarece necesită cunoștințe de bază despre expresii obișnuite.

Există două versiuni ale comenzii de rename cu sintaxă diferită. În acest tutorial, vom folosi versiunea perl a comenzii de rename . Dacă nu aveți această versiune instalată pe sistemul dvs., o puteți instala cu ușurință folosind managerul de pachete al distribuției dvs.

  • Instalați redenumirea pe Ubuntu și Debian

    sudo apt install rename

    Instalați redenumirea pe CentOS și Fedora

    sudo yum install prename

    Instalați redenumirea pe Arch Linux

    yay perl-rename ## or yaourt -S perl-rename

Sintaxa pentru comanda de rename este următoarea:

rename perlexpr files

Comanda de rename va redenumi toate files conformitate cu expresia regulată specifică perlexpr . Puteți face referințe la perlele normale aici.

De exemplu, următoarea comandă va schimba toate fișierele cu extensia .html la .php :

rename 's/.html/.php/' *.html

Puteți utiliza argumentul -n pentru a imprima nume de fișiere pentru a fi redenumite, fără a le redenumi.

rename -n 's/.html/.php/' *.html

Rezultatul va arăta astfel:

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)

În mod implicit, comanda de redenumire nu va suprascrie fișierele existente. Treceți argumentul -f pentru a permite supraîncărcarea fișierelor existente.

rename -f 's/.html/.php/' *.html

Mai jos sunt câteva exemple obișnuite despre cum se utilizează comanda de redenumire:

  • Înlocuiți spațiile din numele fișierelor cu caractere scrise

    rename 'y/ /_/' *

    Convertiți numele fișierelor în minuscule

    rename 'y/AZ/az/' *

    Convertiți numele fișierelor cu majuscule

    rename 'y/az/AZ/' *

Concluzie

Până acum, ar trebui să înțelegeți cum să utilizați comenzile mv și rename pentru a redenumi fișierele. Desigur, există alte comenzi pentru redenumirea fișierelor în Linux, cum ar fi mmv . Utilizatorii noi de Linux care sunt intimidați de linia de comandă pot utiliza instrumente pentru redenumirea loturilor GUI, cum ar fi Métamorphose.

redenumirea terminalului mv