Cara membuat file perangkat di linux menggunakan perintah mknod

Cara membuat file perangkat di linux menggunakan perintah mknod

Di dalam Linux, Semuanya adalah file, bahkan perangkat fisik seperti drive disk, CD/DVD ROM, dan floppy disk diwakili menggunakan file. Namun, file -file ini bukan file data biasa. Sebaliknya, file khusus ini disebut file perangkat dan mereka dapat menghasilkan atau menerima data.

Biasanya, semua file khusus ada di bawah /dev direktori. Beberapa contoh umum file khusus adalah /dev/null, /dev/nol, /dev/penuh, Dan /dev/sr0.

File khusus dapat dari karakter tipe atau blok. Seperti namanya, file karakter memproses satu karakter pada satu waktu di mana ketika file blok memproses beberapa karakter sekaligus.

Dalam panduan lanjutan ini, kita akan membahas cara membuat file perangkat menggunakan mknod memerintah. Setelah mengikuti panduan ini, pengguna Linux akan dapat bekerja dengan berbagai jenis file perangkat dengan percaya diri.

Daftar isi

1
  • sintaks perintah mknod
  • 1. Buat pipa yang tidak disebutkan namanya di Linux
  • 2. Buat pipa bernama di Linux
  • 3. Buat file perangkat karakter di Linux
  • 4. Buat file perangkat blok di Linux
  • 5. Buat file perangkat dengan izin

sintaks perintah mknod

Sintaksis mknod Perintah sedikit berbeda dari perintah linux lainnya. Perbedaan utama adalah bahwa kita perlu menentukan angka utama dan minor saat membuat karakter dan memblokir file perangkat:

$ mknod [opsi] [mayor] [minor]… 

Dalam sintaks di atas, tanda kurung persegi ([]) mewakili argumen opsional sedangkan kurung sudut () mewakili argumen wajib.

Di Linux, nomor utama digunakan untuk menentukan driver perangkat yang perlu digunakan. Nomor ini ditetapkan saat mendaftarkan driver perangkat.

Dengan cara yang sama, nomor minor digunakan untuk menentukan perangkat yang sebenarnya. Kita dapat menemukan jumlah utama dan kecil yang dipesan dalam dokumentasi kernel Linux.

1. Buat pipa yang tidak disebutkan namanya di Linux

Di Linux, kami menggunakan pipa untuk memungkinkan komunikasi antar proses. Di shell, pipa diwakili menggunakan garis vertikal (|). Itu membaca output dari proses sebelumnya dan mengirimkannya sebagai input ke proses berikutnya.

Mari kita pahami ini dengan contoh sederhana:

$ echo "tecmint.com "| wc -c 

Dalam contoh ini, kami menggunakan pipa untuk membaca output dari perintah Echo dan mengirimkannya sebagai input ke perintah WC untuk pemrosesan lebih lanjut.

Di sini, kami telah menggunakan garis vertikal (|) Untuk membuat pipa. Namun, ini menciptakan pipa yang tidak disebutkan namanya dan ruang lingkupnya terbatas pada perintah saat ini saja. Dalam contoh berikutnya, kita akan melihat cara membuat pipa bernama.

2. Buat pipa bernama di Linux

Kita bisa menggunakan mknod Perintah untuk membuat pipa bernama. Pipa bernama berada di sistem file seperti halnya file biasa lainnya. Namun, tujuan utamanya adalah untuk memungkinkan komunikasi antar proses antara proses yang tidak terkait.

Pertama, mari kita tentukan jenis perangkat sebagai P Untuk membuat pipa bernama:

$ mknod /tmp /named-pipe p $ ls -l /tmp /named-pipe 

Sekarang, mari kita coba membaca file:

$ cat /tmp /named-pipe 

Di sini, kita dapat melihat bahwa perintah kucing menunggu tanpa batas:

Baca file pipa bernama

Selanjutnya, mari kita buka terminal lain dan tulis beberapa data ke /TMP/Pipe bernama mengajukan:

$ echo "tecmint.com "> /tmp /named-pipe 

Akhirnya, pergilah ke terminal pertama untuk melihat hasilnya:

Lihat file pipa bernama

