„Ile jest typów plików w Linuxie/Unixie i czym one są?” Jest to częste pytanie każdej osoby, która zaczyna uczyć się Linuksa. O.K, dlaczego tak bardzo ważna jest znajomość typów plików?

Odpowiedź: To dlatego, że Linux traktuje każdą rzecz jako plik. Kiedy kiedykolwiek zaczniesz pracować na Linuksie/Uniksie musisz radzić sobie z różnymi typami plików (linux/unix) aby efektywnie nimi zarządzać

Ile typów plików jest w Linuksie/Uniksie?

Domyślnie Unix ma tylko 3 typy plików. Są to…

Pliki zwykłe

  1. Pliki katalogowe

  2. Pliki specjalne(Ta kategoria ma 5 podtypów.)

W praktyce mamy więc 7 typów(1+1+5) plików w Linux/Unix. A w Solarisie mamy 8 typów. I możesz zobaczyć wskazanie typu pliku w lewej części polecenia „ls -l”.

Tutaj są te typy plików.

  1. Plik zwykły(-.) 
  2. Pliki katalogowe(d) 

Pliki specjalne

  1. Plik blokowy(b)
  2. Plik urządzenia znakowego(c)
  3. Plik rurowy o nazwie lub po prostu rurowy file(p)
  4. Symbolic link file(l)
  5. Socket file(s)

Dla twojej informacji jest jeszcze jeden typ pliku zwany door file(D) który jest obecny w Sun Solaris jak wspomniano wcześniej. Door jest specjalnym plikiem do komunikacji międzyprocesowej pomiędzy klientem a serwerem (w sumie 8 typów w maszynach Unix). Będziemy uczyć się o różnych typach plików, jak poniżej sekwencji dla każdego typu pliku.

Definicja i informacje o typie pliku
Jak utworzyć określony typ pliku
Jak lista/widzieć określony typ pliku

Regularny typ pliku wyjaśnione w Linuksie

To są pliki, które są wskazane z „-” w ls -l wyjście polecenia na początku linii. I te pliki są.

1. Plik czytelny lub
2. Plik binarny lub
3. Pliki obrazów lub
4. Pliki skompresowane itp.

Jak tworzyć zwykłe pliki w systemie Linux/Unix?
Ans: Użyj polecenia touch/vi i operatorów przekierowania itp.

Jak możemy wylistować pliki regularne?

ls -l | grep ^- 

Przykładowa lista plików regularnych :

-rw-r--r-- 1 krishna krishna 20986522 2010-01-31 13:48 test.wmv
-rw-r--r-- 1 krishna krishna 173448 2010-01-30 21:20 Transformers-Teaser-Wallpaper-310.jpg
-r-xr-xr-x 1 root root 135168 2009-12-12 19:14 VIDEO_TS.VOB
-rw-r--r-- 1 krishna krishna 2113536 2009-12-01 13:32 Aditya 365 - Janavule.mp3
-rwxrwxrwx 1 root root 168 2010-02-14 14:12 xyz.sh

Typ pliku katalogowego wyjaśniony w Linux/Unix

Ten typ plików zawiera zwykłe pliki/foldery/specjalne pliki przechowywane na fizycznym urządzeniu. I ten typ plików będzie w niebieskim kolorze z linkiem większym lub równym 2.

Jak możemy je wylistować w moim obecnym katalogu roboczym? 
ls -l | grep ^d

Przykładowe listowanie katalogów.

drwxr-xr-x 2 surendra surendra 4096 2010-01-19 18:37 bin
drwxr-xr-x 5 surendra surendra 4096 2010-02-15 18:46 Desktop
drwxr-xr-x 2 surendra surendra 4096 2010-01-18 14:36 Documents
drwxr-xr-x 2 surendra surendra 4096 2010-02-13 17:45 Downloads

Jak je utworzyć?
Ans : Użyj polecenia mkdir

Typ pliku blokowego w Linuksie

Te pliki są plikami sprzętowymi większość z nich jest obecna w /dev.

Jak je utworzyć?
Ans : Użyj polecenia fdisk lub utwórz wirtualną partycję.

Jak możemy je wylistować w moim obecnym katalogu roboczym?

ls -l | grep ^b

