Spjegazzjoni ta 'Kollox huwa Fajl u Tipi ta' Fajls fil-Linux
Jekk int ġdid fil-Linux, jew użajtu għal ftit xhur, allura trid tkun smajt jew qrajt stqarrijiet bħal \Fil-Linux, kollox huwa Fajl.
Dan fil-fatt huwa minnu għalkemm huwa biss kunċett ta 'ġeneralizzazzjoni, f'Unix u d-derivattivi tiegħu bħal Linux, kollox jitqies bħala fajl. Jekk xi ħaġa mhix fajl, allura trid tkun qed taħdem bħala proċess fis-sistema.
Biex tifhem dan, ħu pereżempju l-ammont ta 'spazju fuq id-direttorju ta' l-għeruq tiegħek (/)
huwa dejjem ikkunsmat minn tipi differenti ta 'fajls Linux. Meta toħloq fajl jew tittrasferixxi fajl għas-sistema tiegħek, dan jokkupa ftit spazju fuq id-diska fiżika u jitqies li jkun f'format speċifiku (tip ta 'fajl).
U wkoll is-sistema Linux ma tiddistingwix bejn fajls u direttorji, iżda direttorji jagħmlu xogħol wieħed importanti, jiġifieri jaħżnu fajls oħra fi gruppi f'ġerarkija għal post faċli. Il-komponenti kollha tal-ħardwer tiegħek huma rappreżentati bħala fajls u s-sistema tikkomunika magħhom billi tuża dawn il-fajls.
L-idea hija deskrizzjoni importanti ta 'proprjetà kbira ta' Linux, fejn riżorsi ta 'input/output bħad-dokumenti tiegħek, direttorji (folders f'Mac OS X u Windows), tastiera, monitor, hard-drives, midja li tista' titneħħa, printers, modems, virtwali terminals u wkoll inter-proċess u komunikazzjoni tan-netwerk huma flussi ta 'bytes definiti mill-ispazju tas-sistema tal-fajls.
Vantaġġ notevoli li kollox huwa fajl huwa li l-istess sett ta 'għodod Linux, utilitajiet u APIs jistgħu jintużaw fuq ir-riżorsi ta' input/output ta 'hawn fuq.
Għalkemm kollox fil-Linux huwa fajl, hemm ċerti fajls speċjali li huma aktar minn sempliċi fajl pereżempju sokits u pajpijiet bl-isem.
X'inhuma t-tipi differenti ta 'fajls fil-Linux?
Fil-Linux hemm bażikament tliet tipi ta 'fajls:
- Fajls Ordinarji/Regolari
- Fajls speċjali
- Direttorji
Dawn huma fajls tad-dejta li fihom test, dejta jew struzzjonijiet tal-programm u huma l-aktar tip komuni ta’ fajls li tista’ tistenna li ssib fuq sistema Linux u jinkludu:
- Fajls li jinqraw
- Fajls binarji
- Fajls ta' l-immaġini
- Fajls kompressati u l-bqija.
Fajls speċjali jinkludu dan li ġej:
Fajls tal-Blokk : Dawn huma fajls tal-apparat li jipprovdu aċċess buffered għall-komponenti tal-ħardwer tas-sistema. Huma jipprovdu metodu ta 'komunikazzjoni ma' sewwieqa tal-apparat permezz tas-sistema tal-fajls.
Aspett wieħed importanti dwar il-fajls tal-blokki huwa li jistgħu jittrasferixxu blokk kbir ta 'dejta u informazzjoni f'ħin partikolari.
Elenkar ta' sockets tal-fajls tal-blokki f'direttorju:
# 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 ...
Fajls tal-karattri : Dawn huma wkoll fajls tal-apparat li jipprovdu aċċess serjali bla buffer għall-komponenti tal-ħardwer tas-sistema. Huma jaħdmu billi jipprovdu mod ta 'komunikazzjoni ma' apparati billi jittrasferixxu data karattru wieħed kull darba.
Elenkar ta' sockets tal-fajls tal-karattri f'direttorju:
# 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
Fajls ta' link simboliku : Link simboliku hija referenza għal fajl ieħor fis-sistema. Għalhekk, fajls ta 'link simboliku huma fajls li jindikaw fajls oħra, u jistgħu jew ikunu direttorji jew fajls regolari.
Elenkar ta' sockets ta' link simboliku f'direttorju:
# 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
Tista' tagħmel links simboliċi billi tuża l-utilità ln
fil-Linux bħal fl-eżempju hawn taħt.
# touch file1.txt # ln -s file1.txt /home/tecmint/file1.txt [create symbolic link] # ls -l /home/tecmint/ | grep "^l" [List symbolic links]
Fl-eżempju ta 'hawn fuq, ħloqt fajl imsejjaħ file1.txt
fid-direttorju /tmp, imbagħad ħloqt il-link simboliku, /home/tecmint/file1.txt biex tipponta lejn /tmp/file1.txt.
Pajpijiet jew pajpijiet bl-isem : Dawn huma fajls li jippermettu komunikazzjoni bejn il-proċessi billi jgħaqqdu l-output ta 'proċess wieħed mal-input ta' ieħor.
Pajp imsemmi huwa fil-fatt fajl li jintuża minn żewġ proċessi biex jikkomunikaw ma 'kull wieħed u jaġixxi bħala pajp Linux.
Elenkar tas-sokits tal-pajpijiet f'direttorju:
# 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
Tista 'tuża l-utilità mkfifo biex toħloq pajp imsemmi fil-Linux kif ġej.
# mkfifo pipe1 # echo "This is named pipe1" > pipe1
Fl-eżempju ta 'hawn fuq, ħloqt pajp bl-isem imsejjaħ pipe1
, imbagħad għadda xi dejta lilha bl-użu tal-kmand echo, wara li l-qoxra saret mhux interattiva waqt l-ipproċessar tal-input.
Imbagħad ftaħt qoxra oħra u mexxi l-kmand ieħor biex tipprintja dak li għadda lill-pajp.
# while read line ;do echo "This was passed-'$line' "; done<pipe1
Fajls tas-socket : Dawn huma fajls li jipprovdu mezz ta’ komunikazzjoni bejn il-proċessi, iżda jistgħu jittrasferixxu data u informazzjoni bejn proċess li jaħdem f’ambjenti differenti.
Dan ifisser li s-sokits jipprovdu trasferiment ta' data u informazzjoni bejn proċess li jaħdem fuq magni differenti fuq netwerk.
Eżempju biex juri x-xogħol tas-sokits ikun web browser li jagħmel konnessjoni ma' web server.
# ls -l /dev/ | grep "^s"
srw-rw-rw- 1 root root 0 May 18 10:26 log
Dan huwa eżempju ta' socket li jinħoloq f'C billi tuża s-sejħa tas-sistema socket()
.
int socket_desc= socket(AF_INET, SOCK_STREAM, 0 );
F'hawn fuq:
AF_INET
hija l-familja ta' indirizzi (IPv4)SOCK_STREAM
huwa t-tip (il-konnessjoni hija orjentata lejn il-protokoll TCP)0
huwa l-protokoll (Protokoll IP)
Biex tirreferi għall-fajl tas-socket, uża l-socket_desc
, li hija l-istess bħad-deskrittur tal-fajl, u uża read()
u write()
sejħiet tas-sistema biex taqra u tikteb mis-socket rispettivament.
Dawn huma fajls speċjali li jaħżnu kemm fajls ordinarji kif ukoll fajls speċjali oħra u huma organizzati fuq is-sistema tal-fajls Linux f'ġerarkija li tibda mid-direttorju għerq (/)
.
Elenkar tas-sokits f'direttorju:
# 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
Tista' tagħmel direttorju billi tuża l-kmand mkdir.
# mkdir -m 1666 linux-console.net # mkdir -m 1666 news.linux-console.net # mkdir -m 1775 linuxsay.com
Sommarju
Issa għandek tkun qed tifhem ċar għaliex kollox fil-Linux huwa fajl u t-tipi differenti ta 'fajls li jistgħu joħorġu fis-sistema Linux tiegħek.
Tista 'żżid aktar ma' dan billi taqra aktar dwar it-tipi ta 'fajls individwali u huma maħluqa. Nispera li din il-gwida ssibha ta' għajnuna u għal kwalunkwe mistoqsija u informazzjoni addizzjonali li tixtieq taqsam, jekk jogħġbok ħalli kumment u aħna niddiskutu aktar.