Bayanin Komai Fayil ne da Nau'in Fayiloli a cikin Linux


Idan kun kasance sababbi ga Linux, ko kuma kun yi amfani da shi na ƴan watanni, to lallai ne kun ji ko karanta maganganu irin su \A Linux, komai Fayil ne.

Wannan gaskiya ne duk da cewa ra'ayi ne kawai, a cikin Unix da abubuwan da suka samo asali kamar Linux, komai ana ɗaukarsa azaman fayil. Idan wani abu ba fayil ba ne, to dole ne ya kasance yana gudana azaman tsari akan tsarin.

Don fahimtar wannan, ɗauki misali adadin sarari akan tushen ku (/) kundin adireshi koyaushe ana cinye shi ta nau'ikan fayilolin Linux daban-daban. Lokacin da kuka ƙirƙiri fayil ko canja wurin fayil zuwa tsarin ku, yana ɗaukar wasu sarari akan faifan zahiri kuma ana ɗaukarsa a cikin takamaiman tsari (nau'in fayil).

Haka kuma tsarin Linux ba ya bambanta tsakanin fayiloli da kundayen adireshi, amma kundayen adireshi suna yin aiki ɗaya mai mahimmanci, wato adana wasu fayiloli a rukuni a cikin matsayi don sauƙi. Duk abubuwan kayan aikin ku ana wakilta su azaman fayiloli kuma tsarin yana tattaunawa da su ta amfani da waɗannan fayilolin.

Manufar ita ce muhimmin bayanin babban kadarorin Linux, inda albarkatun shigarwa/fitarwa kamar takaddun ku, kundayen adireshi ( manyan fayiloli a cikin Mac OS X da Windows), keyboard, saka idanu, rumbun kwamfyuta, kafofin watsa labarai masu cirewa, firintoci, modem, kama-da-wane. tashoshi da kuma tsarin tsaka-tsaki da sadarwar cibiyar sadarwa rafi ne na bytes da aka ayyana ta sararin tsarin fayil.

Babban fa'idar duk abin kasancewa fayil shine cewa ana iya amfani da saitin kayan aikin Linux iri ɗaya, abubuwan amfani da APIs akan abubuwan shigarwa/fitar da ke sama.

Kodayake duk abin da ke cikin Linux fayil ne, akwai wasu fayiloli na musamman waɗanda suka wuce fayil kawai misali kwasfa da bututu mai suna.

Menene nau'ikan fayiloli daban-daban a cikin Linux?

A cikin Linux akwai ainihin fayiloli iri uku:

  1. Fayilolin na yau da kullun/na yau da kullun
  2. Fayloli na musamman
  3. Labarai

Waɗannan bayanan fayiloli ne sun ƙunshi rubutu, bayanai ko umarnin shirye-shirye kuma sune mafi yawan nau'in fayilolin da zaku iya tsammanin samu akan tsarin Linux kuma sun haɗa da:

  1. Fayillolin da za a iya karantawa
  2. Faylolin binary
  3. Faylolin hoto
  4. Faylolin da aka matse da sauransu.

Fayiloli na musamman sun haɗa da:

Toshe fayiloli : Waɗannan fayilolin na'ura ne waɗanda ke ba da dama ga abubuwan kayan aikin tsarin. Suna samar da hanyar sadarwa tare da direbobin na'urori ta hanyar tsarin fayil.

Wani muhimmin al'amari game da toshe fayiloli shine cewa za su iya canja wurin babban toshe bayanai da bayanai a wani lokaci da aka ba su.

Jerin toshe soket ɗin fayiloli a cikin kundin adireshi:

# ls -l /dev | grep "^b"
brw-rw----  1 root disk        7,   0 May 18 10:26 loop0
brw-rw----  1 root disk        7,   1 May 18 10:26 loop1
brw-rw----  1 root disk        7,   2 May 18 10:26 loop2
brw-rw----  1 root disk        7,   3 May 18 10:26 loop3
brw-rw----  1 root disk        7,   4 May 18 10:26 loop4
brw-rw----  1 root disk        7,   5 May 18 10:26 loop5
brw-rw----  1 root disk        7,   6 May 18 10:26 loop6
brw-rw----  1 root disk        7,   7 May 18 10:26 loop7
brw-rw----  1 root disk        1,   0 May 18 10:26 ram0
brw-rw----  1 root disk        1,   1 May 18 10:26 ram1
brw-rw----  1 root disk        1,  10 May 18 10:26 ram10
brw-rw----  1 root disk        1,  11 May 18 10:26 ram11
brw-rw----  1 root disk        1,  12 May 18 10:26 ram12
brw-rw----  1 root disk        1,  13 May 18 10:26 ram13
brw-rw----  1 root disk        1,  14 May 18 10:26 ram14
brw-rw----  1 root disk        1,  15 May 18 10:26 ram15
brw-rw----  1 root disk        1,   2 May 18 10:26 ram2
brw-rw----  1 root disk        1,   3 May 18 10:26 ram3
brw-rw----  1 root disk        1,   4 May 18 10:26 ram4
brw-rw----  1 root disk        1,   5 May 18 10:26 ram5
...

