GNU/Linux >> Belajar Linux >  >> Linux

Dasar-dasar file Unix:Inode, Tautan lunak Vs Keras, File perangkat, Pipa bernama

Inode

Setiap file dalam sistem operasi Linux/Unix memiliki inode yang terkait dengannya dengan pengecualian Solaris ZFS, yang tidak memiliki inode. Inode pada dasarnya bekerja sangat mirip dengan lampiran buku. Setiap Inode akan memiliki informasi di bawah tentang file tersebut.

1. pemilik
2. izin
3. ukuran
4. waktu akses terakhir
5. waktu pembuatan
6. id grup
7. Pointer ke blok data yang terkait dengan konten file
Catatan:Namun Inode tidak memberikan nama file.

Jenis File

Pada dasarnya ada 5 jenis file dalam sistem operasi unix.

1. Biasa
2. Direktori
3. Tautan simbolis (tautan keras &tautan lunak)
4. File perangkat (karakter khusus dan blok perangkat khusus)
5. Pipa bernama

Karakter di kolom pertama perintah ls -l mengidentifikasi jenis file.

# cd /
# ls -l bin
lrwxrwxrwx   1   root   root  9  Sep  19  15:41   bin -> ./usr/bin
-   Regular files
d   Directories
l   Symbolic links
b   Block-special device files
c   Character-special device files
p   Named pipes

File dan Direktori

File biasa dapat menyimpan berbagai jenis data dan dapat dengan mudah dibuat menggunakan perintah sentuh atau editor vi. Direktori menyimpan hubungan antara file dan/atau direktori dan nomor inode.

Tautan lunak

Seperti yang ditunjukkan pada diagram, tautan lunak atau tautan simbolik hanya menunjuk ke file lain. Itu hanya berisi nama path dari file yang ditunjuknya

1. Metode pembuatan

# touch file1
# ln -s file1 link1
# ls -l
-rw-r--r-- 1   root   root  0  Sep  19  14:41  link1
lrwxrwxrwx 1   root   root  5  Sep  19  15:41  link1 -> file1

2. Ukuran soft link yang dibuat pada contoh di atas adalah jumlah karakter pada nama path (file1), yaitu 5 (bisa absolut atau relatif).
3. Jika Anda menghapus file asli (file1), tautan lunak menjadi tidak berguna.
4. Tautan lunak dapat berada di sistem file yang berbeda.

Tautan keras

Setiap file menggunakan setidaknya satu hard link. Jadi ketika Anda membuat file baru, entri direktori baru dibuat yang disebut jumlah tautan. Jadi ketika Anda membuat tautan keras baru ke file ini, jumlah tautan bertambah sebesar 1.

1. metode pembuatan

# touch file1
# ls -l
-rw-r--r-- 1  root  root  0  Sep  23  13:19  file1
# ln file1 file2
# ls -l
-rw-r--r--  2  root  root  0  Sep  23  13:19  file1
-rw-r--r--  2  root  root  0  Sep  23  13:19  file2
# ls -li
1282  -rw-r--r--  2  root  0  root  0  Sep  23  13:19  file1
1282  -rw-r--r--  2  root  0  root  0  Sep  23  13:19  file2
# find . -inum 1282
./file1
./file2

2. Jumlah tautan bertambah satu, setiap kali Anda membuat tautan keras baru ke file seperti yang ditunjukkan di atas.
3. Bahkan jika Anda menghapus salah satu file, itu tidak berpengaruh pada file lainnya. Hanya jumlah tautan yang berkurang
4. Tautan keras tidak dapat melewati sistem file.

File perangkat

Dalam sistem operasi UNIX, setiap perangkat fisik memiliki file yang terkait dengannya yang disebut sebagai file perangkat . Ini adalah antarmuka yang berinteraksi dengan driver perangkat. Tidak seperti jenis file lainnya, mereka tidak menyimpan data apa pun dalam blok data, melainkan menggunakan inode untuk menyimpan no mayor dan minor untuk file perangkat apa pun.

# cd /dev/
# ls -l
crw-r-----  1  root  tty   4,  0  Sep  23  12:51  tty0
brw-rw----- 1  root  disk  8,  1  Sep  23  12:51  sda0

No perangkat utama – Driver perangkat khusus diperlukan untuk mengakses perangkat
no perangkat kecil – unit spesifik dari jenis yang dikontrol oleh driver perangkat.

Misalnya jika Anda memiliki 10 printer HP, no mayor adalah driver perangkat printer HP dan no minor adalah instance printer (1,2 .. hingga 10).

File perangkat terdiri dari 2 jenis
1. Karakter khusus
2. Blokir khusus

File Perangkat khusus karakter
1. Karakter “c” di kolom pertama output perintah ls -l mengidentifikasi file perangkat khusus karakter
2. Data diakses sebagai aliran data (karakter demi karakter, 1 byte pada satu waktu)
3. Contoh :tty, serial, terminal virtual

# ls -l
crw-r-----  1  root  tty   4,  0  Sep  23  12:51  tty0

Blokir file Perangkat khusus
1. Karakter “b” pada kolom pertama dari output perintah ls -l mengidentifikasi file perangkat khusus karakter
2. Data diakses sebagai ukuran blok yang ditentukan untuk perangkat tersebut
3. Contoh :Hard Disk, CD/DVD

# ls -l
brw-rw-----  1  root  disk   8,  1  Sep  23  12:51  sda0

Pipa Bernama

– Pipa bernama adalah file khusus yang digunakan untuk komunikasi antarprosesor. Tidak seperti pipa normal, Anda dapat membaca dan menulis ke pipa bernama. Untuk alasan ini mereka juga disebut sebagai FIFO (file in file out).
– mknod() atau mkfifio() adalah contoh umum yang menggunakan pipa bernama untuk mengakses pipa dengan nama.
– Seperti yang ditunjukkan pada contoh di bawah ini, 2 proses (gzip dan cat) dapat secara bersamaan mengakses pipa Bernama untuk menulis dan membaca data darinya.

# mkfifo test_pipe
# gzip -9 -c > test_pipe < out.gz
# cat file1 > test_pipe
# ls -l test_pipe
prw-rw-----  1  root  root  0  Sep  23  12:51  test_pipe


Linux
  1. Tautan keras dan tautan lunak di Linux dijelaskan

  2. Membuat Tautan Keras Direktori Secara Paksa?

  3. 10 Contoh Perintah Cat untuk Mengelola File di Linux / UNIX

  1. Memahami Dasar-dasar Inode UNIX / Linux dengan Contoh

  2. RHEL 7 – RHCSA Catatan :Buat tautan keras dan lunak.

  3. Bagaimana Anda bisa melihat tautan keras yang sebenarnya oleh ls?

  1. UNIX/Linux :Dasar-dasar daftar kontrol akses (ACL)

  2. Apa itu Tautan Lunak dan Tautan Keras di Sistem File Linux

  3. Pertanyaan Wawancara Linux :Buka File / Buka Deskriptor File