Saya kira-kira tahu tentang file yang terletak di bawah / dev.
Saya tahu ada dua jenis (karakter / blok), mengakses file-file ini berkomunikasi dengan driver di kernel.
Saya ingin tahu apa yang terjadi jika saya menghapus satu - khusus untuk kedua jenis file. Jika saya menghapus file perangkat blok, katakan /dev/sda
, apa efeknya - jika ada - apakah ini? Apakah saya baru saja melepas disk?
Demikian pula, bagaimana jika saya menghapus /dev/mouse/mouse0
- apa yang terjadi? Apakah mouse berhenti bekerja? Apakah itu secara otomatis mengganti sendiri?
Bisakah saya menghapus file-file ini? Jika saya memiliki VM yang diatur, saya akan mencobanya.
Jawaban:
Itu hanya file (khusus). Mereka hanya berfungsi sebagai "pointer" ke perangkat yang sebenarnya. (yaitu modul driver di dalam kernel.)
Jika beberapa perintah / layanan sudah membuka file itu, sudah ada pegangan untuk perangkat dan akan terus berfungsi.
Jika beberapa perintah / layanan mencoba membuka koneksi baru, ia akan mencoba mengakses file itu dan gagal karena "file tidak ditemukan".
Biasanya file-file tersebut diisi oleh
udev
, yang secara otomatis membuatnya pada startup sistem dan pada acara-acara khusus seperti mencolokkan perangkat USB, tetapi Anda juga bisa secara manual membuatnya menggunakanmknod
.sumber
makedev
perintah yang biasanya melakukan pekerjaan, dan tidak sepertiudev
itu tampaknya hadir di antara os yang paling mirip unix.linux
danudev
/etc/init.d/makedev
. The pengguna freebsd menyebutkan MAKEDEV muncul di 4.2BSD (dari tahun 1983). Saya pikir pada tahun 1983 akan sama logisnya untuk membuatMAKEDEV
otomatis via init seperti pada 06File perangkat sebenarnya adalah alias sistem file untuk entri dalam tabel perangkat kernel. Jika Anda melihat file / dev dengan "ls-l" Anda akan melihat mereka memiliki nomor perangkat utama dan nomor perangkat kecil. Jika Anda menghapus file dari sistem file, Anda selalu dapat membuatnya kembali menggunakan alat yang sesuai untuk menghubungkan kembali file khusus ke entri dalam tabel perangkat kernel - lihat mknod (1).
sumber
Sejak saat itu, mereka hanya dapat diakses oleh program yang perangkatnya sudah terbuka. Jadi, tidak ada cara untuk melepas sistem file. Dan dengan udev, reboot mungkin mengembalikan perangkat tersebut. Cara aneh untuk belajar unix.
sumber