Fayilolin haruffa : Waɗannan kuma fayilolin na'ura ne waɗanda ke ba da dama ga abubuwan haɗin kayan masarufi marasa tsari. Suna aiki ta hanyar samar da hanyar sadarwa tare da na'urori ta hanyar canja wurin bayanai guda ɗaya a lokaci guda.

Littattafan fayilolin haruffa a cikin kundin adireshi:

# ls -l /dev | grep "^c"
crw-------  1 root root       10, 235 May 18 15:54 autofs
crw-------  1 root root       10, 234 May 18 15:54 btrfs-control
crw-------  1 root root        5,   1 May 18 10:26 console
crw-------  1 root root       10,  60 May 18 10:26 cpu_dma_latency
crw-------  1 root root       10, 203 May 18 15:54 cuse
crw-------  1 root root       10,  61 May 18 10:26 ecryptfs
crw-rw----  1 root video      29,   0 May 18 10:26 fb0
crw-rw-rw-  1 root root        1,   7 May 18 10:26 full
crw-rw-rw-  1 root root       10, 229 May 18 10:26 fuse
crw-------  1 root root      251,   0 May 18 10:27 hidraw0
crw-------  1 root root       10, 228 May 18 10:26 hpet
crw-r--r--  1 root root        1,  11 May 18 10:26 kmsg
crw-rw----+ 1 root root       10, 232 May 18 10:26 kvm
crw-------  1 root root       10, 237 May 18 10:26 loop-control
crw-------  1 root root       10, 227 May 18 10:26 mcelog
crw-------  1 root root      249,   0 May 18 10:27 media0
crw-------  1 root root      250,   0 May 18 10:26 mei0
crw-r-----  1 root kmem        1,   1 May 18 10:26 mem
crw-------  1 root root       10,  57 May 18 10:26 memory_bandwidth
crw-------  1 root root       10,  59 May 18 10:26 network_latency
crw-------  1 root root       10,  58 May 18 10:26 network_throughput
crw-rw-rw-  1 root root        1,   3 May 18 10:26 null
crw-r-----  1 root kmem        1,   4 May 18 10:26 port
crw-------  1 root root      108,   0 May 18 10:26 ppp
crw-------  1 root root       10,   1 May 18 10:26 psaux
crw-rw-rw-  1 root tty         5,   2 May 18 17:40 ptmx
crw-rw-rw-  1 root root        1,   8 May 18 10:26 random

Fayilolin haɗin yanar gizo na alama : Hanya ta alama tana nufin wani fayil akan tsarin. Saboda haka, fayilolin haɗin kai na alama fayiloli ne waɗanda ke nuna wasu fayiloli, kuma suna iya zama kundayen adireshi ko fayiloli na yau da kullun.

Lissafin ginshiƙan haɗin kai na alama a cikin kundin adireshi:

# ls -l /dev/ | grep "^l"
lrwxrwxrwx  1 root root             3 May 18 10:26 cdrom -> sr0
lrwxrwxrwx  1 root root            11 May 18 15:54 core -> /proc/kcore
lrwxrwxrwx  1 root root            13 May 18 15:54 fd -> /proc/self/fd
lrwxrwxrwx  1 root root             4 May 18 10:26 rtc -> rtc0
lrwxrwxrwx  1 root root             8 May 18 10:26 shm -> /run/shm
lrwxrwxrwx  1 root root            15 May 18 15:54 stderr -> /proc/self/fd/2
lrwxrwxrwx  1 root root            15 May 18 15:54 stdin -> /proc/self/fd/0
lrwxrwxrwx  1 root root            15 May 18 15:54 stdout -> /proc/self/fd/1

Kuna iya yin hanyoyin haɗin gwiwa ta hanyar amfani da ln mai amfani a cikin Linux kamar yadda yake cikin misalin da ke ƙasa.

# touch file1.txt
# ln -s file1.txt /home/tecmint/file1.txt  [create symbolic link]
# ls -l /home/tecmint/ | grep "^l"         [List symbolic links]

A cikin misalin da ke sama, na ƙirƙiri fayil mai suna file1.txt a cikin /tmp directory, sannan na ƙirƙiri hanyar haɗin alama, /home/tecmint/file1.txt don nunawa /tmp/file1.txt.

Pipes ko Sunan bututu : Waɗannan fayiloli ne waɗanda ke ba da damar sadarwa tsakanin tsari ta hanyar haɗa abin da wani tsari ke fitarwa zuwa shigar da wani.

Bututu mai suna a zahiri fayil ne wanda tsari biyu ke amfani dashi don sadarwa tare da kowane kuma yana aiki azaman bututun Linux.

