Objaśnienie „Everything Is a Plik” i typy plików w Linux
- 4001
- 1115
- Tacjana Karpiński
Jeśli jesteś nowy w Linux lub używasz go przez kilka miesięcy, musisz usłyszeć lub przeczytać oświadczenia, takie jak „W Linux wszystko jest plik".
Wszystko jest plik i typy plików w LinuxPrzeczytaj także: 5 Przydatne polecenia do zarządzania typami plików Linux
Jest to w rzeczywistości prawdą, chociaż jest to tylko koncepcja uogólniająca, w UNIX i jej pochodnych, takich jak Linux, wszystko jest uważane za plik. Jeśli coś nie jest plik, musi być uruchomiony jako proces w systemie.
Aby to zrozumieć, weź na przykład ilość miejsca na korzeni (/)
Katalog jest zawsze zużywany przez różne typy plików Linux. Podczas tworzenia pliku lub przesyłania pliku do systemu zajmuje on trochę miejsca na dysku fizycznym i jest uważany za określony format (typ pliku).
A także system Linux nie rozróżnia plików i katalogów, ale katalogi wykonują jedno ważne zadanie, czyli przechowuj inne pliki w grupach w hierarchii dla łatwej lokalizacji. Wszystkie komponenty sprzętowe są reprezentowane jako pliki, a system komunikuje się z nimi za pomocą tych plików.
Pomysł jest ważnym opisem świetnej właściwości Linux, w której zasoby wejściowe/wyjściowe, takie jak dokumenty, katalogi (foldery w Mac OS X i Windows), klawiatura, monitor, jazda twardych, nośniki usuwające, drukarki, modemy, wirtualne, wirtualne, wirtualne Terminale, a także komunikacja między procesami i komunikacją sieciową są strumieniami bajtów zdefiniowanych przez przestrzeń systemu plików.
Godną uwagi zaletą tego, że wszystko jest plik, jest to, że ten sam zestaw narzędzi, narzędzi i interfejsów API Linux może być używany w powyższych zasobach wejściowych/wyjściowych.
Chociaż wszystko w Linux jest plik, istnieją pewne specjalne pliki, które są czymś więcej niż tylko plik na przykład gniazda i nazwane rury.
Jakie są różne typy plików w Linux?
W Linux są zasadniczo trzy typy plików:
- Zwykłe/zwykłe pliki
- Pliki specjalne
- Katalogi
Zwykłe/zwykłe pliki
Są to dane z plików zawierają instrukcje tekstu, danych lub programu i są najczęstszym typem plików, których można się spodziewać w systemie Linux i obejmują one:
- Czytelne pliki
- Pliki binarne
- Pliki obrazu
- Skompresowane pliki i tak dalej.
Pliki specjalne
Pliki specjalne zawierają następujące:
Blokuje pliki : Są to pliki urządzeń, które zapewniają buforowany dostęp do komponentów sprzętu systemowego. Zapewniają metodę komunikacji z sterownikami urządzeń za pośrednictwem systemu plików.
Jeden ważny aspekt o blok Pliki polega na tym, że mogą one przesyłać duży blok danych i informacji w danym momencie.
Wymień Gniazda plików blokowych w katalogu:
# ls -l /dev | grep „^b”
Przykładowy wyjście
BRW-RW ---- 1 Dysk korzeniowy 7, 0 maja 18 10:26 LOOP0 BRW-RW ---- 1 Dysk korzeniowy 7, 1 maja 18 10:26 Loop1 Brw-Rw ---- 1 Dysk root 7, 2 maja 18 10:26 LOOP2 BRW-RW ---- 1 Dysk korzeniowy 7, 3 maja 18 10:26 LOOP3 BRW-RW ---- 1 Dysk root 7, 4 maja 18 10:26 Brw-Rw-- -1 Dysk korzeniowy 7, 5 maja 18 10:26 Loop5 Brw-Rw ---- 1 Dysk root 7, 6 maja 18 10:26 Loop6 Brw-Rw ---- 1 Dysk root 7, 7 maja 18 10: 26 LOOP7 BRW-RW ---- 1 Dysk korzeniowy 1, 0 maja 18 10:26 RAM0 BRW-RW ---- 1 Dysk główny 1, 1 maja 18 10:26 RAM1 BRW-RW ---- 1 Dysk rootowy 1, 10 maja 18 10:26 RAM10 BRW-RW ---- 1 Dysk główny 1, 11 maja 18 10:26 Ram11 Brw-RW ---- 1 Dysk root 1, 12 maja 18 10:26 RAM12 BRW-RW ---- 1 Dysk korzeniowy 1, 13 maja 18 10:26 RAM13 BRW-RW ---- 1 Dysk root 1, 14 maja 18 10:26 RAM14 BRW-RW ---- 1 Dysk root 1, 15 maja 18 10:26 RAM15 BRW-RW ---- 1 Dysk root 1, 2 maja 18 10:26 RAM2 BRW-RW ---- 1 Dysk root 1, 3 maja 18 10:26 RAM3 BRW-RW ---- 1 Dysk korzeniowy 1, 4 maja 18 10:26 RAM4 BRW-RW ---- 1 Dysk korzeniowy 1, 5 maja 18 10:26 RAM5…
Pliki znaków : Są to również pliki urządzeń, które zapewniają nieskórny dostęp do komponentów sprzętowych systemowych. Pracują, zapewniając sposób komunikacji z urządzeniami poprzez przesyłanie danych o jeden znak na raz.
Wymień Gniazda plików znaków w katalogu:
# ls -l /dev | grep „^c”
Przykładowy wyjście
CRW ------- 1 Root root 10, 235 maja 18:54 Autofs CRW ------- 1 Root 10, 234 maja 18 15:54 Btrfs-Control CRW ------- 1 root root 5, 1 maja 18 10:26 Konsola CRW ------- 1 Root root 10, 60 maja 18 10:26 CPU_DMA_LATENCY CRW ------- 1 root root 10, 203 maja 18 15: 54 CUSE CRW ------- 1 root 10, 61 maja 18 10:26 Ecryptfs CRW-RW ---- 1 Korzenie wideo 29, 0 maja 18 10:26 FB0 CRW-RW-RW- 1 root root root root 1, 7 maja 18 10:26 Pełny CRW-RW-RW- 1 Root root 10, 229 maja 18 10:26 FUSE CRW ------- 1 Root root 251, 0 maja 18 10:27 Hidraw0 Crw-- ----- 1 Root root 10, 228 maja 18 10:26 HPET CRW-R-R-- 1 Root root 1, 11 maja 18 10:26 kmsg crw-rw ----+ 1 root root 10, 232 maja 18 10:26 KVM CRW ------- 1 Root 10, 237 maja 18 10:26 CRW-CRW ------- 1 Root 10, 227 maja 18 10:26 McElog CRW ------- 1 Root root 249, 0 maja 18 10:27 Media0 Crw ------- 1 root 250, 0 maja 18:26 MEI0 CRW-R ----- 1 KMEM KMEM 1, 1 maja 18 10:26 MEM CRW ------- 1 root 10, 57 maja 18 10:26 Memory_bandwidth CRW ------- 1 root 10, 59 maja 18:26 Network_latency CRW ------- 1 root root 10, 58 maja 18 10:26 Network_Throughput Crw-Rw-Rw- 1 root root 1, 3 maja 18 10:26 NULL CRW-R ----- 1 KMEM 1, 4 maja 18 10:26 Port CRW ------- 1 Root root 108, 0 maja 18 10:26 PPP CRW ------- 1 Root 10, 1 maja 18 10:26 Psaux CRW-RW-RW- 1 Root Tty 5 , 2 maja 18 17:40 PTMX CRW-RW-RW- 1 Root root 1, 8 maja 18 10:26 losowy
Symboliczne pliki linków : Link symboliczny to odniesienie do innego pliku w systemie. Dlatego symboliczne pliki linków są plikami wskazującymi na inne pliki i mogą to być katalogi lub zwykłe pliki.
Wymień symboliczne gniazda linków w katalogu:
# ls -l / dev / | grep „^l”
Przykładowy wyjście
LRWXRWXRWX 1 root root 3 maja 18 10:26 CDROM -> SR0 LRWXRWXRWX 1 root root 11 maja 18:54 rdzeń ->/proc/kcore lrwxrwxrwx 1 root root 13 maja 18 15:54 FD ->/proc/self/fd LRWXRWXRWX 1 root root 4 maja 18 10:26 RTC -> rTC0 LRWXRWXRWX 1 root root 8 maja 18 10:26 SHM ->/run/shm lRwxRwxrwx 1 root root 15 maja 18 15:54 Stderr ->/proc/self/fd /2 LRWXRWXRWX 1 root root 15 maja 18 15:54 stdin ->/proc/self/fd/0 lwxrwxrwx 1 root 15 maja 18 15:54 stdout ->/proc/self/fd/1
Możesz tworzyć symboliczne linki za pomocą Ln
narzędzie w Linux jak w poniższym przykładzie.
# Touch File1.txt # ln -s file1.txt/home/tecmint/file1.TXT [Utwórz link symboliczny] # ls -l/home/tecmint/| GREP „^l” [Lista symbolicznych linków]
W powyższym przykładzie utworzyłem plik o nazwie plik 1.tekst
W /TMP katalog, a następnie utworzył link symboliczny, /home/tecMint/File1.tekst wskazać /tmp/file1.tekst.
Rury lub nazwane rury : Są to pliki, które umożliwiają komunikację między procesami, łącząc wyjście jednego procesu z wejściem drugiego.
Nazwana rura to w rzeczywistości plik używany przez dwa procesy do komunikacji z każdym i działa jak rura Linuksa.
Lista rur gniazda w katalogu:
# ls -l | grep „^p”
Przykładowy wyjście
PRW-RW-R-- 1 TECMINT TECMINT 0 MAJA 18 17:47 PURE1 PRW-RW-R-- 1 TECMINT TECMINT 0 MAJA 18 17:47 PURE2 PRW-RW-R-- 1 TECMINT TECMINT 0 MAJ 18 17:47 PIPE3 PRW-RW-R-- 1 TECMINT TECMINT 0 MAJA 18 17:47 PIPE4 PRW-RW-R-- 1 TECMINT TECMINT 0 maja 18:47 Pipe5
Możesz użyć Mkfifo narzędzie do utworzenia nazwanej rury w Linux w następujący sposób.
# Mkfifo Pipe1 # echo „To nazywa się Pipe1”> Pipe1
W powyższym przykładzie stworzyłem nazwaną rurę o nazwie Pipe1
, Następnie przekazałem do niego niektóre dane za pomocą polecenia Echo, po tym powłokę stała się interaktywna ONZ podczas przetwarzania danych wejściowych.
Potem otworzyłem kolejną skorupę i uruchomiłem inne polecenie, aby wydrukować to, co zostało przekazane do rury.
# podczas przeczytania linii; do echo „To zostało przekazane-„ $ line ””; zrobionePliki gniazda : Są to pliki, które dostarczają środków komunikacji między procesami, ale mogą przesyłać dane i informacje między procesem działającym w różnych środowiskach.
Oznacza to, że gniazda zapewniają przesyłanie danych i informacji między procesem działającym na różnych maszynach w sieci.
Przykładem pokazania pracy gniazda byłaby przeglądarka internetowa nawiązująca połączenie z serwerem WWW.
# ls -l / dev / | Grep „^s”Przykładowy wyjście
SRW-RW-RW- 1 Root root 0 maja 18:26 LogTo jest przykład tworzenia gniazda C za pomocą
gniazdo elektryczne()
wywołanie systemowe.int Socket_Desc = Socket (af_inet, sock_stream, 0);W powyższym:
AF_INET
to rodzina adresów (IPv4)Sock_stream
jest typem (połączenie jest zorientowane na protokół TCP)0
jest protokołem (protokół IP)Aby odnieść się do pliku gniazda, użyj
Socket_desc
, który jest taki sam jak deskryptor pliku i używajCzytać()
Ipisać()
wywoływanie systemu do odczytu i zapisu odpowiednio z gniazda.Katalogi
Są to specjalne pliki, które przechowują zarówno zwykłe, jak i inne specjalne pliki i są zorganizowane w systemie plików Linux w hierarchii, zaczynając od korzenia
(/)
informator.Lista gniazd w katalogu:
# ls -l / | grep „^d”Przykładowy wyjście
DRWXR-XR-X 2 Root root 4096 MAJ 5 15:49 Bin Drwxr-Xr-X 4 root root 4096 maja 15:58 BOOT DRWXR-XR-X 2 Korzenie root 4096 kwietnia 2015 CDROM DRWXR-XR-X 17 Root root 4400 maja 18 10:27 Dev Drwxr-xr-X 168 Root root 12288 18 MAY 10:28 itd. DRWXR-XR-X 3 Root 4096 kwietnia 2015 Home Drwxr-Xr-X 25 root 4096 maja 5 15:44 Lib Drwxr-xr-x 2 Root root 4096 maja 5:44 Lib64 Drwx ------ 2 Root root 16384 Kwiecień 11 2015 Zagubiony+Znaleziono DRWXR-XR-X 3 Root 4096 kwietnia 10 2015 Media Drwxr-xr- x 3 Root root 4096 23 lutego 17:54 mnt drwxr-xr-x 16 root 4096 kwietnia 16:01 Opt Dr-xr-xr-x 223 root 0 maja 18 15:54 Proc Drwx ------- 19 Root root 4096 kwietnia 9 11:12 root Drwxr-xr-x 27 Root 920 maja 18 10:54 Uruchom DRWXR-xr-X 2 Root root 12288 MAJ 15:57 SBIN DRWXR-XR-X 2 Root root 4096 DEC 4096 DEC 1 2014 SRV DR-XR-XR-X 13 Root 0 maja 18 15:54 SYS DRWXRWXRWT 13 Root root 4096 18:55 TMP DRWXR-XR-x 11 Root root 4096 marca 31 16:00 USR DRWXR-XR-X 12 root 4096 listopada 12 2015 VarMożesz zrobić katalog za pomocą Mkdir Komenda.
# mkdir -m 1666 Tecmint.com # mkdir -m 1666 Wiadomości.Tecmint.com # mkdir -m 1775 Linuxsay.comStreszczenie
Powinieneś teraz jasno zrozumieć, dlaczego wszystko w Linux jest plik i różne typy plików, które mogą wyjść z systemu Linux.
Możesz dodać do tego więcej, czytając więcej o poszczególnych typach plików i są one tworzone. Mam nadzieję, że ten przewodnik uzna za pomocne i w przypadku wszelkich pytań i dodatkowych informacji, którymi chciałbyś się podzielić, zostaw komentarz, a my omówimy więcej.
- « Jak używać operatorów porównawczych z AWK w Linux - część 4
- Przewodnik instalacji stacji roboczej Fedora 24 z zrzutami ekranu »