Linux / Cara Mengganti Nama File atau Direktori
Untuk mengganti nama file atau direktori di Linux, tentukan jalur yang ada dan jalur baru secara berurutan dengan perintah mv. Jika nama target sudah ada, itu bisa tertimpa, atau sumber bisa dipindahkan ke lokasi yang tidak diinginkan, jadi sebaiknya diperiksa sebelum dieksekusi.
Format dasar untuk mengganti nama
mv yang digunakan dalam panduan untuk memindahkan file dengan mv juga digunakan untuk mengganti nama. Jika kedua jalur berada dalam direktori yang sama, hanya namanya yang berubah, dan jika berada di direktori yang berbeda, lokasi juga ikut berubah.
mv -i -- source destination
-i memeriksa sebelum menimpa file target yang sudah ada. -- menunjukkan akhir dari opsi, sehingga nama yang dimulai dengan tanda hubung tidak ditafsirkan sebagai opsi. Contoh-contoh di bawah ini didasarkan pada GNU coreutils mv dan shell Bash.
Mempersiapkan file dan direktori untuk latihan
Latihan di direktori sementara agar tidak menyentuh data yang sudah ada. Jalankan perintah di bawah ini secara berurutan di shell yang sama. Jalur dari direktori sementara yang baru dibuat akan disimpan dalam variabel workdir.
workdir=$(mktemp -d)
printf 'example\n' > "$workdir/report.txt"
mkdir "$workdir/docs"
ls -l -- "$workdir"
Jika report.txt dan docs muncul di output, Anda siap. Untuk memeriksa jalurnya, jalankan printf '%s\n' "$workdir". Karena perintah menggunakan variabel dari shell saat ini, jika Anda membuka terminal baru, Anda perlu menyiapkannya lagi.
Mengganti nama file
Ganti nama file latihan dari report.txt menjadi summary.txt dan periksa hasilnya. Pastikan target baru belum ada sebelum mengeksekusi.
ls -la -- "$workdir"
mv -i -- "$workdir/report.txt" "$workdir/summary.txt"
ls -l -- "$workdir"
cat -- "$workdir/summary.txt"
Jika berhasil, daftar akan menampilkan summary.txt alih-alih report.txt, dan perintah terakhir akan menampilkan example. Saat mengubah nama dalam sistem file yang sama, kontennya tetap sama. Untuk mengembalikan ke nama asli, pastikan nama asli tidak sedang digunakan, kemudian tukar kedua jalur dan jalankan mv -i.
Mengganti nama direktori
Direktori diganti namanya dengan cara yang sama. Perintah berikut mengganti nama docs menjadi archive di lingkungan latihan di mana target tidak ada.
mv -i -T -- "$workdir/docs" "$workdir/archive"
ls -l -- "$workdir"
Jika berhasil, archive akan ditampilkan menggantikan docs. -T adalah opsi dalam GNU mv yang tidak memperlakukan jalur terakhir sebagai direktori target secara khusus. Tanpa opsi ini, jika Anda menentukan direktori yang sudah ada sebagai target, sumber dapat dipindahkan ke dalam direktori itu alih-alih diganti namanya. Bahkan jika Anda menggunakan -T, penggantian atau kesalahan mungkin terjadi tergantung pada jenis dan status target yang ada, jadi periksa terlebih dahulu. Direktori target yang tidak kosong tidak dapat diganti.
Memeriksa penimpaan dan jalur
Jika Anda menentukan file yang sudah ada sebagai target, file tersebut mungkin akan ditimpa. Cadangkan file penting terlebih dahulu, dan jawablah y hanya saat menimpa sebagai jawaban atas pertanyaan konfirmasi dari -i. Untuk menghindari penimpaan, masukkan n. Teks konfirmasi bisa berbeda tergantung pada sistem dan pengaturan bahasa.
Jika nama file mengandung spasi, bungkus seluruh jalur dengan tanda kutip ganda. Berikut ini adalah contoh membuat file latihan terpisah dan kemudian mengganti namanya.
printf 'notes\n' > "$workdir/old notes.txt"
mv -i -- "$workdir/old notes.txt" "$workdir/new notes.txt"
cat -- "$workdir/new notes.txt"
Jika notes ditampilkan di akhir, file telah dibaca dengan nama baru. Dalam pekerjaan nyata, jika jalurnya salah atau tidak ada izin, periksa pesan kesalahan dan izin tulis pada direktori sumber dan target. Saat pindah ke sistem file lain, bisa terjadi penyalinan diikuti dengan penghapusan file asli, jadi Anda perlu memeriksa ruang dan hasilnya. Untuk detail lebih lanjut tentang opsi dan perilaku, lihat manual mv dari GNU coreutils .