Di sini, kita dapat melihat itu gema Dan kucing Perintah dapat berkomunikasi menggunakan pipa bernama.

3. Buat file perangkat karakter di Linux

Dengan cara yang sama, kita dapat menggunakan jenis perangkat sebagai C Untuk membuat perangkat karakter. Namun, kita harus menggunakan bilangan mayor dan minor saat membuat perangkat karakter.

Mari kita gunakan perintah LS untuk menemukan sejumlah besar dan kecil dari /dev/penuh perangkat:

$ ls -l /dev /penuh 
Temukan File Mayor dan Nomor Kecil

Dalam output di atas, sepasang angka yang dipisahkan koma i.e. 1, 7 mewakili jumlah utama dan minor masing -masing.

Di Linux, /dev/penuh perangkat selalu mengembalikan Tidak ada ruang yang tersisa pada kesalahan perangkat. Untuk memahami ini, mari kita tulis beberapa data ke perangkat ini:

$ echo "tecmint.com "> /dev /full 
Tulis data ke file perangkat

Sekarang, mari kita gunakan mknod perintah untuk membuat perangkat baru yang berperilaku sama seperti /dev/penuh perangkat:

$ sudo mknod /tmp /perangkat penuh c 1 7 

Selanjutnya, mari kita ubah izin file:

$ sudo chmod 666 /tmp /perangkat penuh $ ls -l /tmp /perangkat penuh 

Akhirnya, tulis beberapa data ke perangkat yang baru dibuat:

$ echo "tecmint"> /tmp /full-device 
Buat File Perangkat Baru

Penting untuk dicatat bahwa, perangkat karakter yang baru dibuat berperilaku seperti /dev/penuh perangkat karena jumlah jurusan dan minor yang sama.

4. Buat file perangkat blok di Linux

Selain itu, kami dapat menentukan jenis perangkat sebagai B Untuk membuat perangkat blok. Untuk membuat perangkat blok, kita harus menggunakan nomor utama dan kecil.

Di linux, /dev/sr0 mewakili CD/DVD ROM perangkat. Sekarang, mari kita buat perangkat blok baru yang berperilaku sama seperti /dev/sr0.

Pertama, mari kita cari tahu sejumlah besar dan kecil dari /dev/sr0:

$ ls -l /dev /sr0 
Periksa File Perangkat Jurusan dan Nomor Kecil

Dalam output di atas, kita dapat melihat bahwa jumlah utama dan kecilnya adalah 11 Dan 0 masing -masing.

Sekarang, mari kita buat perangkat blok baru dengan nomor mayor dan minor yang sama:

$ sudo mknod /tmp /dvd-rom b 11 0 $ ls -l /tmp /dvd-rom 
Buat perangkat blok baru

Selanjutnya, mari kita memasang gambar ISO dari CD/DVD ROM ke /mnt direktori dan verifikasi bahwa operasi pemasangan berhasil:

$ sudo mount /tmp /dvd -rom /mnt /$ ls -1 /mnt / 
Pasang perangkat blok baru

Dalam contoh ini, kita dapat melihat bahwa /tmp/dvd-rom Perangkat blok dapat mengakses gambar ISO dari CD/DVD ROM.

5. Buat file perangkat dengan izin

Terkadang, kita perlu memodifikasi izin akses file perangkat sebelum menggunakannya. Dalam kasus seperti itu, kita harus menggunakan Chmod memerintah. Namun, kami dapat mencapai hasil yang sama menggunakan mknod perintah alih -alih menggunakan dua perintah terpisah.

Untuk memahami ini, mari kita gunakan -M Opsi untuk mengatur izin akses saat membuat pipa bernama:

$ sudo mknod -m 444 /tmp /pipa-dengan-permisi p 

Sekarang, mari kita verifikasi bahwa izin telah ditetapkan dengan benar:

$ LS -L /TMP /PIPE-dengan-permisi 
Buat File Perangkat dengan Izin

Dalam contoh ini, kami menggunakan -M Opsi dengan pipa bernama. Namun, kita dapat menggunakannya dengan karakter dan blok perangkat juga.

Apakah Anda tahu contoh terbaik lainnya dari mknod Perintah di Linux? Beri tahu kami pandangan Anda di komentar di bawah.