Apa itu File Khusus?

Dalam sistem operasi komputer, file khusus adalah salah satu jenis file yang dapat disimpan dalam sistem file. File khusus terkadang juga disebut file perangkat .

Tujuan dari file khusus adalah untuk mengekspos perangkat sebagai file dalam sistem file. File khusus menyediakan antarmuka universal untuk perangkat perangkat keras (dan perangkat virtual yang dibuat dan digunakan oleh kernel), karena alat untuk file I / O dapat digunakan untuk mengakses perangkat.

Ketika data merah dari atau ditulis ke file khusus, operasi terjadi segera, dan tidak tunduk pada aturan sistem file konvensional.

Di Linux, ada dua jenis file khusus: blok file khusus dan file karakter khusus .

File blok khusus bertindak sebagai antarmuka langsung ke perangkat blok. Perangkat blok adalah perangkat apa pun yang melakukan I / O data dalam satuan blok.

Contoh mencekal file khusus:

  • / dev / sd xn - partisi yang dipasang di perangkat penyimpanan fisik. Huruf x mengacu pada perangkat fisik, dan angka n mengacu pada partisi pada perangkat itu. Sebagai contoh, / dev / sda1 biasanya merupakan partisi pertama pada perangkat penyimpanan fisik pertama.
  • / dev / loop n - loop devices. Ini adalah perangkat khusus yang memungkinkan file dalam sistem file untuk digunakan sebagai perangkat blok. File dapat berisi seluruh sistem file sendiri, dan diakses seolah-olah itu adalah partisi yang dipasang pada perangkat penyimpanan fisik. Misalnya, file gambar disk ISO dapat dipasang sebagai perangkat loop.

Jika Anda ingin tahu seberapa besar blok di sistem Anda, jalankan " blockdev --getbsz device " sebagai root, misalnya:

 sudo blockdev --getbsz / dev / sda1 
 4096 

Dalam contoh ini, ukuran blok adalah 4096 byte (4 kibibytes).

File khusus karakter

File karakter khusus mirip dengan perangkat blok, tetapi data ditulis satu karakter (delapan bit, atau satu byte) pada suatu waktu.

Contoh file khusus karakter:

  • / dev / stdin (Input standar.)
  • / dev / stdout (Output standar.)
  • / dev / stderr (Kesalahan standar.)
  • / dev / random (PRNG yang dapat menunda mengembalikan nilai untuk mendapatkan entropi tambahan.)
  • / dev / urandom (PRNG yang selalu mengembalikan nilai dengan segera, terlepas dari entropi yang diperlukan.)
  • / dev / null (Perangkat null. Membaca dari file ini selalu mendapat byte nol; menulis ke file ini berhasil tidak menghasilkan apa-apa.)

Jenis file Linux

Di kernel Linux, tipe file dideklarasikan di file header sys / stat.h. Nama tipe, nama simbolis, dan bitmask untuk setiap tipe file Linux tercantum di bawah ini.

Bagaimana saya bisa tahu apakah file itu spesial?

Tes untuk blok spesial

Dalam bash, perintah " file test -b " mengembalikan status keluar dari 0 jika file adalah blok khusus, atau 1 jika file dari jenis lain atau tidak ada.

 test -b / dev / sda1; echo $? # periksa blok khusus, status keluar gema tes 
 0 
 test -b / dev / null; echo $? File khusus # karakter tidak memblokir khusus 
 1 

Tes untuk karakter spesial

Untuk menentukan apakah suatu file adalah karakter spesial, gunakan " file test -c ":

 test -c / dev / null; echo $? 
 0 

Menggunakan stat

Anda juga dapat memeriksa jenis file dengan stat :

 stat / dev / hda1 
 File: / dev / sda1 Ukuran: 0 Blok: 0 IO Blok: 4096 blok file khusus Perangkat: 6h / 6d Inode: 7998 Tautan: 1 Jenis perangkat: 8, 1 Akses: (0660 / brw-rw ----) Uid : (0 / root) Gid: (6 / disk) Akses: 2018-07-08 06: 41: 25.540000000 -0400 Memodifikasi: 2018-07-08 06: 41: 25.540000000 -0400 Perubahan: 2018-07-08 06: 41: 25.540000000 -0400 Kelahiran: - 
 stat / dev / acak 
 File: / dev / random Ukuran: 0 Blok: 0 IO Blok: 4096 karakter file khusus Perangkat: 6h / 6d Inode: 6518 Tautan: 1 Jenis perangkat: 1, 8 Akses: (0666 / crw-rw-rw-) Uid: (0 / root) Gid: (0 / root) Akses: 2018-07-08 06: 41: 19.676000000 -0400 Memodifikasi: 2018-07-08 06: 41: 19.676000000 -0400 Perubahan: 2018-07-08 06:41 : 19.676000000 -0400 Kelahiran: - 

Inode, Persyaratan sistem operasi, Input standar (stdin), Output standar (stdout)