Perintah mv digunakan untuk memindahkan dan/atau mengganti nama file di distribusi Linux dan BSD. Administrator sistem secara teratur menggunakan mv untuk melakukan operasi pada sistem file Linux. Jangan khawatir jika Anda adalah pengguna pemula dengan sedikit atau tanpa pengetahuan tentang perintah ini. Hari ini, kami telah menyiapkan panduan ini untuk memberi Anda semua informasi yang Anda butuhkan mengenai utilitas mv. Anda akan mempelajari berbagai fungsi yang terkait dengan perintah ini dan mendapatkan pengalaman yang diperlukan dengan menjalankan contoh perintah yang ditunjukkan di bawah ini. Beruntung bagi Anda, mv adalah salah satu perintah terminal Linux paling dasar dan cukup mudah untuk dikuasai.
Contoh Penting Perintah mv Linux
Karena mv hanya menawarkan beberapa parameter baris perintah, sangat mudah untuk dipelajari. Namun, mv juga sangat kuat, dan, ketika digunakan dengan cerdas, dapat melakukan operasi file yang kompleks. Jadi lihat perintah di bawah ini dan lihat bagaimana kita dapat menggunakan mv dalam komputasi kita sehari-hari.
1. Pindahkan File Secara Langsung
Pada penggunaannya yang sederhana, mv menyalin file sumber ke direktori tujuan dan menghapus sumber dari lokasi sebelumnya. Sebagai ilustrasi, kami telah membuat direktori sederhana bernama Test, yang berisi direktori bernama dir1 dan file teks bernama test . Anda dapat membuatnya dengan mudah menggunakan perintah berikut.
$ mkdir Test && cd Test/ && mkdir dir1 && touch test $ tree $ mv test dir1/
Pertama, kami telah membuat file &direktori dan kemudian menggunakan perintah pohon untuk memvisualisasikan hierarki sistem file. Perintah terakhir adalah operasi yang kami minati. Ini memindahkan file test ke dir1 direktori. Jadi argumen pertama dari mv adalah sumbernya, dan yang kedua adalah tujuan. Anda dapat menggunakan kembali pohon untuk menampilkan hierarki baru.
2. Ganti Nama File
Sintaks untuk memindahkan dan mengganti nama file adalah sama. Tapi, kita perlu memberikan nama baru di tempat tujuan. Secara sederhana, ketika Anda menggunakan mv pada dua file yang berada di sistem file Linux yang sama, itu akan menghasilkan operasi penggantian nama file.
$ cd dir1 $ mv test TEST- -
Sekarang cukup kembali ke direktori induk dan jalankan perintah pohon lagi. Ini akan memverifikasi bahwa Anda tidak memiliki file bernama test di sistem file ini. Anda harus melihat file yang ada file baru bernama TEST .
3. Mencegah Timpa File
Secara default, mv akan menimpa file apa pun yang memiliki nama yang sama di direktori tujuan. Anda dapat memverifikasi ini dengan menggunakan perintah di bawah ini.
$ cp TEST dir1 $ mv TEST dir1/TEST $ tree
Namun, kami dapat dengan mudah mencegah penimpaan tersebut menggunakan -n pilihan, seperti yang ditunjukkan pada contoh di bawah ini.
$ cp dir1/TEST . $ mv -n TEST dir1/TEST $ tree
Sekarang kita dapat melihat bahwa sistem file kita berisi kedua file. -n opsi juga memiliki bentuk panjang yang disebut –no-clobber . Cobalah keduanya jika Anda ingin mengingatnya untuk beberapa waktu.
4. Aktifkan Mode Interaktif saat Menimpa File
Anda juga dapat mengatur mode interaktif di mv, yang menghasilkan prompt menanyakan apakah Anda ingin menimpa file tujuan atau tidak. Meskipun berguna untuk pengguna pemula, tidak masalah jika ini akan menghentikan skrip otomatisasi Anda.
$ mv -i TEST dir1/TEST mv: overwrite 'dir1/TEST'?
Cukup ketik y atau n pada prompt di atas untuk mengaktifkan/menonaktifkan penimpaan file. Anda juga dapat menggunakan –interaktif . bentuk panjang alternatif menggantikan -i .
5. Buat Cadangan sebelum Timpa File
Itu selalu merupakan ide yang baik untuk membuat cadangan sebelum melakukan operasi file skala besar. Pengguna Linux yang baru mulai sering menimpa file mereka dengan enggan. Untungnya, mv memungkinkan kita untuk membuat cadangan file tujuan kita dengan cukup mudah. Lihat sekilas ilustrasi di bawah ini untuk melihat cara kerjanya.
$ mv --backup TEST dir1/TEST $ tree
Output dari perintah tree menunjukkan bahwa file sumber telah berhasil dipindahkan, dan ada file tambahan bernama TEST~ di direktori tujuan. Ini adalah cadangan dari file sebelumnya. Selalu gunakan opsi ini jika Anda tidak yakin dengan direktori tujuan yang tepat atau file terkait.
6. Setel Suffix Khusus untuk File Cadangan
Seperti yang telah kita lihat, mv menggunakan ~ simbol sebagai sufiks cadangan default. Namun, kami dapat mengubahnya ke hal lain menggunakan -S pilihan. Contoh di bawah menunjukkan ini menggunakan sufiks cadangan baru .BKP.
$ mv -S .BKP TEST dir1 $ mv --suffix=.BKP TEST dir1
Anda juga dapat menggunakan –akhiran opsi sebagai pengganti -S jika kamu mau. Menyetel sufiks yang disesuaikan untuk file cadangan kami memudahkan untuk mengidentifikasinya dan memiliki pemahaman yang lebih baik tentang sistem file Linux.
7. Perbarui File Tujuan
Perintah mv Linux memungkinkan kita untuk memperbarui file tujuan berdasarkan ketersediaan dan stempel waktunya. Dalam hal ini, operasi pemindahan hanya akan berhasil jika file sumber lebih baru dari file tujuan atau jika file tujuan hilang sama sekali.
$ rm -ri * $ mkdir dir1 && touch test dir1/test
$ mv -u test dir1/
Pertama, kami menghapus semua konten Test/ dan kemudian membuatnya kembali. Saya melakukan ini, jadi kedua file pengujian dibuat pada saat yang sama dan, oleh karena itu, adalah sama. Sekarang ketika saya mencoba untuk memindahkan test ke dir1 , langkah itu gagal dan keluar secara diam-diam. Ini terjadi karena mv menemukan mereka sama dan menyimpulkan bahwa tidak diperlukan pembaruan.
8. Konfigurasikan Konteks Keamanan SELinux ke Default
Konteks keamanan SELinux memberi label pada sumber daya CPU dalam sistem yang mengaktifkannya. Ini menggunakan informasi ini untuk mengidentifikasi apakah sumber daya yang diberikan dapat diakses oleh pengguna tertentu atau tidak. Anda dapat dengan mudah mengatur konteks SELinux ke default dengan menggunakan -Z opsi, seperti yang ditunjukkan di bawah ini.
$ touch new # create another file for testing $ mv -Z new dir1/ $ mv --context new dir1/ $ ls -Z dir1/
Di sini, mv menggunakan konteks SELinux default sistem Anda saat memindahkan nama file baru ke tujuan barunya. Anda dapat memverifikasi ini dengan menggunakan perintah terakhir yang ditunjukkan di atas.
9. Aktifkan Output Verbose
Seperti banyak perintah terminal Linux tradisional, perintah mv juga memungkinkan kita untuk menampilkan keluaran verbose dari operasinya. Ini sangat membantu untuk pemula atau ketika Anda mentransfer banyak file dari satu sistem file ke sistem file lainnya.
$ mv -v dir1/new . $ mv --verbose dir1/new . renamed 'dir1/new' -> './new'
Perintah di atas setara dan transfer file dir1/new untuk Uji kami map. Perhatikan bahwa titik '. ' simbol mengacu pada direktori saat ini dalam sistem operasi mirip Unix. Perintah ini harus memberikan penjelasan singkat tentang operasi file yang mendasarinya.
10. Aktifkan Direktori Target
Terkadang, mv sulit untuk memetakan file sumber ke direktori tujuan sesuai keinginan pengguna. Itu bisa terjadi jika mv gagal menyimpulkan apakah target adalah direktori tujuan atau file. Untungnya, kita dapat dengan mudah memberi tahu mv apakah argumen tujuan seharusnya berupa direktori atau file dengan menggunakan -t pilihan mv.
$ mv -t dir1/new/ new $ mv --target-directory=dir1/new/ new
Saat Anda mengeluarkan perintah di atas, mv memindahkan file bernama baru dari Uji direktori ke Test/dir1/new direktori. Perhatikan bahwa kita melewati direktori tujuan sebelum argumen sumber. Ini wajib karena -t menunjukkan target tujuan.
11. Nonaktifkan Direktori Target
Utilitas mv juga memungkinkan kita untuk menonaktifkan tujuan target sama sekali. Ini berguna ketika Anda ingin memastikan bahwa argumen tujuan Anda diperlakukan sebagai file Linux biasa. Seperti contoh di atas, perintah ini juga memiliki bentuk pendek dan panjang.
$ mv dir1/new/new . $ mv -T new dir1/new/ $ mv --no-target-directory new dir1/new/
Jadi, mv akan memperlakukan tujuan sebagai file biasa ketika kita menggunakan -T atau –tidak ada-target-direktori pilihan.
12. Aktifkan Penimpaan Paksa
Meskipun implementasi modern dari perintah mv Linux tidak meminta sebelum ditimpa hari ini, mv masih menawarkan opsi praktis untuk mengaktifkan penimpaan paksa. Anda dapat menggunakan opsi ini untuk memastikan skrip shell Linux Anda kompatibel ke belakang dan tidak rusak pada sistem dengan implementasi mv yang berbeda.
$ mv -f test dir1/test $ mv --force test dir1/test
Kedua perintah di atas setara dan melakukan operasi pemindahan tanpa meminta konfirmasi pengguna. Jadi skrip otomatisasi Anda tidak akan rusak karena mv.
13. Hapus Garis Miring
Saat Anda menggunakan pelengkapan otomatis di terminal Linux, itu juga menambahkan garis miring setelah setiap direktori. Ini dapat menimbulkan masalah selama pemindahan file. Jadi pengembang mv juga membuat opsi praktis yang akan menghapus garis miring ini untuk Anda.
$ mv --strip-trailing-slashes dir1/new/ .
–strip-trailing-slash option memberitahu mv untuk menghapus garis miring yang ada dalam argumen SOURCE. Ini bisa sangat berguna dalam skenario tertentu, jadi Anda harus membiasakan diri dengan opsi ini.
14. Pindahkan Banyak File
Pengguna Linux dapat menggunakan mv untuk dengan mudah memindahkan sejumlah besar file secara bersamaan. Perintah berikut menunjukkan cara memindahkan lebih dari satu file bersama-sama menggunakan mv.
$ touch aaa bbb ccc $ mv aaa bbb ccc dir1/
Kami juga dapat memindahkan file dan direktori bersama-sama. Dalam hal ini, mv menafsirkan argumen terakhir sebagai folder tujuan. Anda juga dapat menggunakan -t opsi untuk menentukan tujuan target.
15. Pindahkan File Menggunakan Wildcard
Perintah mv Linux tidak mendukung ekspresi reguler. Namun, Anda masih dapat menggunakan beberapa karakter wildcard untuk melakukan beberapa pencocokan pola dasar. Lihat contoh di bawah ini untuk melihat bagaimana kita dapat menggunakan wildcard dengan mv.
$ touch aaa.mp3 bbb.mp3 ccc.mp3 $ mv *.mp3 dir1/ # moves all mp3 files
$ touch AAA BBB CCC $ mv [[:upper:]]* dir1 # moves all files that has uppercase names
$ mv *[[:lower:]] dir1 # moves all files that has lowercase names
Ada beberapa wildcard lagi yang didukung oleh mv. Meskipun tidak terlalu ekstensif, mereka membantu selama operasi pemrosesan file rutin.
16. Tampilkan Bilah Kemajuan
Biasanya, perintah mv melakukan operasinya dalam jangka waktu yang wajar. Namun, ini bisa memakan waktu relatif lebih lama saat Anda memindahkan dokumen yang sangat besar. Pengguna bahkan mungkin menganggap bahwa sistem telah digantung jika terlalu lama. Kami dapat menghindari masalah ini dengan memaksa mv untuk menampilkan bilah kemajuan yang membuat pengguna tetap mendapat informasi.
$ mv dir1/*.mp3 . & progress -mp $!
Perintah ini akan memindahkan semua file mp3 dari dir1/ ke Uji direktori dan akan menunjukkan pengukur kemajuan praktis. Kami menggunakan paket Linux ‘kemajuan ' untuk ini. Anda dapat menginstal ini menggunakan perintah di bawah ini.
$ sudo apt install progress
17. Pindahkan File Menggunakan Brace Expansion
Shell perintah Linux memungkinkan pengguna untuk menghasilkan kombinasi literal menggunakan metode yang disebut ekspansi brace. Meskipun banyak orang cenderung memperumit ini, dalam praktiknya, ini cukup sederhana. Perhatikan baik-baik contoh berikut untuk mempelajari cara kerja ekspansi brace di Linux dan sistem mirip Unix lainnya.
$ rm new && touch new.txt new.pdf new.html $ mv new.{pdf,txt,html} dir1/new/ # brace expansion
Jadi setiap file bernama baru yang memiliki ekstensi .pdf/.txt/.html akan dipindahkan ke direktori tujuan. Karena kami membuat literal nama file dari brace kami, kami menyebut operasi ini ekspansi brace.
18. Pindahkan File Berdasarkan Ukuran
Pemrosesan file melibatkan banyak operasi pemindahan, dan file besar cenderung memakan banyak waktu CPU. Jadi, banyak admin yang mencadangkan dokumen mereka berdasarkan ukurannya. Kami menunjukkan kepada pembaca cara memindahkan file berdasarkan ukurannya menggunakan perintah mv dan find.
$ find . -type f -size +1G -exec mv "{}" large_files/ \;
Perintah di atas akan memindahkan semua file yang lebih besar dari 1GB dari direktori kerja saat ini ke large_files . Anda cukup mengubah nilai parameter ukuran untuk menyesuaikan operasi pemindahan Anda.
19. Pindahkan File Berdasarkan Tanggal Modifikasi
Tanggal modifikasi adalah kriteria umum lainnya yang digunakan saat membuat cadangan data sistem. Anda dapat menemukan semua file yang lebih lama dari jangka waktu tertentu menggunakan perintah berikut.
$ find . -mtime +90 -exec mv "{}" old_files/ \;
Perintah ini akan memindahkan semua file yang berumur lebih dari 3 bulan (90 hari) ke direktori baru bernama file_lama . Hal penting di sini adalah bahwa argumen yang diberikan dalam beberapa hari.
20. Ganti Nama Banyak File
Secara default, utilitas mv tidak dapat mengganti nama banyak file secara bersamaan. Namun, kami masih dapat menggunakan alat lain seperti find di samping mv untuk operasi file tingkat lanjut tersebut. Perintah di bawah ini akan mengubah nama semua file .php menjadi file .html.
$ touch {test1,test2,test3}.php $ find . -depth -name "*.php" -exec sh -c 'f="{}"; mv -- "$f" "${f%.php}.html"' \;
Perintah ini akan mengganti nama setiap file .php menjadi file .html menggunakan mv, dan tombol exec dari perintah find Linux.
21. Cari Informasi Biner Perintah mv Linux
Kita dapat mengetahui dimana letak perintah mv menggunakan perintah “yang” di Linux. Ini mencetak nama jalur atau tautan yang menangani perintah tertentu, seperti mv.
$ which mv /usr/bin/mv
Anda juga dapat menggunakan perintah “whereis” di Linux untuk menampilkan informasi tambahan seperti lokasi biner mv dan semua file manual terkait, seperti yang ditunjukkan di bawah ini.
$ whereis mv mv: /usr/bin/mv /usr/share/man/man1/mv.1.gz
22. Tampilkan Informasi Versi
Informasi versi perintah terminal Linux memungkinkan kita untuk menemukan rilis spesifik dari sebuah paket. Kita dapat dengan mudah melihat informasi versi ini untuk mv, seperti yang ditunjukkan pada contoh di bawah ini.
$ mv --version
Ini akan mencetak informasi rilis untuk paket mv yang diinstal di sistem Anda bersama dengan beberapa informasi lainnya. Informasi ini mencakup nama dependensi dan orang yang menulis mv.
23. Tampilkan Halaman Bantuan
Halaman bantuan berisi ringkasan informasi dari semua opsi yang tersedia untuk utilitas mv. Ini adalah cara praktis untuk mengingat opsi yang jarang digunakan.
$ mv --help
Karena mv hanya mendukung beberapa argumen baris perintah, maka relatif lebih mudah untuk mengingatnya. Untungnya, Anda selalu dapat melihat halaman bantuan untuk informasi cepat tentang opsi tertentu.
24. Tampilkan Halaman Manual
Bertentangan dengan informasi yang diringkas yang disediakan oleh bantuan, halaman manual menawarkan wawasan yang jauh lebih rinci. Lihat perintah di bawah ini kapan pun Anda ingin memahami opsi atau penggunaan tertentu secara lebih mendetail.
$ man mv
Ini harus menampilkan panduan terperinci yang menjelaskan semua opsi berbeda yang tersedia untuk mv. Anda harus selalu membuka halaman manual sebelum mencoba perintah apa pun yang memodifikasi sistem file.
25. Periksa Alias
Banyak distribusi Linux menggunakan alias yang telah dikonfigurasi sebelumnya untuk menerapkan opsi baris perintah standar untuk paket. Anda dapat dengan mudah memeriksa apakah mv adalah alias untuk sesuatu menggunakan perintah di bawah ini.
$ alias | grep -iw mv
$ type mv
Namun, perintah terakhir tidak akan berfungsi jika sistem Linux Anda telah meng-hash perintah mv.
Mengakhiri Pikiran
Perintah mv Linux memungkinkan kita untuk melakukan banyak operasi file seperti memindahkan file, mengganti namanya, membuat cadangan, dan sebagainya. Meskipun hanya mengizinkan sejumlah opsi, kita dapat menggabungkan mv dengan banyak perintah terminal Linux seperti perintah find dan membuat kombinasi perintah yang lebih kompleks. Kami telah menguraikan 25 contoh terbaik mv dalam komputasi sehari-hari. Beberapa di antaranya murni dasar, sedangkan yang lain dapat membantu ketika memecahkan masalah yang lebih dinamis. Mudah-mudahan, kami telah menyampaikan wawasan penting yang Anda cari. Kirimkan pendapat Anda di bagian komentar dan beri tahu kami jika Anda memiliki pertanyaan.