Hemat 15% untuk semua layanan hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode: Skills Memulai
Bagian FAQ
Linux Server Khusus Server Virtual

Cara Mengganti Nama File di Terminal Linux: Panduan Lengkap untuk Pemula dan Profesional

Mengganti nama file adalah salah satu tugas paling fundamental di sistem operasi apa pun — dan di Linux, ini menjadi luar biasa kuat ketika dijalankan langsung dari terminal. Baik Anda perlu mengubah nama file tunggal atau mengganti nama batch ribuan file menggunakan pola kompleks, menguasai penggantian nama file di Linux adalah keterampilan penting bagi pengembang, administrator sistem, dan insinyur DevOps.

Dari mengorganisir aset proyek hingga mengotomatisasi pembersihan log dan menyiapkan artefak penerapan, mengetahui alat dan teknik yang tepat akan menghemat waktu Anda secara signifikan, mengurangi kesalahan manusia, dan membuka otomasi sejati dalam skala besar.

Mengapa Mengganti Nama File dari Linux Terminal?

Sebelum mendalami perintah, ada baiknya memahami mengapa pendekatan terminal lebih disukai daripada manajer file grafis untuk banyak kasus penggunaan:

  • Mengorganisir file berdasarkan tanggal, jenis, proyek, atau konvensi penamaan
  • Mengotomatisasi pembersihan log yang diputar, data sementara, atau arsip cadangan
  • Menstandarkan nama file untuk skrip, penerapan, atau integrasi API
  • Prapemrosesan dataset dalam pengembangan, penelitian, atau pipeline data science
  • Mengintegrasikan ke dalam alur kerja CI/CD, pipeline pemrosesan gambar, atau sistem versioning

Baik Anda seorang pengembang yang mengganti nama ribuan file gambar, sysadmin yang membersihkan log yang diputar di server VPS Hosting, atau insinyur DevOps yang menyiapkan artefak build untuk penerapan — teknik di bawah ini akan membuat alur kerja Anda jauh lebih efisien.

Method 1: Basic File Renaming with mv

Perintah mv (move) adalah utilitas Linux bawaan standar untuk mengganti nama file. Tidak memerlukan instalasi tambahan dan bekerja di setiap distribusi Linux.

Syntax

mv old_filename.txt new_filename.txt

Apa yang mv Dapat Lakukan

TugasContoh Perintah
Rename file di tempatmv report.txt final_report.txt
Pindahkan file ke direktori lainmv report.txt /home/user/docs/
Rename dan pindahkan secara bersamaanmv report.txt ../archive/final_report.txt

Contoh Praktis

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

Perintah tunggal ini mengganti nama file.txt menjadi renamed_file.txt dan memindahkannya ke direktori ../archive/ dalam satu langkah.

> Penting: Tidak seperti beberapa sistem operasi, Linux tidak memperingatkan Anda jika file tujuan sudah ada. File asli akan ditimpa secara diam-diam. Gunakan flag -i (interactive) untuk meminta konfirmasi:

mv -i old_filename.txt new_filename.txt

Metode 2: Batch Renaming dengan rename (Berbasis Perl)

Untuk mengganti nama beberapa file sekaligus, utilitas berbasis Perl rename adalah alat paling powerful dan fleksibel yang tersedia. Ini menggunakan Perl-compatible regular expressions (PCRE), memberikan Anda kontrol yang detail atas pola penggantian nama yang kompleks.

Instalasi

# Debian / Ubuntu
sudo apt install rename

# RHEL / Fedora / CentOS
sudo dnf install prename

Sintaks Dasar

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

Ini mengganti nama semua file .txt di direktori saat ini, mengganti setiap kemunculan old_pattern dengan new_pattern dalam nama file.

Kasus Penggunaan rename yang Umum

TujuanPerintah
Tambahkan prefix ke semua file .jpgrename 's/^/IMG_/' *.jpg
Hapus ekstensi .bak dari nama filerename 's/.bak$//' *.bak
Konversi .JPG ke huruf kecil .jpgrename 's/.JPG$/.jpg/i' *.JPG
Ganti spasi dengan underscorerename 's/ /_/g' *
Tambahkan pola suffix numerikrename 's/file/file_v2/' *.txt

