GNU/Linux >> Belajar Linux >  >> Linux

Semuanya Ada File Di Linux – Bagian 1

Dibagi menjadi 2 bagian, di bagian pertama ini saya akan memperkenalkan konsep bahwa semuanya adalah file dan menyajikan perangkat khusus /dev/null, /dev/zero, /dev/random dan /dev/full . Bagian 2 akan menyajikan fitur-fitur menarik secara didaktik tentang ini, misalnya, bagaimana mengubah file menjadi partisi!

Pengantar

  • Apa itu?

Semuanya File adalah konsep bagaimana sistem mencatat dan menyimpan segala sesuatu dalam strukturnya. Tidak seperti sistem operasi lainnya, sistem operasi mirip UNIX memperlakukan semuanya sebagai file umum.

Ini berarti bahwa tidak hanya partisi yang dipasang sebagai file, tetapi juga direktori perangkat tertentu seperti RAM, ponsel cerdas, disk eksternal, dan cakram media optik semuanya adalah file. Selain itu, soket dan pipa juga merupakan file!

Selain itu, setiap terminal TTY – yang Anda buka dengan CTRL ALT F1 – adalah “file” di mata sistem.

Direktori /dev

Jika Anda menelusuri direktori / dev, Anda akan melihat semua file yang terkait dengan sistem mount relatif terhadap media lain. Seolah-olah Anda mencolokkan ponsel ke komputer, hard drive eksternal, atau bahkan stik USB dan semuanya menjadi “file” untuk sistem operasi.

Partisi sistem adalah file yang diawali dengan “sd ” di folder /dev.​Dalam folder yang sama, TTY adalah perangkat TeleTypewriter, terminal shell yang diakses oleh “CTRL ALT F1 " memerintah. Blok perakitan yang digunakan oleh sistem media optik (DVD, CD, dan lain-lain) juga ada di folder ini, dalam file yang terdaftar “loop “.

Perangkat Khusus

Keingintahuan terbesar dari posting ini adalah karena 4 file kecil ini di folder /dev:full, zero, random, dan null. Dapatkah Anda membedakan fungsi masing-masingnya? Kesamaan mereka terletak pada kenyataan bahwa mereka adalah “file khusus ” dan bukan hanya direktori.

Nol Perangkat:/dev/null

Perangkat nol (device null) biasanya digunakan untuk membuang aliran keluaran dari suatu proses yang hasilnya tidak penting karena alasan tertentu. Ini juga berfungsi sebagai file kenyamanan kosong. Biasanya, operasi ini dilakukan melalui perintah pengalihan pada konsol sistem. File apa pun yang dikirim ke perangkat “/dev/null” akan hilang selamanya karena cara kerjanya, membuang data secara instan.

Ini seperti lubang hitam besar, sampah yang tidak pernah terisi.

​Secara puitis, programmer membuat banyak lelucon tentang /dev/null karena kekhasan ini.

Coba perintah berikut:$ echo “Hello World” Anda akan melihat “Hello World” sebagai output perintah.

Sekarang coba:

$ echo “Hello World”> /dev/null

Akan mengembalikan output kosong. Artinya, tidak akan terjadi apa-apa.

Karena output perintah "Halo dunia" pergi ke mana-mana.
Itu ditelan oleh Lubang Hitam.

Dia pergi mengunjungi Courage the Cowardly Dog in Nowhere! Atau tempat gila lainnya yang diizinkan imajinasi Anda.

​/dev/null untuk sistem berbasis UNIX bekerja seperti lubang hitam:

Apa yang dikirim ke sana tidak akan kembali!​Kesampingkan lelucon, pada dasarnya, output perintah dari proses tidak disimpan, melainkan langsung dibuang seolah-olah tidak pernah dibuat.

Perangkat Penuh:/dev/full

Di Linux, perangkat selalu penuh adalah file khusus yang selalu mengembalikan kode kesalahan yang sama ketika diakses untuk menulis:ENOSPC – yang berarti “Tidak ada ruang yang tersedia di perangkat “.

Selain itu, ia memiliki fungsi lain:Karena selalu penuh, ia menyediakan jumlah karakter null (NULL) yang tak terbatas untuk setiap proses yang mengaksesnya sebagai telah dibaca. Perangkat ini biasanya digunakan untuk menguji perilaku suatu program saat mengalami kesalahan karena disk memori penuh!

