Cara Memeriksa Fail Terbuka di Linux

How Check Open Files Linux



Anda mungkin pernah menemui pepatah, Semuanya adalah fail di Linux. Walaupun ini tidak sepenuhnya benar, ia benar-benar menyimpan sejumlah kebenaran.

Dalam sistem Linux dan Unix, semuanya seperti fail. Ini bermaksud sumber dalam sistem Unix diberikan deskriptor fail, termasuk peranti penyimpanan, soket rangkaian, proses, dll.







Deskriptor fail adalah nombor unik yang mengenal pasti fail dan peranti input / output lain. Ia menerangkan sumber dan bagaimana kernel mengaksesnya. Anggaplah ia sebagai pintu masuk ke sumber perkakasan abstraksi Kernel.



Malangnya, konsep deskriptor fail berada di luar ruang lingkup tutorial ini; pertimbangkan pautan yang disediakan di bawah untuk memulakan pembelajaran lebih lanjut:



https://en.wikipedia.org/wiki/File_descriptor





Ini bermaksud bahawa sistem Unix dan seperti Unix seperti Linux banyak menggunakan fail tersebut. Sebagai pengguna kuasa Linux, melihat fail dan proses terbuka dan pengguna menggunakannya sangat berguna.

Tutorial ini akan memfokuskan cara melihat fail terbuka dan proses atau pengguna mana yang bertanggungjawab.



Pra-Syarat

Sebelum kita memulakan, pastikan bahawa anda mempunyai:

  • Sistem Linux
  • Pengguna dengan hak root atau sudo

Sekiranya anda mempunyai ini, mari kita mulakan:

Utiliti LSOF

Dicipta oleh Victor A Abell, Senaraikan fail terbuka, atau singkatnya, adalah utiliti baris perintah yang membolehkan kita melihat fail terbuka dan proses atau pengguna yang membukanya.

Utiliti lsof terdapat dalam pengedaran Linux utama; namun, anda mungkin tidak memasangnya dan mungkin perlu memasangnya secara manual.

Cara Memasang lsof pada Debian / Ubuntu

Untuk memasangnya di Debian, gunakan arahan:

sudo apt-get kemas kini

sudo apt-get pasanglsof-dan

Cara Memasang pada REHL / CentOS

Untuk memasang pada REHL dan CentOS, gunakan arahan:

sudokemas kini dnf

sudodnfpasanglsof

Cara Memasang di Arch

Di Arch, hubungi pengurus pakej menggunakan arahan:

sudopacman-Dia

sudopacman-Slsof

Cara Memasang di Fedora

Di Fedora, gunakan arahan:

sudo yum pasanglsof

Setelah utiliti lsof dipasang dan dikemas kini, kita boleh mula menggunakannya.

Penggunaan lsof asas

Untuk menggunakan alat lsof, masukkan perintah:

sudolsof

Sebaik sahaja anda melaksanakan perintah di atas, lsof akan membuang banyak maklumat seperti yang ditunjukkan di bawah:

Output di atas menunjukkan semua fail yang dibuka oleh proses. Keluarannya mempunyai pelbagai lajur, masing-masing mewakili maklumat khusus mengenai fail.

  • Lajur PERINTAH - menunjukkan nama proses yang menggunakan fail.
  • PID - menunjukkan Pengecam Proses proses menggunakan fail.
  • TID - Menunjukkan ID tugas (utas) proses.
  • TASKCMD - Mewakili nama arahan tugas.
  • PENGGUNA - Pemilik proses.
  • FD - Menunjukkan nombor deskriptor fail. Ini adalah bagaimana proses menggunakan fail; pilihan yang terdapat dalam output lajur ini termasuk:
  • cwd - direktori kerja semasa.
  • meme - fail yang dipetakan memori
  • pd - Direktori Ibubapa
  • jld - direktori penjara
  • ltx - teks perpustakaan berkongsi
  • rtd - direktori root.
  • txt - kod dan data program
  • NS - fail jejak kernel.
  • keliru - Kesalahan maklumat perihal fail
  • mmp - Peranti yang dipetakan memori.
  • JENIS - Menunjukkan jenis nod yang berkaitan dengan fail, seperti:
  • Unix - untuk soket domain Unix.
  • KEPADA ANDA - mewakili direktori
  • REG - mewakili fail biasa
  • CHR - mewakili fail watak khas.
  • LINK - fail pautan simbolik
  • BLK - Sekat fail khas
  • Internet - Soket domain internet
  • FIFO - paip bernama (fail First In First Out)
  • Paip - untuk paip