Dry Run Sebelum Mengeksekusi

Ini adalah praktik terbaik yang mungkin paling penting saat batch renaming. Gunakan flag -n untuk melihat pratinjau perubahan tanpa benar-benar memodifikasi file apa pun:

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

Output akan menunjukkan dengan tepat apa yang akan diganti nama, memungkinkan Anda memverifikasi pola sudah benar sebelum melakukan operasi.

Metode 3: Batch Renaming dengan mmv

Utilitas mmv (mass move) menyediakan pendekatan berbasis pola untuk mengganti nama beberapa file menggunakan sintaks wildcard daripada regular expressions. Ini sedikit kurang fleksibel daripada rename tetapi lebih mudah dibaca untuk tugas-tugas yang lebih sederhana.

Instalasi

sudo apt install mmv

Contoh Penggunaan

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

Ini mengganti nama setiap file .jpg di direktori saat ini, menambahkan photo_ di depan setiap nama file. Placeholder #1 menangkap kecocokan wildcard dari pola sumber.

Metode 4: Penamaan Ulang Rekursif dengan find + rename + Bash

Untuk logika penamaan ulang yang kompleks yang mencakup direktori bersarang, menggabungkan find, rename, dan skrip bash memberikan Anda kontrol dan fleksibilitas maksimal.

Contoh: Ganti Tanda Hubung dengan Garis Bawah di Semua File .txt (Secara Rekursif)

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

Cara kerjanya:

  1. find . -type f -name "*.txt" — menemukan semua file .txt mulai dari direktori saat ini, termasuk subdirektori
  2. while read file — melakukan iterasi pada setiap hasil
  3. sed 's/-/_/g' — menghasilkan nama file baru dengan mengganti semua tanda hubung dengan garis bawah
  4. mv "$file" "$new" — melakukan penamaan ulang yang sebenarnya

Pendekatan ini aman, sangat fleksibel, dan bekerja dengan mulus di seluruh struktur direktori yang bersarang dalam — menjadikannya ideal untuk digunakan di Dedicated Servers di mana Anda mungkin mengelola hierarki file yang besar dan kompleks.

Metode 5: Mengganti Nama File dengan for Loops

Untuk operasi batch yang sederhana dalam satu direktori, loop for yang sederhana dalam bash sering kali merupakan solusi tercepat.

Contoh: Tambahkan Prefiks ke Semua File .log

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

Contoh: Tambahkan Timestamp ke Semua File .txt

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

Contoh: Ganti Substring dalam Nama File

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

Sintaks ${variable/pattern/replacement} adalah fitur ekspansi parameter bash native — tidak ada alat eksternal yang diperlukan.

Perbandingan: Tool Mana yang Harus Anda Gunakan?

ToolTerbaik UntukRegex SupportRecursiveMemerlukan Install
mvRename file tunggalTidakTidakTidak (built-in)
renameRename batch kompleksYa (PCRE)Tidak (gunakan dengan find)Ya
mmvRename batch wildcard sederhanaTidak (wildcards)TerbatasYa
find + mvRecursive, logika kompleksVia sed/awkYaTidak (built-in)
for loopBatch sederhana dalam satu direktoriVia bash expansionTidakTidak (built-in)

Best Practices for Renaming Files in Linux

Mengikuti panduan ini akan melindungi data Anda dan mencegah kesalahan yang mahal, terutama saat melakukan operasi rename massal pada server produksi.

1. Selalu Lakukan Dry Run Terlebih Dahulu

Sebelum menjalankan batch rename apa pun, pratinjau perubahannya:

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

Flag -n menunjukkan apa yang *akan* terjadi tanpa membuat perubahan aktual apa pun. Ini tidak dapat dinegosiasikan untuk operasi skala besar.

2. Selalu Kutip Variabel Anda

Nama file dapat berisi spasi, karakter khusus, atau baris baru. Selalu bungkus variabel dalam tanda kutip ganda untuk mencegah pemisahan kata yang tidak terduga:

mv "$old_file" "$new_file"

3. Backup Sebelum Operasi Massal

