Android

Cara mengganti nama file dan direktori di linux

Merubah Nama Folder dan File Melalui Terminal Linux

Merubah Nama Folder dan File Melalui Terminal Linux

Daftar Isi:

Anonim

Mengganti nama file dan direktori adalah salah satu tugas paling mendasar yang sering perlu Anda lakukan pada sistem Linux.

Mengganti nama file tunggal itu mudah, tetapi mengganti nama banyak file sekaligus bisa menjadi tantangan, terutama bagi pengguna yang baru mengenal Linux. Anda dapat mengganti nama file menggunakan manajer file GUI atau melalui terminal baris perintah.

Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menggunakan mv dan rename perintah untuk mengganti nama file dan direktori.

Mengganti nama file dengan Perintah mv

Perintah mv (short from move) digunakan untuk mengubah nama atau memindahkan file dari satu lokasi ke lokasi lain. Sintaks untuk perintah mv adalah sebagai berikut:

mv source destination

source dapat berupa satu atau lebih file atau direktori dan destination dapat berupa satu file atau direktori.

  • Jika Anda menentukan beberapa file sebagai source , destination harus berupa direktori. Dalam hal ini, file source dipindahkan ke direktori target. Jika Anda menentukan satu file sebagai source , dan target destination adalah direktori yang ada maka file tersebut dipindahkan ke direktori yang ditentukan. Untuk mengganti nama file, Anda perlu menentukan file tunggal sebagai source , dan file tunggal sebagai target destination .

Misalnya, untuk mengganti nama file file1.txt sebagai file2.txt Anda akan menjalankan:

mv file1.txt file2.txt

Mengganti nama beberapa file dengan Perintah mv

Perintah mv hanya dapat mengganti nama satu file pada satu waktu tetapi dapat digunakan bersama dengan perintah lain seperti find atau di dalam bash untuk atau saat loop untuk mengganti nama beberapa file.

Contoh berikut menunjukkan cara menggunakan Bash for loop untuk mengubah nama semua file .html di direktori saat ini dengan mengubah ekstensi .html menjadi .php .

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

Mari kita menganalisis kode baris demi baris:

  • Baris pertama membuat for for dan beralih melalui daftar semua file yang beringsut dengan .html . Baris kedua berlaku untuk setiap item dalam daftar dan memindahkan file ke yang baru menggantikan .html dengan .php . Bagian ${file%.html} menggunakan ekspansi parameter shell untuk menghapus bagian .html dari namafile.done menunjukkan akhir segmen loop.

Kita juga dapat menggunakan perintah mv dalam kombinasi dengan find untuk mencapai yang sama seperti di atas.

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

Perintah find melewati semua file yang diakhiri dengan .html di direktori saat ini ke perintah mv satu per satu menggunakan saklar -exec . String {} adalah nama file yang sedang diproses.

Seperti yang Anda lihat dari contoh di atas, mengganti nama beberapa file menggunakan perintah mv bukanlah tugas yang mudah karena membutuhkan pengetahuan yang baik tentang skrip Bash.

Mengganti nama file dengan rename Command

Perintah rename digunakan untuk mengganti nama banyak file. Perintah ini lebih maju daripada mv karena memerlukan pengetahuan dasar tentang ekspresi reguler.

Ada dua versi perintah rename dengan sintaks yang berbeda. Dalam tutorial ini, kita akan menggunakan versi perl dari perintah rename . Jika Anda tidak menginstal versi ini di sistem Anda, Anda dapat menginstalnya dengan mudah menggunakan manajer paket distribusi Anda.

  • Instal ganti nama di Ubuntu dan Debian

    sudo apt install rename

    Instal ganti nama di CentOS dan Fedora

    sudo yum install prename

    Instal ganti nama di Arch Linux

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

Sintaks untuk perintah rename adalah sebagai berikut:

rename perlexpr files

Perintah rename akan mengganti nama semua files sesuai dengan ekspresi reguler perlexpr ditentukan. Anda dapat tentang perl ekspresi reguler di sini.

Misalnya, perintah berikut akan mengubah semua file dengan ekstensi .html ke .php :

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

Anda bisa menggunakan argumen -n untuk mencetak nama file yang akan diganti namanya, tanpa mengubah nama mereka.

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

Outputnya akan terlihat seperti ini:

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)

Secara default, perintah rename tidak akan menimpa file yang ada. Lewati argumen -f untuk memungkinkan file yang ada menjadi over-tertulis.

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

Di bawah ini adalah beberapa contoh umum tentang cara menggunakan perintah ganti nama:

  • Ganti spasi dalam nama file dengan garis bawah

    rename 'y/ /_/' *

    Ubah nama file menjadi huruf kecil

    rename 'y/AZ/az/' *

    Ubah nama file menjadi huruf besar

    rename 'y/az/AZ/' *

Kesimpulan

Sekarang Anda harus memiliki pemahaman yang baik tentang bagaimana menggunakan mv dan rename perintah untuk mengganti nama file. Tentu saja, ada perintah lain untuk mengganti nama file di Linux seperti mmv . Pengguna Linux baru yang terintimidasi oleh baris perintah dapat menggunakan alat mengubah nama batch GUI seperti Métamorphose.

ganti nama terminal mv