Perintah Linux rm: Semua yang Perlu Anda Ketahui
Diterbitkan: 2023-01-22 Perintah Linux rm
menghapus file dan direktori. Untuk menggunakan alat ini dengan aman, Anda perlu memastikan apa yang akan terjadi saat Anda menekan "Enter". Inilah yang perlu Anda ketahui.
Apa Perintah rm di Linux?
Cara Menghapus File Dengan rm
Menggunakan Wildcard Dengan rm
Menggunakan rm Secara Interaktif
Menggunakan Opsi Paksa rm
Menghapus Direktori Dengan rm
Menghindari Kesalahan Saat Menggunakan rm
APD apa?
Apa Perintah rm di Linux?
Perintah rm
Linux terutama untuk menghapus file. Itu salah satu yang ditemui kebanyakan orang segera setelah mereka mulai menggunakan Linux. Hanya karena menjadi pendatang baru di Linux, Anda cenderung membuat kesalahan. Anda akan membuat atau menyalin file secara tidak sengaja, atau dengan nama yang salah, atau ke tempat yang salah. Itu semua adalah bagian dari kurva pembelajaran dari baris perintah. Operasi pembersihan untuk kesalahan semacam itu melibatkan rm
.
Perintah rm
dapat menghapus file, grup file, direktori, atau pohon direktori lengkap. Itu sebabnya harus digunakan dengan hati-hati. Menggunakan rm
tidak sulit, tetapi hukuman kegagalannya tinggi.
Ketika sebuah file dihapus dengan rm
, itu hilang. Itu tidak dipindahkan ke tempat sampah. Itu segera dilenyapkan. Itu tidak berarti Anda harus menghindari penggunaan rm
. Tetapi untuk menggunakannya dengan aman, Anda perlu mengetahui apa yang dapat dilakukannya, dan memastikan Anda menggunakannya dengan benar.
Beberapa alat lebih berbahaya daripada yang lain, dan jauh lebih tidak memaafkan kesalahan. Itu sebabnya tidak pernah ada film berjudul The Texas Wrench Massacre . rm
bukan kunci pas, itu pasti gergaji mesin.
Orang-orang menggunakan gergaji mesin sepanjang hari setiap hari, dan selama mereka menggunakannya secara bertanggung jawab dan hati-hati, mereka baik-baik saja. Itu kesepakatan yang sama dengan rm
. Ketika Anda mengeluarkan rm
dari tas alat Anda, Anda harus memperlambat dan memeriksa, lalu memeriksa ulang, baris perintah Anda.
Perintah rm
dapat dieksekusi, itu bukan bagian dari shell. Jadi, meskipun kita menggunakan Bash di sini, itu adalah standar Linux rm
, bukan Bash rm
khusus.
TERKAIT: Baris Perintah: Mengapa Orang Masih Mengganggu Mereka?
Cara Menghapus File Dengan rm
Cara paling sederhana untuk menggunakan rm
adalah dengan memberikan nama file yang ingin Anda hapus.
rm config.gc
Anda diam-diam kembali ke baris perintah. rm
mengadopsi sikap Linux klasik yang tertutup bahwa jika tidak mengeluh tentang apa pun, Anda dapat menganggap itu melakukan apa yang Anda minta. Memberikan nama file seperti ini menyebabkan rm
mencari file di direktori kerja saat ini.
Anda dapat memberikan beberapa nama file pada baris perintah. Anda juga dapat memberikan jalur direktori jika file yang ingin Anda hapus tidak ada di direktori saat ini.
rm memlog.sh /home/dave/dev-archive/config.gc
Sekali lagi, tidak ada yang dilaporkan jika rm
berhasil menghapus file yang ditentukan.
TERKAIT: 37 Perintah Linux Penting yang Harus Anda Ketahui
Menggunakan Wildcard Dengan rm
Wildcard memungkinkan Anda menentukan grup atau kumpulan file tanpa harus mencantumkan file individual di baris perintah.
Tanda bintang “ *
” mewakili urutan karakter apa pun, termasuk tidak ada. Tanda tanya “ ?
” mewakili karakter tunggal apa pun.
Untuk memeriksa apakah wildcard Anda akan cocok dengan yang Anda harapkan, dan tidak lebih, Anda dapat menggunakannya dengan ls sebelum Anda menggunakannya dengan rm.
Untuk menghapus semua file PNG di direktori saat ini, gunakan "*.png." Ini berarti urutan karakter apa pun yang diikuti dengan ".png" akan dicocokkan. Ketika file telah dihapus, kita dapat menggunakan ls
untuk memverifikasi bahwa file tersebut telah hilang.
ls *.png
rm *.png
ls *.png
Di komputer uji kami, kami memiliki dua file di direktori saat ini dengan nama yang dimulai dengan "config."
Kami dapat menghapus keduanya dengan menggunakan wildcard asterisk. Itu cocok dengan kedua file karena rm
mencari nama file yang dimulai dengan "config", diikuti dengan urutan karakter apa pun. Pada satu file, urutan karakter tersebut adalah ".sl3", ekstensi nama file. Nama file lain tidak memiliki karakter setelah "config", tetapi karena asterisk cocok dengan karakter apa pun atau tanpa karakter , nama file juga cocok dengan itu.
konfigurasi*
konfigurasi rm*
konfigurasi*
Anda dapat menggunakan tanda tanya berpasangan. Ini akan menghapus file yang memiliki ekstensi file dua karakter persis.
ls *.??
rm*.??
ls *.??
TERKAIT: 15 Karakter Khusus yang Perlu Anda Ketahui untuk Bash
Menggunakan rm Secara Interaktif
Cara aman untuk menggunakan rm
adalah dengan memaksanya meminta konfirmasi sebelum menghapus setiap file. Opsi -i
(interaktif) memungkinkan Anda melakukan ini. Saat Anda menambahkan opsi ini ke baris perintah, rm
akan meminta Anda sebelum setiap penghapusan, memberi Anda kesempatan untuk melangkahi tindakan yang tidak Anda inginkan.
Kami akan menggunakan opsi -i
(interaktif) dalam perintah ini. Itu mencoba untuk menghapus semua file dengan ekstensi file karakter tunggal.
rm -i *.?
Setiap file yang cocok disajikan secara bergantian. Jika Anda menjawab "y" atau "Y" file akan dihapus. Jika Anda menjawab "n", file tersebut dipertahankan. Faktanya, jika Anda menjawab dengan apa pun selain "y" atau "y", file tersebut akan dipertahankan. Anda cukup menekan "Enter" dan file tersebut dipertahankan.
Anda dapat dengan cepat mengerjakan daftar file Anda, menghapus atau melompati file untuk memilih file yang ingin Anda hapus. Seperti yang akan kita lihat, Anda dapat menggunakan opsi i-
(interaktif) dengan opsi rm
lainnya.
Perintah Linux | ||
File | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · bergabung · jq · lipat · uniq · journalctl · ekor · stat · ls · fstab · gema · kurang · chgrp · chown · rev · lihat · string · ketik · ganti nama · zip · unzip · mount · umount · instal · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · tambalan · ubah · rclone · rusak · srm · scp · gzip · chattr · potong · temukan · umask · wc | |
Proses | alias · layar · atas · bagus · renice · kemajuan · strace · systemd · tmux · chsh · sejarah · di · batch · gratis · yang · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · batas waktu · dinding · ya · bunuh · tidur · sudo · su · waktu · groupadd · usermod · grup · lshw · shutdown · reboot · hentikan · matikan · matikan · passwd · lscpu · crontab · tanggal · bg · fg · pidof · nohup · pmap | |
Jaringan | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · menggali · jari · nmap · ftp · curl · wget · siapa · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar
Menggunakan Opsi Paksa rm
Jika Anda mencoba untuk menghapus file yang hanya-baca, rm
meminta Anda untuk konfirmasi sebelum menghapus file. Itu jaring pengaman yang bagus, tetapi bisa menjadi membosankan jika Anda memiliki banyak file untuk dihapus.
rm geonames.sl3
Opsi -f
(force) menginstruksikan rm
untuk tidak pernah meminta. Anda mengatakannya, "Ya, hapus semua file yang biasanya Anda tanyakan kepada saya." Itu juga mencegah rm
mengeluh tentang file yang tidak ada.
rm -f geonames.sl3
Opsi -f
(paksa) sering digunakan saat Anda menghapus kumpulan file dan direktori bersarang.
Menghapus Direktori Dengan rm
Perintah rm
juga dapat menghapus direktori, bersama dengan file yang dikandungnya. Ini mirip dengan perintah rmdir
, tetapi rmdir
tidak dapat menghapus direktori dengan file di dalamnya. Itu hanya menghapus direktori kosong. Perintah rm
dapat dengan mudah menghapus direktori yang berisi file dan direktori lainnya.
Menghapus direktori mirip dengan menghapus file. Kami memberikan nama direktori pada baris perintah. Kita perlu menyertakan opsi -d
(direktori). Seperti yang kami lakukan saat menghapus file, kami dapat memberikan nama beberapa direktori. Kami dapat menyediakan jalur ke direktori yang tidak ada di direktori kerja saat ini.
rm -d proyek lama
Jika direktori berisi file, ini akan gagal.
Untuk menghapus direktori dan isinya, gunakan flag -r
(recursive). Ini menghapus direktori, file-nya, dan setiap direktori bersarang yang dikandungnya.
rm -d arsip
rm -r arsip
Perintah kedua berhasil.
Untuk mengubah rm
ke mode full-on chainsaw, kita dapat menggabungkan opsi -r
(recursive) dan -f
(force). Ini memberitahu rm
untuk secara rekursif menghapus semua file dan direktori di pohon direktori, bahkan jika itu hanya-baca, dan tanpa pernah meminta kita.
Di komputer uji kami, kami memiliki direktori bernama "kode yang dimigrasikan". Ini berisi file dan direktori lain yang disebut "6502." Direktori "6502" juga berisi file dan direktori lain bernama "ASM". Ada file di direktori itu juga. Beberapa file bersifat hanya-baca.
Kami juga akan menyertakan perintah -v
(verbose) sehingga rm
memberi tahu kami apa yang sedang dilakukannya.
rm -rfv kode bermigrasi
Dalam output kita dapat melihat bahwa file dihapus dan, ketika kosong, direktori juga dihapus.
Menghindari Kesalahan Saat Menggunakan rm
Spasi dan karakter aneh lainnya dalam nama file dapat menimbulkan masalah. Nama file yang dimulai dengan tanda hubung “ -
” misalnya, dapat disalahartikan sebagai opsi baris perintah. Jika kami memiliki file bernama "-contributors.txt", rm
akan mencoba memproses nama sebagai urutan opsi baris perintah.
Karena rm
tidak memiliki opsi yang disebut " -c
", penguraian baris perintah gagal dan file tidak dihapus. Untuk menghapus file, Anda harus mengawalinya dengan "./" untuk memberikan path ke sana.
rm -kontributor.txt
rm ./-contributors.txt
Spasi pada nama file juga bermasalah. Kutip seluruh nama file, atau gunakan pelengkapan tab untuk memasukkan nama file ke baris perintah untuk Anda, keluar dari spasi saat melakukannya. Jika Anda tidak menggunakan salah satu opsi ini, rm
akan memperlakukan setiap bagian dari nama file sebagai file individual.
Di sini, kami memiliki dua file, satu disebut "cadangan" dan satu lagi disebut "cadangan untuk dihapus". Kami dapat mendemonstrasikan masalah dengan nama file ini, menggunakan ls
. Jika kami mencoba menggunakan ls
pada file "cadangan untuk menghapus" dan kami tidak melarikan diri atau mengutip nama file, perintah gagal.
ls -hl cadangan untuk dihapus
ls
mengeluh bahwa ia tidak dapat menemukan file bernama "to" atau "delete", tetapi ia menemukan file bernama "backup". Itulah yang akan dilakukan rm
juga. Itu akan mengeluh tentang dua file yang hilang, dan kemudian akan menghapus file yang disebut "cadangan", yang bukan itu yang kita inginkan.
rm cadangan untuk dihapus
rm
mengira ini berfungsi dengan tiga file, "cadangan", "ke", dan "hapus". Ia mengeluh bahwa ia tidak dapat menemukan "to" dan "delete", tetapi ia menemukan dan menghapus "backup" secara diam-diam.
Mengutip nama file memungkinkan rm
untuk menghapus file yang benar.
rm 'cadangan untuk dihapus'
Anda juga dapat keluar dari spasi dengan garis miring terbalik “ \
“, seperti ini:
rm backup\ untuk\ hapus
Jika Anda menggunakan pelengkapan tab untuk memasukkan nama file, nama tersebut akan otomatis di-escape, jika diperlukan.
APD apa?
Tidak seperti gergaji dunia nyata, tidak ada alat pelindung diri yang dapat Anda gunakan rm
.
Apa yang dapat Anda lakukan, adalah memeriksa sintaks Anda ls
sebelum Anda mencobanya rm
, dan gunakan mode interaktif sehingga Anda dapat memutuskan apa yang akan dihapus.
Selain itu, berlatihlah sampai Anda merasa nyaman dan percaya diri. Cara teraman untuk melakukannya adalah dengan menyalin banyak file pengorbanan ke direktori dan mempraktikkannya.
TERKAIT: Hapus File Lebih Lama Dari x Hari di Linux