![12 jocuri uimitoare bazate pe terminale pentru entuziaștii Linux](/f/814582c97aa089e74ea3de5e06cb7a6a.png?width=100&height=100)
Dacă sunteți nou în Linux sau l-ați folosit de câteva luni, atunci trebuie să fi auzit sau să citiți afirmații precum „În Linux, totul este un fișier”.
Citește și:5 Comenzi utile pentru a gestiona tipurile de fișiere Linux
Acest lucru este adevărat, deși este doar un concept de generalizare, în Unix și în derivatele sale, cum ar fi Linux, totul este considerat un fișier. Dacă ceva nu este un fișier, atunci acesta trebuie să ruleze ca proces pe sistem.
Pentru a înțelege acest lucru, luați de exemplu cantitatea de spațiu din rădăcină (/)
directorul este întotdeauna consumat de diferite tipuri de fișiere Linux. Când creați un fișier sau transferați un fișier în sistemul dvs., acesta ocupă puțin spațiu pe discul fizic și este considerat a fi într-un format specific (tip de fișier).
Și, de asemenea, sistemul Linux nu face diferența între fișiere și directoare, dar directoarele fac o treabă importantă, adică să stocheze alte fișiere în grupuri într-o ierarhie pentru o locație ușoară. Toate componentele dvs. hardware sunt reprezentate ca fișiere și sistemul comunică cu acestea folosind aceste fișiere.
Ideea este o descriere importantă a unei proprietăți excelente a Linux-ului, unde resursele de intrare / ieșire, cum ar fi documentele, directoarele (folderele din Mac OS X și Windows), tastatura, monitorul, hard disk-urile, suporturile amovibile, imprimantele, modemurile, terminalele virtuale și, de asemenea, comunicarea inter-proces și de rețea sunt fluxuri de octeți definiți de fișier spațiul sistemului.
Un avantaj notabil al faptului că totul este un fișier este că același set de instrumente, utilitare și API-uri Linux poate fi utilizat pe resursele de intrare / ieșire de mai sus.
Deși totul în Linux este un fișier, există anumite fișiere speciale care sunt mai mult decât un fișier de exemplu prize și țevi numite.
În Linux există practic trei tipuri de fișiere:
Acestea sunt date despre fișiere care conțin text, date sau instrucțiuni de program și sunt cel mai comun tip de fișiere pe care vă puteți aștepta să le găsiți pe un sistem Linux și includ:
Fișierele speciale includ următoarele:
Blocați fișierele: Acestea sunt fișiere de dispozitiv care oferă acces tamponat la componentele hardware ale sistemului. Acestea oferă o metodă de comunicare cu driverele de dispozitiv prin intermediul sistemului de fișiere.
Un aspect important despre bloc fișierele înseamnă că pot transfera un bloc mare de date și informații la un moment dat.
Listarea prizelor de fișiere bloc într-un director:
# ls -l / dev | grep "^ b"
brw-rw 1 root disk 7, 0 18 mai 10:26 loop0. brw-rw 1 root disk 7, 1 mai 18 10:26 loop1. brw-rw 1 root disk 7, 2 mai 18 10:26 loop2. brw-rw 1 root disk 7, 3 mai 18 10:26 loop3. brw-rw 1 root disk 7, 4 mai 18 10:26 loop4. brw-rw 1 root disk 7, 5 mai 18 10:26 bucla5. brw-rw 1 root disk 7, 6 mai 18 10:26 bucla6. brw-rw 1 root disk 7, 7 mai 18 10:26 loop7. brw-rw 1 root disk 1, 0 18 mai 10:26 ram0. brw-rw 1 root disk 1, 1 mai 18 10:26 ram1. brw-rw 1 root disk 1, 10 mai 18 10:26 ram10. brw-rw 1 root disk 1, 11 mai 18 10:26 ram11. brw-rw 1 root disk 1, 12 mai 18 10:26 ram12. brw-rw 1 root disk 1, 13 mai 18 10:26 ram13. brw-rw 1 root disk 1, 14 mai 18 10:26 ram14. brw-rw 1 root disk 1, 15 mai 18 10:26 ram15. brw-rw 1 root disk 1, 2 mai 18 10:26 ram2. brw-rw 1 root disk 1, 3 mai 18 10:26 ram3. brw-rw 1 root disk 1, 4 mai 18 10:26 ram4. brw-rw 1 root disk 1, 5 mai 18 10:26 ram5...
Fișiere de caractere: Acestea sunt, de asemenea, fișiere de dispozitiv care oferă acces serial fără tampon la componentele hardware ale sistemului. Acestea funcționează oferind o modalitate de comunicare cu dispozitivele prin transferul de date câte un caracter pe rând.
Listarea prizelor de fișiere de caractere într-un director:
# ls -l / dev | grep "^ c"
crw 1 rădăcină rădăcină 10, 235 18 mai 15:54 autofs. crw 1 root root 10, 234 18 mai 15:54 btrfs-control. crw 1 rădăcină rădăcină 5, 1 18 mai 10:26 consolă. crw 1 root root 10, 60 18 mai 10:26 cpu_dma_latency. crw 1 rădăcină rădăcină 10, 203 18 mai 15:54 cauza. crw 1 rădăcină rădăcină 10, 61 mai 18 10:26 ecryptfs. crw-rw 1 root video 29, 0 18 mai 10:26 fb0. crw-rw-rw- 1 rădăcină rădăcină 1, 7 mai 18 10:26 complet. crw-rw-rw- 1 rădăcină rădăcină 10, 229 18 mai 10:26 fuzibil. crw 1 rădăcină rădăcină 251, 0 18 mai 10:27 hidraw0. crw 1 rădăcină rădăcină 10, 228 18 mai 10:26 hpet. crw-r - r-- 1 rădăcină rădăcină 1, 11 mai 18 10:26 kmsg. crw-rw + 1 rădăcină rădăcină 10, 232 18 mai 10:26 kvm. crw 1 root root 10, 237 18 mai 10:26 loop-control. crw 1 rădăcină rădăcină 10, 227 18 mai 10:26 mcelog. crw 1 root root 249, 0 18 mai 10:27 media0. crw 1 rădăcină rădăcină 250, 0 18 mai 10:26 mei0. crw-r 1 rădăcină kmem 1, 1 mai 18 10:26 mem. crw 1 root root 10, 57 mai 18 10:26 memory_bandwidth. crw 1 root root 10, 59 18 mai 10:26 network_latency. crw 1 root root 10, 58 18 mai 10:26 network_throughput. crw-rw-rw- 1 rădăcină rădăcină 1, 3 mai 18 10:26 nul. crw-r 1 root kmem 1, 4 mai 18 10:26 port. crw 1 rădăcină rădăcină 108, 0 18 mai 10:26 ppp. crw 1 rădăcină rădăcină 10, 1 mai 18 10:26 psaux. crw-rw-rw- 1 rădăcină tty 5, 2 mai 18 17:40 ptmx. crw-rw-rw- 1 rădăcină rădăcină 1, 8 mai 18 10:26 aleatoriu.
Fișiere de legături simbolice: O legătură simbolică este o referință la un alt fișier din sistem. Prin urmare, fișierele de legătură simbolică sunt fișiere care indică alte fișiere și pot fi fie directoare, fie fișiere obișnuite.
Listarea prizelor de legături simbolice într-un director:
# ls -l / dev / | grep "^ l"
lrwxrwxrwx 1 rădăcină rădăcină 3 18 mai 10:26 cdrom -> sr0. lrwxrwxrwx 1 root root 11 mai 18 15:54 core -> / proc / kcore. lrwxrwxrwx 1 rădăcină rădăcină 13 18 mai 15:54 fd -> / proc / self / fd. lrwxrwxrwx 1 rădăcină rădăcină 4 18 mai 10:26 rtc -> rtc0. lrwxrwxrwx 1 rădăcină rădăcină 8 mai 18 10:26 shm -> / run / shm. lrwxrwxrwx 1 root root 15 Mai 18 15:54 stderr -> / proc / self / fd / 2. lrwxrwxrwx 1 rădăcină rădăcină 15 mai 18 15:54 stdin -> / proc / self / fd / 0. lrwxrwxrwx 1 root root 15 Mai 18 15:54 stdout -> / proc / self / fd / 1.
Puteți crea legături simbolice folosind ln
utilitar în Linux ca în exemplul de mai jos.
# touch file1.txt. # ln -s file1.txt /home/tecmint/file1.txt [creați un link simbolic] # ls -l / home / tecmint / | grep "^ l" [Lista link-uri simbolice]
În exemplul de mai sus, am creat un fișier numit file1.txt
în /tmp director, apoi a creat legătura simbolică, /home/tecmint/file1.txt a arăta spre /tmp/file1.txt.
Țevi sau țevi denumite: Acestea sunt fișiere care permit comunicarea inter-proces prin conectarea ieșirii unui proces la intrarea altuia.
O conductă numită este de fapt un fișier care este utilizat de două procese pentru a comunica cu fiecare și acționează ca o conductă Linux.
Listarea prizelor de țevi într-un director:
# ls -l | grep "^ p"
prw-rw-r-- 1 tecmint tecmint 0 18 mai 17:47 pipe1. prw-rw-r-- 1 tecmint tecmint 0 18 mai 17:47 pipe2. prw-rw-r-- 1 tecmint tecmint 0 18 mai 17:47 pipe3. prw-rw-r-- 1 tecmint tecmint 0 18 mai 17:47 pipe4. prw-rw-r-- 1 tecmint tecmint 0 18 mai 17:47 pipe5.
Puteți utiliza mkfifo utilitar pentru a crea o țeavă numită în Linux după cum urmează.
# mkfifo pipe1. # echo "Aceasta se numește pipe1"> pipe1.
În exemplul de mai sus, am creat o țeavă numită numită pipe1
, apoi i-am transmis câteva date folosind comanda ecou, după aceea, shell-ul a devenit neinteractiv în timpul procesării intrării.
Apoi am deschis un alt shell și am executat o altă comandă pentru a imprima ceea ce a fost trecut la pipe.
# în timp ce citiți linia; faceți ecou "Acest lucru a fost trecut - '$ linie'"; TerminatFișiere socket: Acestea sunt fișiere care oferă un mijloc de comunicare între procese, dar pot transfera date și informații între procesele care rulează pe diferite medii.
Aceasta înseamnă că soclurile asigură transferul de date și informații între procesele care rulează pe diferite mașini dintr-o rețea.
Un exemplu pentru a arăta funcționarea prizelor ar fi un browser web care face o conexiune la un server web.
# ls -l / dev / | grep "^ s"Eșantion de ieșire
srw-rw-rw- 1 rădăcină rădăcină 0 18 mai 10:26 jurnal.Acesta este un exemplu de socket create in C prin utilizarea
priză()
apel de sistem.int socket_desc = socket (AF_INET, SOCK_STREAM, 0);În cele de mai sus:
AF_INET
este familia de adrese (IPv4)SOCK_STREAM
este tipul (conexiunea este orientată spre protocolul TCP)0
este protocolul (Protocolul IP)Pentru a vă referi la fișierul socket, utilizați
socket_desc
, care este același cu descriptorul fișierului și utilizațicitit()
șiscrie()
apeluri de sistem pentru a citi și a scrie din socket, respectiv.Directoare
Acestea sunt fișiere speciale care stochează atât fișiere obișnuite, cât și alte fișiere speciale și sunt organizate pe sistemul de fișiere Linux într-o ierarhie începând de la rădăcină
(/)
director.Listarea prizelor într-un director:
# ls -l / | grep "^ d"Eșantion de ieșire
drwxr-xr-x 2 rădăcină rădăcină 4096 5 mai 15:49 coș. drwxr-xr-x 4 rădăcină rădăcină 4096 5 mai 15:58 boot. drwxr-xr-x 2 rădăcină rădăcină 4096 11 apr 2015 cdrom. drwxr-xr-x 17 rădăcină rădăcină 4400 18 mai 10:27 dev. drwxr-xr-x 168 rădăcină rădăcină 12288 18 mai 10:28 etc. drwxr-xr-x 3 rădăcină rădăcină 4096 11 aprilie 2015 acasă. drwxr-xr-x 25 rădăcină rădăcină 4096 5 mai 15:44 lib. drwxr-xr-x 2 rădăcină rădăcină 4096 5 mai 15:44 lib64. drwx 2 root root 16384 11 apr 2015 pierdut + găsit. drwxr-xr-x 3 rădăcină rădăcină 4096 10 aprilie 2015 media. drwxr-xr-x 3 rădăcină rădăcină 4096 23 februarie 17:54 mnt. drwxr-xr-x 16 rădăcină rădăcină 4096 30 apr 16:01 opt. dr-xr-xr-x 223 rădăcină rădăcină 0 18 mai 15:54 proc. drwx 19 rădăcină rădăcină 4096 9 aprilie 11:12 rădăcină. drwxr-xr-x 27 rădăcină rădăcină 920 18 mai 10:54 run. drwxr-xr-x 2 rădăcină rădăcină 12288 5 mai 15:57 sbin. drwxr-xr-x 2 rădăcină rădăcină 4096 1 Dec 2014 srv. dr-xr-xr-x 13 rădăcină rădăcină 0 18 mai 15:54 sys. drwxrwxrwt 13 rădăcină rădăcină 4096 18 mai 17:55 tmp. drwxr-xr-x 11 rădăcină rădăcină 4096 31 mar 16:00 usr. drwxr-xr-x 12 rădăcină rădăcină 4096 12 noiembrie 2015 var.Puteți crea un director folosind mkdir comanda.
# mkdir -m 1666 tecmint.com. # mkdir -m 1666 news.tecmint.com. # mkdir -m 1775 linuxsay.com.rezumat
Acum ar trebui să înțelegeți de ce totul în Linux este un fișier și diferitele tipuri de fișiere care pot ieși din sistemul dvs. Linux.
Puteți adăuga mai multe la aceasta citind mai multe despre tipurile de fișiere individuale și acestea sunt create. Sper că acest ghid vă va fi de ajutor și pentru orice întrebări și informații suplimentare pe care ați dori să le împărtășiți, vă rugăm să lăsați un comentariu și vom discuta mai multe.