Sebelum mengganti nama ribuan file, buat backup atau snapshot. Jika Anda bekerja di lingkungan hosting terkelola, periksa apakah penyedia Anda menawarkan snapshot otomatis. VPS dengan cPanel AlexHost mencakup manajemen backup yang mudah langsung dari control panel.

4. Gunakan Version Control untuk File Kode dan Konfigurasi

Jika Anda mengganti nama file yang dilacak dalam repositori Git, gunakan git mv alih-alih mv biasa untuk mempertahankan riwayat:

git mv old_script.sh new_script.sh

5. Uji dengan Subset Kecil Terlebih Dahulu

Saat bekerja dengan ribuan file, uji perintah rename Anda pada direktori sampel kecil sebelum menjalankannya pada dataset lengkap:

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

6. Tangani Nama File dengan Baris Baru dengan Hati-hati

Saat menggunakan find dengan pipe, nama file yang berisi baris baru dapat menyebabkan masalah. Gunakan -print0 dan read -d '' untuk keamanan maksimal:

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

Kasus Penggunaan Dunia Nyata

Standardisasi Nama File Log di Server

Administrator sistem yang mengelola rotasi log di server Linux sering perlu mengganti nama log arsip untuk mengikuti konvensi penamaan yang konsisten:

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

Menyiapkan Aset Gambar untuk Aplikasi Web

Developer yang menerapkan aplikasi web ke Shared Web Hosting sering perlu menormalkan nama file gambar sebelum diunggah:

# 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

Batch Renaming File untuk Migrasi Domain

Saat bermigrasi website ke domain baru dan merestrukturisasi konten, Anda mungkin perlu memperbarui ratusan file konfigurasi atau template. Dikombinasikan dengan Domain Registration dan manajemen DNS yang tepat, struktur file yang bersih membuat migrasi jauh lebih lancar:

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

Pertanyaan yang Sering Diajukan

Bisakah saya membatalkan operasi rename di Linux?

Linux tidak memiliki fungsi undo native untuk perintah terminal. Itulah mengapa dry runs dan backups sangat penting. Jika Anda menggunakan Git, git mv operasi dapat dikembalikan dengan git checkout.

Apa perbedaan antara mv dan rename?

mv adalah utilitas Unix built-in yang dirancang untuk memindahkan dan mengganti nama file individual. rename adalah alat berbasis Perl yang dirancang khusus untuk batch renaming menggunakan regular expressions. Untuk file tunggal, gunakan mv. Untuk operasi bulk dengan pola, gunakan rename.

Apakah rename bekerja sama di semua distribusi Linux?

Ada dua versi umum dari rename: versi berbasis Perl (umum di Debian/Ubuntu) dan versi berbasis C yang lebih sederhana (umum di beberapa sistem berbasis RHEL). Versi Perl mendukung regular expressions penuh; versi C menggunakan substitusi string yang lebih sederhana. Selalu verifikasi versi mana yang terinstal dengan rename --version.

Bagaimana cara mengganti nama file dengan spasi di nama mereka?

Selalu kutip nama file dan variabel Anda:

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

Atau gunakan rename dengan substitusi global:

rename 's/ /_/g' *

Kesimpulan

Mengganti nama file di terminal Linux adalah keterampilan yang berkembang dari perubahan satu kali sederhana hingga operasi batch yang sepenuhnya otomatis di seluruh ribuan file. Alat utama yang harus dikuasai adalah:

  • mv — untuk penggantian nama cepat dan individual
  • rename — untuk operasi batch berbasis regex yang kuat
  • find + mv — untuk alur kerja rekursif multi-direktori
  • for loops — untuk skrip batch sederhana dan mudah dibaca

Selalu pratinjau perubahan dengan dry runs, kutip variabel Anda, dan cadangkan data penting sebelum menjalankan operasi penggantian nama massal.

Jika Anda mengelola file di server Linux dan mencari lingkungan hosting yang andal dan berkinerja tinggi, jelajahi rangkaian solusi AlexHost — dari VPS Hosting dan Dedicated Servers hingga VPS Control Panels yang sepenuhnya dikelola — semuanya dioptimalkan untuk beban kerja Linux.