Masih mengenai hal dasar di GNU/Linux. Setelah artikel sebelumnya kita membahas mengenai pengenalan terhadap access permission di GNU/Linux. Ada perihal dasar lainnya yang wajib pula kita ketahui, ketika menggunakan GNU/Linux. Yakni pengetahuan mengenai beberapa atribut berkas di GNU/Linux.

Everything is a File

Yang menarik dari GNU/Linux adalah segala suatu yang ada di dalamnya adalah sebuah berkas. Meskipun kita melihat direktori di sana, tetap saja direktori tersebut merupakan berkas. Anda bisa buktikan sendiri dengan cara membuat satu berkas dan satu direktori dengan nama yang sama persis. Pasti di GNU/Linux Anda tidak akan bisa melakukannya. Coba saja lakukan perintah berikut:

touch kambing
mkdir kambing

Perkatikan gambar di atas. Padahal kita mau membuat direktori bernama kambing, namun tidak bisa karena terdapat berkas bernama kambing juga. Kalau di Windows tentu saja hal demikian bisa kita buat. Lihat gambar di bawah ini:

Inilah mengapa di GNU/Linux dikatakan segala sesuatu yang ada di dalamnya adalah sebuah berkas (everything is a file). Kalau semuanya berupa berkas lalu bagaimana kita dapat membuat direktori? Semua berkas diberikan atribut spesial (special attribute) untuk menandakan apakah berkas itu berupa berkas (as a file) atau berupa direktori (as a directory).

Kita bisa melihat perbedaannya dengan melakukan perintah ls -lah di Terminal. Jika itu memang berupa berkas biasa kita akan melihat tanda strip di awal , jika berupa direktori, ada tanda d di awal. Lihatlah gambar di bawah ini:

Attribute

Di GNU/Linux pengelempokan suatu berkas dibagi menjadi 8 kelompok yakni 7 untuk special attribute dan satu atribut untuk berupa berkas asli (regular / standard file). Adapun 8 kelompok atribut tersebut bisa kita lihat dalam tabel di bawah ini:

JenisNama dan Keterangan
-Tanda strip mengindkasikan bahwa itu adalah _regular / standard file_.
b_Block special file_. Yakni _major_ dan _minor number_ untuk pengontrolan `dev`.` `
c_Character special file. _Yakni yang menangani tentang _proccess character _komunikasi dari _hardware_.``
d_Directory._ Berkas dinyatakan sebagai direktori jika bertanda ini.
l_Symbolic Link_. Seperti halnya berkas _shortcut_ di Windows.
p_FIFO (first-in-first-out) _diberinama_ pipe file. _Ini berkaitan dengan kernel._ _
s_Socket_ _file._
w_Whiteout_ atau State of UnionFS.

Beberapa berkas dari jenis di atas mungkin bisa kita lihat sendiri, seperti berkas berupa block dan character. Lakukan perintah berikut:

ls -lah /dev

Perhatikan gambar di atas. Kita melihat tulisan di awal berupa c, b, d, dan l. Ternyata dalam direktori /dev terdapat banyak special attribute. Untuk Socket file, saya sendiri belum tahu dimana letaknya, baru satu yang saya temukan ketika menjalankan php-fpm lihat gambar di bawah.

Untuk beberap berkas seperti FIFO p dan _whiteout _w. Saya sendiri belum menemukan di mana letak berkas tersebut. Tapi yang jelas sebagai pengguna GNU/Linux kita wajib mengetahui nama-nama atribut di berkas.

Kesimpulan

Di GNU/Linux segala sesuatu itu adalah sebuah berkas (everything is a file). Untuk membedakan mana berkas asli atau itu berupa direktori dapat kita lihat dalam special attribute-nya yakni tertulis dengan beberapa simbol di awal ketika kita melakukan perintah ls -lah.

Oke semoga bermanfaat.

Sumber

* <a href="https://www.cyberciti.biz/faq/explain-the-nine-permissions-bits-on-files/" target="_blank">https://www.cyberciti.biz/faq/explain-the-nine-permissions-bits-on-files/</a>
* <a href="https://linux.die.net/man/3/mkfifo" target="_blank">https://linux.die.net/man/3/mkfifo</a>
* <a href="https://askubuntu.com/questions/39826/what-does-whiteout-mean-in-a-copy-on-write-filesystem" target="_blank">https://askubuntu.com/questions/39826/what-does-whiteout-mean-in-a-copy-on-write-filesystem</a>
* <a href="https://en.wikipedia.org/wiki/UnionFS" target="_blank">https://en.wikipedia.org/wiki/UnionFS</a>