Dan banyak lagi.

  • PERANTI - Menunjukkan nombor peranti yang dipisahkan dengan koma mengikut urutan fail watak khas, blok khas, biasa, direktori, dan fail NFS.
  • SAIZ / MATI - menunjukkan ukuran fail pr file yang diimbangi dalam bait.
  • NODE - menunjukkan nombor nod fail tempatan, jenis untuk jenis protokol internet, dll.
  • NAMA - menunjukkan nama titik pemasangan dan fs di mana fail itu berada.

Catatan: Sila Rujuk Manual lsof untuk maklumat terperinci mengenai lajur.

Cara Menunjukkan Proses yang Membuka Fail

Lsof memberi kami pilihan yang membantu kami menyaring output untuk menunjukkan hanya proses yang membuka fail tertentu.

Sebagai contoh, untuk melihat fail yang membuka file / bin / bash, gunakan perintah sebagai:

sudolsof/saya/bash

Ini akan memberi anda output seperti yang ditunjukkan di bawah:

SAIZ PERANTI PENGGUNA PID PENGGUNA PID/MATI NAMA

ksmtuned1025root txt REG253,0 1150704 428303 /usr/saya/bash

bash 2968centos txt REG253,0 1150704 428303 /usr/saya/bash

bash 3075centos txt REG253,0 1150704 428303 /usr/saya/bash

Cara Menunjukkan fail Dibuka oleh Pengguna Tertentu

Kami juga dapat menyaring output untuk menunjukkan fail yang dibuka oleh pengguna tertentu. Kami melakukan ini dengan menggunakan bendera -u diikuti dengan nama pengguna sebagai:

sudolsof-uberatus-ratus

Ini akan memberi anda output seperti yang ditunjukkan di bawah:

Cara Menunjukkan Fail Dibuka oleh Proses Tertentu

Katakan kita mahu melihat semua fail yang dibuka oleh proses tertentu? Untuk ini, kita dapat menggunakan PID proses untuk menyaring output.

Sebagai contoh, arahan di bawah menunjukkan fail yang dibuka oleh bash.

sudolsof-p 3075

Ini hanya akan memberi anda fail yang dibuka oleh systemd seperti yang ditunjukkan:

Cara Menunjukkan Fail Dibuka di Direktori

Untuk membuka file dalam direktori tertentu, kita dapat melewati opsi + D diikuti dengan jalan direktori.

Contohnya, senaraikan fail terbuka di direktori / etc.

sudolsof + D/dan lain-lain

Berikut adalah output untuk ini:

Cara Menunjukkan Sambungan Rangkaian

Oleh kerana semua yang ada di Linux adalah fail, kita dapat memperoleh fail rangkaian seperti fail TCP atau sambungan.

Kita boleh menggunakan arahan:

sudolsof-iTCP

Ini akan memberi anda sambungan TCP dalam sistem.

Anda juga boleh menapis mengikut port tertentu menggunakan arahan yang ditunjukkan di bawah:

sudolsof-i:22

Ini akan memberi anda output seperti yang ditunjukkan di bawah:

Cara Menunjukkan Fail Secara Berterusan

Lsof memberi kita mod untuk mengembalikan output setiap beberapa saat. Ini membolehkan anda memantau fail yang dibuka oleh proses atau pengguna secara berterusan.

Walau bagaimanapun, pilihan ini memerlukan anda menghentikan proses secara manual.

Sebagai contoh, arahan di bawah ini secara berterusan memantau fail yang dibuka di port 22:

sudolsof -r-i:22

Seperti yang anda lihat, pada gelung ketiga, lsof menangkap sambungan yang dibuat ke pelayan di SSH.

Kesimpulannya

Lsof adalah utiliti yang sangat berguna. Ini membolehkan anda memantau fail kritikal serta memantau pengguna dan proses membuka fail. Ini sangat berguna semasa menyelesaikan masalah atau mencari cubaan jahat ke sistem.

Seperti yang ditunjukkan dalam tutorial ini, dengan menggunakan pelbagai contoh dan kaedah, anda dapat menggabungkan fungsi yang disediakan oleh alat lsof untuk pemantauan tersuai.

Terima kasih kerana membaca dan berkongsi! Saya harap anda belajar sesuatu yang baru!