Przykładowa lista plików Block (abyś mógł zobaczyć te pliki, znajdują się one w /dev).

brw-rw---- 1 root disk 8, 1 2010-02-15 09:35 sda1
brw-rw---- 1 root disk 8, 2 2010-02-15 09:35 sda2
brw-rw---- 1 root disk 8, 5 2010-02-15 09:35 sda5

Pliki urządzeń znakowych w Linuksie

Zapewniają szeregowy strumień wejścia lub wyjścia.Twoje terminale są klasycznym przykładem dla tego typu plików.

Jak możemy wylistować pliki znakowe w moim obecnym katalogu roboczym?

ls -l | grep ^c

Przykładowy listing plików znakowych (znajdujących się w /dev)

crw-rw-rw- 1 root tty 5, 0 2010-02-15 16:52 tty
crw--w---- 1 root root 4, 0 2010-02-15 09:35 tty0
crw------- 1 root root 4, 1 2010-02-15 09:35 tty1

Pliki rurowe w systemie Linux/Unix

Inną nazwą rury jest „nazwana” rura, która jest czasami nazywana FIFO. FIFO to skrót od „First In, First Out” i odnosi się do właściwości, że kolejność bajtów wchodzących jest taka sama jak wychodzących. Nazwa” nazwanego potoku jest w rzeczywistości nazwą pliku w systemie plików.

Jak je tworzyć?
Ans: Użyj polecenia mkfifo.

Jak możemy wyświetlić listę plików znakowych w moim obecnym katalogu roboczym?

ls -l | grep ^p

Przykładowa lista plików rur

prw-r----- 1 root root 0 2010-02-15 09:35 /dev/.initramfs/usplash_outfifo
prw-r----- 1 root root 0 2010-02-15 09:35 /dev/.initramfs/usplash_fifo
prw------- 1 syslog syslog 0 2010-02-15 15:38 /var/run/rsyslog/kmsg

symboliczne pliki odnośników w Linuksie

Są to pliki powiązane z innymi plikami. Są one albo katalogiem/plikiem zwykłym. Numer inode dla tego pliku i jego plików nadrzędnych jest taki sam. Istnieją dwa rodzaje plików linków dostępnych w systemie Linux/Unix tj. miękki i twardy link.

Jak je tworzyć?
Ans : użyj komendy ln

Jak możemy wyświetlić listę połączonych plików w moim obecnym katalogu roboczym?

ls -l | grep ^l

Przykładowa lista połączonych plików
lrwxrwxrwx 1 root root 24 2010-02-15 09:35 sndstat -> /proc/asound/oss/sndstat
lrwxrwxrwx 1 root 15 2010-02-15 09:35 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root 15 2010-02-15 09:35 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 2010-02-15 09:35 stdout -> /proc/self/fd/1

Pliki gniazd w Linuksie

Plik gniazda jest używany do przekazywania informacji między aplikacjami w celach komunikacyjnych

Jak je utworzyć?
Ans : Możesz utworzyć plik gniazda używając wywołania systemowego socket() dostępnego pod

Przykład w programowaniu w języku C

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

Możesz odwołać się do tego pliku gniazda używając sockfd. To jest to samo co deskryptor pliku, i możesz użyć wywołań systemowych read(), write() do odczytu i zapisu z gniazda.

Jak możemy wylistować pliki gniazda w moim obecnym katalogu roboczym?

ls -l | grep ^s

Przykładowa lista plików gniazda.

srw-rw-rw- 1 root root 0 2010-02-15 09:35 /dev/log

srwxrwxrwx 1 root root 0 2010-02-15 10:07 /var/run/cups/cups.sock
srwxrwxrwx 1 root root 0 2010-02-15 09:35 /var/run/samba/winbindd_privileged/pipe
srwxrwxrwx 1 mysql mysql 0 2010-02-15 09:35 /var/run/mysqld/mysqld.sock

Porada dla was. Jak znaleźć pożądany typ pliku ?

Ans : Użyj polecenia find z opcją -type. Na przykład, jeśli chcesz znaleźć plik gniazda, wystarczy użyć poniższej komendy. find / -type s Jeśli chcesz znaleźć plik połączony to jak? Find / -type l

Thats it….

.

admin

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

lg