GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengganti Nama File dan Direktori di Linux

Mengganti nama file adalah salah satu tugas paling dasar yang sering Anda perlukan di sistem Linux. Anda dapat mengganti nama file menggunakan pengelola file GUI atau melalui terminal baris perintah.

Mengganti nama satu file itu mudah, tetapi mengganti nama banyak file sekaligus bisa menjadi tantangan, terutama bagi pengguna yang baru mengenal Linux.

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

Mengganti Nama File dengan mv Perintah #

mv command(short of move) digunakan untuk mengganti nama atau memindahkan file dari satu lokasi ke lokasi lain. Sintaks untuk mv perintahnya adalah sebagai berikut:

mv [OPTIONS] source destination

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

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

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

mv file1.txt file2.txt

Mengganti nama banyak file dengan mv Perintah #

mv perintah hanya dapat mengganti nama satu file pada satu waktu, tetapi dapat digunakan bersama dengan perintah lain seperti find atau di dalam bash for atau while loop untuk mengganti nama banyak file.

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

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

Mari kita menganalisis kode baris demi baris:

  • Baris pertama membuat for loop dan mengulangi daftar semua file dengan tepi .html .
  • Baris kedua berlaku untuk setiap item dari daftar dan memindahkan file ke yang baru menggantikan .html dengan .php . Bagian ${file%.html} menggunakan ekspansi parameter shelluntuk menghapus .html bagian dari nama file.
  • done menunjukkan akhir segmen loop.

Berikut adalah contoh menggunakan mv dalam kombinasi dengan find untuk mencapai hal yang sama seperti di atas:

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

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

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

Mengganti Nama File dengan rename Perintah #

rename perintah digunakan untuk mengganti nama beberapa file. Perintah ini lebih maju dari mv karena memerlukan pengetahuan dasar tentang ekspresi reguler.

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

  • Pasang rename di Ubuntu dan Debian

    sudo apt install rename
  • Pasang rename di CentOS dan Fedora

    sudo yum install prename
  • Pasang rename di Arch Linux

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

Sintaks untuk rename perintahnya adalah sebagai berikut:

rename [OPTIONS] perlexpr files

rename perintah akan mengganti nama files sesuai dengan perlexpr yang ditentukan ekspresi reguler. Anda dapat membaca lebih lanjut tentang ekspresi reguler Perl di sini.

Contoh berikut akan mengubah semua file dengan ekstensi .html ke .php :

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

Anda dapat menggunakan -n opsi untuk mencetak nama file yang akan diganti namanya, tanpa mengganti namanya.

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, rename perintah tidak menimpa file yang ada. Lewati -f opsi untuk mengizinkan file yang ada untuk ditimpa:

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

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

  • Ganti spasi dalam nama file dengan garis bawah

    rename 'y/ /\_/' \*
  • Mengubah nama file menjadi huruf kecil

    rename 'y/A-Z/a-z/' \*
  • Mengubah nama file menjadi huruf besar

    rename 'y/a-z/A-Z/' \*

Kesimpulan #

Kami telah menunjukkan cara menggunakan mv dan rename perintah untuk mengganti nama file.

Ada juga perintah lain untuk mengganti nama file di Linux, seperti mmv . Pengguna Linux baru yang terintimidasi oleh baris perintah dapat menggunakan alat pengubahan nama batch GUI seperti Métamorphose.

Jika Anda memiliki pertanyaan atau umpan balik, silakan tinggalkan komentar.


Linux
  1. Cara Mengarsipkan File Dan Direktori Di Linux [Bagian 2]

  2. Cara Mengarsipkan File Dan Direktori Di Linux [Bagian 1]

  3. Linux Hapus File dan Direktori

  1. Cara Mengganti Nama File di Linux

  2. Cara Mengganti Nama Direktori di Linux

  3. Cara Menemukan dan Menghapus Direktori dan File Kosong di Linux

  1. Cara Menyalin File dan Direktori di Linux

  2. Cara Mengganti Nama File di Linux

  3. Cara Menghapus Direktori dan File Menggunakan Linux