NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
ID

Perintah Linux & Keterampilan Shell

temukan: Pencarian Linux yang Melakukan Segalanya

find adalah perintah paling berbahaya di server produksi, dan itulah mengapa perintah ini layak untuk dikuasai. Ini menghitung, memfilter, dan mengeksekusi dalam satu ekspresi, dan setiap insiden klasik '/var here be dragons' ditelusuri kembali ke pratinjau yang dilewati seseorang. Kebiasaannya bersifat mekanis: berjalan dengan -print atau -ls terlebih dahulu, batch dengan -exec ... +, menyalurkan -print0 ke xargs -0, dan memperlakukan -delete sebagai keputusan tahap kedua, bukan draf pertama.

Poin Utama

  • Filter berdasarkan metadata, bukan nama saja: -type f, -mtime +30, -size +100M, dan -perm -o+w temukan file aneh yang tidak terdapat dalam konvensi penamaan dan laporan usia.
  • Pratinjau setiap kueri yang merusak: find /var/www/uploads -name 'core.*' -ls terlebih dahulu, tukar -ls dengan -delete hanya setelah Anda benar-benar membaca daftarnya; pratinjau adalah pemeriksaan keamanan, bukan saran.
  • -exec cmd {} + mengelompokkan file menjadi beberapa pemanggilan dan mengalahkan \; terbentuk di pohon besar; sintaks yang sama memberi kekuatan 'rm setiap file yang cocok dalam satu proses' tanpa kesalahan daftar argumen-terlalu panjang.
  • Output aman-null secara default: find . -nama '*.lama' -print0 | xargs -0 rm -v; pipa biasa ke xargs adalah pola kehilangan data yang diketahui pada hari nama file mengandung spasi.
  • -xdev dan -max depth menjaga jalannya tetap jujur: mereka berhenti menemukan untuk mengikuti mount dan snapshot, yang menyelamatkan runtime dan asumsi Anda tentang 'direktori ini'.
  • Jendela waktu tepat jika ditanyakan dengan tepat: -mmin -1440 selama 24 jam terakhir, -newermt '2026-01-01' sejak tanggal, dan ingat -xtime berarti 'n periode 24 jam penuh yang lalu' sebelum mengutipnya di tiket.
  • Pangkas dengan sengaja: temukan. -path '*/node_modules' -prune -o -name '*.js' -print melompati satu direktori yang melebihi ukuran dan waktu pohon lainnya.
  • Harapkan pintu keluar bukan nol pada direktori yang tidak dapat dibaca; baris stderr seperti 'Izin ditolak' adalah file yang dilewati, bukan data, jadi skrip menoleransi status keluar pencarian atau memeriksanya secara eksplisit alih-alih mengasumsikan jalan yang bersih.

Catatan Lapangan

Kisah find-delete terburuk kami dimulai dengan pola -name tanpa tanda kutip yang diperluas oleh shell kedua menjadi tiga kata di bagian hulu find. Aturannya sederhana: -print dulu, selalu kutip, dan -delete tidak pernah menggunakan perintah saat pertama kali dijalankan.

Pertanyaan Umum

Temuan saya menemukan file tetapi perintah hilir tidak melakukan apa pun. Mengapa?

Hampir selalu mengutip atau mengosongkan masukan: pola diperluas oleh shell sebelum find melihatnya, atau xargs tidak menerima apa pun. Pola kutipan, dan pasangkan -print0 dengan xargs -0 setiap saat.

-hapus atau rm setelah ditemukan?

-penghapusan bersifat langsung, cepat, dan tanpa ampun; itu tidak dapat dicampur dengan -exec dalam ekspresi yang sama. Jalankan -print yang cocok terlebih dahulu dan bacalah; itulah keseluruhan disiplin.

Mengapa menemukan kesalahan izin mencetak pada direktori sistem?

Komponen Anda tidak dapat membaca kesalahan pencetakan ke stderr dan membuat find exit bukan nol; filter dengan 2>/dev/null untuk kenyamanan interaktif, dan jangan pernah menafsirkan kesalahan tersebut sebagai tidak adanya file.

Perbedaan antara -mtime dan -ctime lagi?

-mtime adalah perubahan konten, -ctime adalah perubahan metadata (izin, penggantian nama, jumlah hardlink); sebuah chown atau a move menabrak ctime tanpa menyentuh mtime, yang membingungkan tepat satu laporan dalam seperempat.

Bagaimana Kinetikatech membantu dengan perintah linux & keterampilan shell

Jujur saja, sebagian besar tim tiba setelah mencoba sendiri: Perintah dan kebiasaan skrip yang menentukan apakah administrator mengoperasikan server atau melawannya: mencari, mengubah, mentransfer, dan mengawasi teks dan proses dengan alat yang ada di setiap instalasi dasar. Layanan kami Keamanan Server Linux dan Manajemen Server ada untuk Anda tidak perlu mempelajari perintah linux & keterampilan shell dengan cara yang sulit: kami menangani konfigurasi, pengawasan, dan kejutan pada jam 3 pagi.

Bicara dengan seorang insinyur

Masalah server? Situs diretas? Website lambat?

Masalah kritis dijawab dalam 30 menit — 24 jam sehari, 7 hari seminggu.

Minta Dukungan Darurat support@kinetikatech.com