Coba perintah berikut:$ echo “Hello world”> /dev/fullIni akan memberikan perangkat ini kesalahan penuh, meniru HDD yang penuh sesak!
bash: gema:kesalahan penulisan:Tidak ada ruang tersisa di perangkat

Perangkat Nol:/dev/zero

Pada sistem operasi mirip Unix, /dev/zero adalah file khusus yang menyediakan berapa banyak karakter null yang dibaca darinya – NULL tabel ASCII, 0x00; dan bukan karakter “angka nol”, “0”, yang nilainya 0x30–.

Aliran karakter nol yang dihasilkan oleh perangkat ini dapat, misalnya, digunakan untuk menimpa informasi pada disk (untuk membersihkannya) atau untuk menghasilkan file bersih berukuran X hingga tak terbatas. Sistem BSD menggunakannya dengan menerapkan memori bersama melalui fungsi mmap, yang memetakan/dev/nol ke RAM.

Membuat file kosong besar yang disebut 'test':

$ dd if=/dev/ zero of=/home/
$ USER /test count=1000 bs=1000

Jika Anda tidak memaksakan batasan pada perintah, mendapatkan sebagai “dd if=/dev/zero of=/home / $ USER/test”, Anda akan melihat file yang akan menggemukkan hingga tak terhingga; itu hanya berhenti tumbuh ketika drive disk penuh, menghasilkan kesalahan “tidak ada ruang disk yang tersedia”.

Perintah ini menarik ketika Anda ingin memulihkan pen drive yang tabel partisinya rusak dan tidak dapat dipulihkan. dd perintah memaksa penulisan, dan /dev /zero akan mengisi setiap blok penyimpanan, dengan nol. Ini akan berada dalam status baru diproduksi, yang mengharuskan Anda untuk menggunakan program seperti Disks atau Gparted nanti untuk membangun kembali tabel partisi Anda!

​Hati-hati dengan perintah ini, jika outputnya adalah =/dev /sda1, Anda akan men-zero seluruh disk sda1 Anda (mengisinya dengan nol) membuat file tidak dapat dipulihkan.

Perangkat Acak:/dev/random

Ia bekerja dengan menggunakan logika yang sama seperti /dev/zero, tetapi mengisi disk atau membuat file berukuran n dengan nilai acak, yang dihasilkan dari pemrosesan komputer, mengumpulkan karakter informasi GPU, memori RAM, dan sebagainya.

/Dev/random harus sesuai untuk penggunaan yang memerlukan nomor acak berkualitas tinggi seperti one-time pad atau pembuatan kunci publik untuk SSH dan jaringan berbagi lainnya.

Keingintahuan Cepat!

Apa yang terjadi jika kita mengirim ke mana-mana? Itu jika kita mengirim isi /dev/zero ke /dev/null

$ sudo dd if =/dev/zero of=/dev/null

Perintah ini akan menghasilkan file yang cenderung tak terhingga, yang akan direkam di perangkat ruang tak terbatas – Lubang hitam kami! Dalam praktiknya, ini tidak merusak hard disk karena tidak ada data yang benar-benar dihasilkan dan ditulis ke disk. Tetapi di bawah perspektif kernel, ada transfer data di sana:itu akan menghasilkan konsumsi CPU yang tinggi, yang akan memilih salah satu inti untuk menghasilkan pemrosesan seperti itu yang menggunakan 100% penggunaan.

Jenis perintah ini digunakan untuk pengujian kinerja, misalnya, untuk memeriksa bagaimana komputer berperilaku dengan CPU pada penggunaan 100%.

Kesimpulan

Dalam posting ini, Anda mempelajari lebih detail tentang bagaimana sistem berbasis UNIX mengenali perangkat dan bagaimana semuanya "berkas". Mereka juga mengetahui detail tentang perangkat khusus.

Dalam posting berikutnya dalam seri ini, saya akan berbicara tentang beberapa utilitas menarik untuk perangkat ini, misalnya, membuat partisi dari file, di antara keingintahuan lain yang tidak ingin saya komentari agar tidak rusak!


Linux
  1. Linux – Semuanya Adalah File?

  2. Urutkan Bagian Dari File?

  3. Apa alternatif untuk Semuanya mencari Linux?

  1. Cara memindahkan file di Linux

  2. Memahami Izin File Linux

  3. Perintah Ekor Linux

  1. Perintah Sentuh Linux

  2. Perintah Cat di Linux

  3. Perintah Berkas Linux