Linux-da “Hemme zat faýl” we faýllaryň görnüşleri
Linux üçin täze bolsaňyz ýa-da birnäçe aýlap ulanan bolsaňyz,\Linux-da hemme zat Faýl ýaly jümleleri eşiden ýa-da okan bolmaly.
Aslynda bu umumylaşdyrma düşünjesi bolsa-da, Unix-da we Linux ýaly emele gelenlerde hemme zat faýl hasaplanýar. Eger bir zat faýl däl bolsa, onda ulgamda bir proses hökmünde işlemeli.
Muňa düşünmek üçin kök (/)
katalogyňyzdaky boş ýeriň mydama dürli Linux faýllary tarapyndan sarp edilýändigini mysal alyň. Faýl döredeniňizde ýa-da ulgamyňyza bir faýl geçireniňizde, fiziki diskde belli bir ýer tutýar we belli bir formatda (faýl görnüşi) hasaplanýar.
Şeýle hem, Linux ulgamy faýllar bilen kataloglary tapawutlandyrmaýar, ýöne kataloglar bir möhüm işi ýerine ýetirýär, beýleki faýllary aňsat ýerde ýerleşmek üçin iýerarhiýada toparlara bölýär. Hardwarehli enjam enjamlaryňyz faýl görnüşinde görkezilýär we ulgam bu faýllary ulanyp olar bilen aragatnaşyk saklaýar.
Bu pikir, resminamalaryňyz, kataloglaryňyz (Mac OS X we Windows-daky bukjalar), klawiatura, monitor, gaty diskler, aýrylýan media, printerler, modemler, wirtual ýaly giriş/çykyş çeşmeleri bolan Linux-yň uly häsiýetiniň möhüm beýanydyr. terminallar, şeýle hem prosesara we tor aragatnaşygy faýl ulgamynyň giňişligi bilen kesgitlenen baýt akymlarydyr.
Faýl bolmagyň hemme zadynyň görnükli artykmaçlygy, ýokardaky giriş/çykyş çeşmelerinde şol bir Linux gurallarynyň, kömekçi enjamlaryň we API-leriň ulanylmagydyr.
Linux-daky hemme zat bir faýl bolsa-da, käbir rozetkalar we atlandyrylan turbalar ýaly bir faýl däl-de, käbir ýörite faýllar bar.
Linux-da faýllaryň dürli görnüşleri haýsylar?
Linux-da esasan üç görnüşli faýl bar:
- Adaty/Adaty faýllar
- filesörite faýllar
- Kataloglar
Bular faýl maglumatlarynda tekst, maglumatlar ýa-da programma görkezmeleri bar we olar Linux ulgamynda tapyp boljak iň köp ýaýran faýl görnüşidir we olar öz içine alýar:
- Okalýan faýllar
- Ikilik faýllar
- Surat faýllary
- Gysylan faýllar we ş.m.
Fileörite faýllar aşakdakylary öz içine alýar:
Blok faýllary: Bular ulgam enjamlarynyň böleklerine buferli girişi üpjün edýän enjam faýllary. Faýl ulgamy arkaly enjam draýwerleri bilen aragatnaşyk usulyny üpjün edýärler.
Blok faýllarynyň möhüm tarapy, belli bir wagtda maglumatlaryň we maglumatlaryň uly toplumyny geçirip bilmekidir.
Blok faýl rozetkalaryny katalogda görkezmek:
# 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 ...
Nyşan faýllary: Bular ulgam enjamlarynyň böleklerine päsgelçiliksiz yzygiderli girişi üpjün edýän enjam faýllarydyr. Enjamlar bilen aragatnaşyk usulyny bir gezekde bir belgi geçirmek arkaly işleýärler.
Belgi faýllarynyň rozetkalaryny katalogda görkezmek:
# 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
Simwoliki baglanyşyk faýllary: Simwoliki baglanyşyk ulgamdaky başga bir faýla salgylanma. Şonuň üçin simwoliki baglanyşyk faýllary beýleki faýllary görkezýän faýllar bolup, olar katalog ýa-da adaty faýl bolup biler.
Simwoliki baglanyşyk rozetkalaryny katalogda görkezmek:
# 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
Aşakdaky mysaldaky ýaly Linux-da ln
kömekçi programmasyny ulanyp simwoliki baglanyşyklar edip bilersiňiz.
# touch file1.txt # ln -s file1.txt /home/tecmint/file1.txt [create symbolic link] # ls -l /home/tecmint/ | grep "^l" [List symbolic links]
Aboveokardaky mysalda/tmp katalogynda file1.txt
atly bir faýl döretdim, soň /tmp/file1.txt görkezmek üçin simwoliki baglanyşyk, /home/tecmint/file1.txt döretdim.
Turbalar ýa-da atlandyrylan turbalar: Bular bir prosesiň çykyşyny beýlekisiniň girişine birikdirip, prosesara aragatnaşyga mümkinçilik berýän faýllar.
Ady tutulan turba aslynda her biri bilen habarlaşmak üçin iki proses tarapyndan ulanylýan we Linux turbasy hökmünde işleýän faýl.
Turbalaryň rozetkalaryny katalogda görkezmek:
# 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
Linux-da aşakdaky ýaly turba döretmek üçin mkfifo kömekçi programmasyny ulanyp bilersiňiz.
# mkfifo pipe1 # echo "This is named pipe1" > pipe1
Aboveokardaky mysalda, pipe1
atly turba döretdim, soň bolsa echo buýrugyny ulanyp, käbir maglumatlary geçirdim, şondan soň giriş işlenende gabyk interaktiw däldi.
Soň başga bir gabygy açdym we turba geçen zady çap etmek üçin başga bir buýrugy işledim.
# while read line ;do echo "This was passed-'$line' "; done<pipe1
Soket faýllary: Bular prosesara aragatnaşygyň serişdesini üpjün edýän faýllar, emma dürli gurşawda işleýän prosesiň arasynda maglumatlary we maglumatlary geçirip bilerler.
Bu, rozetkalaryň tordaky dürli maşynlarda işleýän prosesiň arasynda maglumat we maglumat geçirişini üpjün edýändigini aňladýar.
Soketleriň işini görkezmek üçin web serwerine birikýän web brauzeri bolar.
# ls -l /dev/ | grep "^s"
srw-rw-rw- 1 root root 0 May 18 10:26 log
Bu, rozetka()
ulgam jaňyny ulanyp, C-de döredilen rozetkanyň mysaly.
int socket_desc= socket(AF_INET, SOCK_STREAM, 0 );
Aboveokardakylarda:
-
AF_INET
salgy maşgalasy (IPv4) -
SOCK_STREAM
görnüşi (birikme TCP protokolyna gönükdirilen) -
0
protokol (IP protokol)
Soket faýlyna ýüz tutmak üçin faýlyň beýany bilen birmeňzeş socket_desc
ulanyň we read()
we write()
ulanyň. ulgam rozetkadan degişlilikde okamak we ýazmak üçin jaň edýär.
Bular adaty we beýleki ýörite faýllary saklaýan ýörite faýllar we Linux faýl ulgamynda kök (/)
katalogyndan başlap iýerarhiýada tertipleşdirilýär.
Katalogda rozetkalary sanawlamak:
# 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
Mkdir buýrugyny ulanyp katalog ýasap bilersiňiz.
# mkdir -m 1666 linux-console.net # mkdir -m 1666 news.linux-console.net # mkdir -m 1775 linuxsay.com
Gysgaça mazmun
Indi Linux-daky hemme zadyň bir faýl we Linux ulgamyňyzdan çykyp bilýän dürli görnüşli faýllardygyna indi düşünmeli.
Aýry-aýry faýl görnüşleri barada has köp okaň we olar döredilýär. Bu gollanmany peýdaly tapar we paýlaşmak isleýän soraglaryňyz we goşmaça maglumatlaryňyz üçin teswir ýazmagyňyzy haýyş edýäris we has giňişleýin ara alyp maslahatlaşarys.