Perintah mv Linux digunakan untuk memindahkan file dan direktori dari satu lokasi ke lokasi lain. Selain memindahkan file, itu juga dapat mengganti nama file atau direktori.
1. Ganti Nama File
Saat mengganti nama file menggunakan perintah mv, nomor inode tetap sama bahkan setelah memindahkannya ke nama yang berbeda. Jika Anda memindahkan file ke sistem file yang berbeda, nomor inode akan berbeda.
$ cd /tmp $ ls -i sample.txt 136407 sample.txt $ mv sample.txt sample1.txt $ ls -i sample1.txt 136407 sample1.txt
Catatan: ls -i menampilkan nomor inode file, seperti yang telah kita bahas sebelumnya dalam contoh perintah ls.
2. Ganti nama Direktori
Sama seperti mengganti nama file, Anda dapat mengganti nama direktori menggunakan perintah mv seperti yang ditunjukkan di bawah ini. Ini juga membuat nomor inode direktori tetap sama setelah mengganti nama.
Jika Anda hanya melakukan ls -l dir, itu akan menampilkan file-file di direktori. Untuk menampilkan properti direktori, gunakan opsi -d. Opsi -i menampilkan nomor inode direktori.
$ ls -ldi dir1 271365 drwxr-xr-x 2 bala bala 4096 2010-10-30 20:25 dir1 $ mv dir1 dir2 $ ls -ldi dir2 271365 drwxr-xr-x 2 bala bala 4096 2010-10-30 20:25 dir2
3. Minta Konfirmasi Sebelum Menimpa
Secara default perintah mv tidak akan meminta konfirmasi apa pun jika file tujuan ada, itu hanya menimpanya. Untuk menghindari ini, Anda mungkin ingin mendapatkan konfirmasi dari perintah pindah sebelum menimpa file tujuan menggunakan opsi -i seperti yang ditunjukkan di bawah ini. Anda dapat mengetik 'y' atau 'n' untuk menerima atau menolak operasi pemindahan.
$ mv -i sample.txt sample1.txt mv: overwrite `sample1.txt'?
Ketika izin file tujuan berbeda dari file sumber, perintah mv -i akan menampilkan konfirmasi berikut.
$ mv -i sample.txt sample1.txt mv: try to overwrite `sample1.txt', overriding mode 0644 (rw-r--r--)? y
4. Pindahkan Banyak File ke Direktori Tertentu
Anda dapat memindahkan banyak file menggunakan perintah mv. Contoh berikut memindahkan konten direktori saat ini ke direktori lain.
$ cd chap1 $ ls -F ex1.c ex2.c ex3.c example/ exercise/ $ mv * chap2/
5. Cadangkan Tujuan Sebelum Timpa
Menggunakan opsi mv –suffix, Anda dapat mengambil cadangan file tujuan sebelum menimpa. File tujuan asli akan dipindahkan dengan ekstensi yang ditentukan dalam opsi -S atau –suffix.
$ ls file1 file2 $ mv --suffix=.bak file1 file2 $ ls file2 file2.bak
Catatan: Anda mungkin ingin membuat alias untuk 'mv –suffix', yang akan mengambil cadangan secara otomatis kapan pun Anda menggunakan perintah mv dan jika file tujuan ada.
6. Pindahkan hanya file yang tidak ada di direktori tujuan
Ketika Anda melakukan mv *, itu akan memindahkan semua file ke direktori tujuan. Namun, jika Anda hanya ingin memindahkan file dari direktori sumber yang tidak ada di direktori tujuan, gunakan opsi mv -u seperti yang ditunjukkan di bawah ini.
Perintah berikut hanya akan memindahkan ex2 dan ex2 dari chap1 ke chap2, karena file ex1 sudah ada di chap2, yang tidak akan dipindahkan.
$ ls chap1 ex1 ex2 ex3 $ ls chap2 ex1 $ mv -u chap1/* chap2/ $ ls chap1 ex1 $ ls chap2 ex1 ex2 ex3