Mengganti nama direktori adalah salah satu operasi paling dasar yang sering Anda perlukan untuk dilakukan pada sistem Linux. Anda dapat mengganti nama direktori dari pengelola file GUI dengan beberapa klik atau menggunakan terminal baris perintah.
Artikel ini menjelaskan cara mengganti nama direktori menggunakan baris perintah.
Mengganti Nama Direktori #
Di Linux dan sistem operasi mirip Unix, Anda dapat menggunakan mv
(short of move) perintah untuk mengganti nama atau memindahkan file dan direktori dari satu lokasi ke lokasi lain.
Sintaks dari mv
perintah untuk memindahkan direktori adalah sebagai berikut:
mv [OPTIONS] source destination
Misalnya, untuk mengganti nama direktori dir1
sebagai dir2
Anda akan menjalankan:
mv dir1 dir2
Saat mengganti nama direktori, Anda harus menentukan dengan tepat dua argumen ke mv
memerintah. Argumen pertama adalah nama direktori saat ini, dan argumen kedua adalah nama baru.
Penting untuk dicatat bahwa jika dir2
sudah ada, dir1
dipindahkan ke dir2
direktori.
Untuk mengganti nama direktori yang tidak ada di direktori kerja saat ini, Anda perlu menentukan jalur absolut atau relatif:
mv /home/user/dir1 /home/user/dir2
Mengganti Nama Banyak Direktori #
Mengganti nama satu direktori adalah tugas yang sederhana, tetapi mengganti nama beberapa direktori sekaligus dapat menjadi tantangan, terutama bagi pengguna Linux baru.
Mengganti nama beberapa direktori sekaligus jarang diperlukan.
Mengganti Nama Banyak Direktori dengan mv
#
mv
perintah hanya dapat mengganti nama satu file pada satu waktu. Namun, dapat digunakan bersama dengan perintah lain seperti find
atau loop dalam untuk mengganti nama beberapa file sekaligus.
Berikut adalah contoh yang menunjukkan cara menggunakan Bash for
loop untuk menambahkan tanggal saat ini ke nama semua direktori di direktori kerja saat ini:
for d in *; do
if [ -d "$d" ]; then
mv -- "$d" "${d}_$(date +%Y%m%d)"
fi
done
Mari kita menganalisis kode baris demi baris:
- Baris pertama membuat loop dan mengulangi daftar semua file.
- Baris kedua memeriksa apakah file tersebut adalah direktori.
- Baris ketiga menambahkan tanggal saat ini ke setiap direktori.
Berikut adalah solusi untuk tugas yang sama menggunakan mv
dalam kombinasi dengan find
:
find . -mindepth 1 -prune -type d -exec sh -c 'd="{}"; mv -- "$d" "${d}_$(date +%Y%m%d)"' \;
find
perintah meneruskan semua direktori ke mv
satu per satu menggunakan -exec
pilihan. String {}
adalah nama direktori yang sedang diproses.
Seperti yang Anda lihat dari contoh, mengganti nama beberapa direktori dengan mv
bukanlah tugas yang mudah karena membutuhkan pengetahuan yang baik tentang skrip Bash.
Mengganti nama beberapa direktori dengan rename
#
rename
Perintah ini digunakan untuk mengganti nama banyak file dan direktori. Perintah ini lebih maju dari mv
karena memerlukan pengetahuan dasar tentang ekspresi reguler.
Ada dua versi rename
perintah dengan sintaks yang berbeda. Kami akan menggunakan versi Perl dari rename
memerintah. File-file tersebut diganti namanya sesuai dengan ekspresi reguler Perl yang diberikan.
Contoh berikut menunjukkan cara mengganti spasi pada nama semua direktori di direktori kerja saat ini dengan garis bawah:
find . -mindepth 1 -prune -type d | rename 'y/ /_/'
Agar aman, berikan -n
opsi untuk rename
untuk mencetak nama direktori yang akan diganti namanya tanpa mengganti namanya.
Berikut adalah contoh lain yang menunjukkan cara mengubah nama direktori menjadi huruf kecil:
find . -mindepth 1 -prune -type d | rename 'y/A-Z/a-z/'
Kesimpulan #
Kami telah menunjukkan cara menggunakan mv
perintah untuk mengganti nama direktori.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.