Lissafin bututun bututu a cikin kundin adireshi:

# ls -l | grep "^p"
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe1
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe2
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe3
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe4
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe5

Kuna iya amfani da utility mkfifo don ƙirƙirar bututu mai suna a cikin Linux kamar haka.

# mkfifo pipe1
# echo "This is named pipe1" > pipe1

A cikin misalin da ke sama, na ƙirƙiri wani bututu mai suna pipe1, sannan na mika masa wasu bayanai ta hanyar amfani da umarnin echo, bayan haka harsashin ya zama mara amfani yayin sarrafa abubuwan shigar.

Sa'an nan na bude wani harsashi kuma na gudanar da wani umarni don buga abin da aka wuce zuwa bututu.

# while read line ;do echo "This was passed-'$line' "; done<pipe1

Fayilolin Socket : Waɗannan fayiloli ne waɗanda ke ba da hanyar sadarwa tsakanin tsari, amma suna iya canja wurin bayanai da bayanai tsakanin aiwatar da aiki akan mahalli daban-daban.

Wannan yana nufin cewa kwasfa suna ba da bayanai da canja wurin bayanai tsakanin tsari da ke gudana akan inji daban-daban akan hanyar sadarwa.

Misali don nuna aikin sockets zai zama mai binciken gidan yanar gizon yana yin haɗi zuwa sabar yanar gizo.

# ls -l /dev/ | grep "^s"
srw-rw-rw-  1 root root             0 May 18 10:26 log

Wannan misali ne na soket da aka ƙirƙira a cikin C ta amfani da socket() kiran tsarin.

int socket_desc= socket(AF_INET, SOCK_STREAM, 0 );

A cikin abin da ke sama:

  1. AF_INET shine dangin adireshin (IPv4)
  2. SOCK_STREAM shine nau'in (haɗin yana daidaita tsarin TCP)
  3. 0 shine ka'idar (IP Protocol)

Don komawa zuwa fayil ɗin soket, yi amfani da socket_desc, wanda yayi daidai da mai siffanta fayil, kuma yi amfani da read() da rubuta() tsarin yana kira don karantawa da rubutawa daga soket bi da bi.

Waɗannan fayiloli ne na musamman waɗanda ke adana duka na yau da kullun da sauran fayiloli na musamman kuma an tsara su akan tsarin fayil ɗin Linux a cikin matsayi wanda ya fara daga tushen (/) directory.

Lissafin jeri a cikin kundin adireshi:

# ls -l / | grep "^d" 
drwxr-xr-x   2 root root  4096 May  5 15:49 bin
drwxr-xr-x   4 root root  4096 May  5 15:58 boot
drwxr-xr-x   2 root root  4096 Apr 11  2015 cdrom
drwxr-xr-x  17 root root  4400 May 18 10:27 dev
drwxr-xr-x 168 root root 12288 May 18 10:28 etc
drwxr-xr-x   3 root root  4096 Apr 11  2015 home
drwxr-xr-x  25 root root  4096 May  5 15:44 lib
drwxr-xr-x   2 root root  4096 May  5 15:44 lib64
drwx------   2 root root 16384 Apr 11  2015 lost+found
drwxr-xr-x   3 root root  4096 Apr 10  2015 media
drwxr-xr-x   3 root root  4096 Feb 23 17:54 mnt
drwxr-xr-x  16 root root  4096 Apr 30 16:01 opt
dr-xr-xr-x 223 root root     0 May 18 15:54 proc
drwx------  19 root root  4096 Apr  9 11:12 root
drwxr-xr-x  27 root root   920 May 18 10:54 run
drwxr-xr-x   2 root root 12288 May  5 15:57 sbin
drwxr-xr-x   2 root root  4096 Dec  1  2014 srv
dr-xr-xr-x  13 root root     0 May 18 15:54 sys
drwxrwxrwt  13 root root  4096 May 18 17:55 tmp
drwxr-xr-x  11 root root  4096 Mar 31 16:00 usr
drwxr-xr-x  12 root root  4096 Nov 12  2015 var

Kuna iya yin directory ta amfani da umarnin mkdir.

# mkdir -m 1666 linux-console.net
# mkdir -m 1666 news.linux-console.net
# mkdir -m 1775 linuxsay.com

Takaitawa

Ya kamata yanzu ku kasance da fahimtar dalilin da yasa duk abin da ke cikin Linux fayil ne da nau'ikan fayiloli daban-daban waɗanda zasu iya fita akan tsarin Linux ɗin ku.

Kuna iya ƙara ƙarin zuwa wannan ta hanyar karanta ƙarin game da nau'ikan fayil ɗin guda ɗaya kuma an ƙirƙira su. Ina fatan wannan jagorar ta sami taimako kuma ga kowace tambaya da ƙarin bayani da kuke son rabawa, da fatan za a bar sharhi kuma za mu tattauna ƙarin.