När du navigerar i Linux filsystem kommer du säkert att stöta på olika filtyper. De mest använda och uppenbara filtyperna är vanliga filer och kataloger. Linux operativsystem har dock mer att erbjuda när det gäller filtyper eftersom det även innehåller ytterligare 5 filtyper. Den här korta artikeln hjälper dig att känna igen alla de 7 olika filtyperna i Linux operativsystem.
Identifiera Linux filtyper
Det finns bara 1 kommando som du behöver känna till och som hjälper dig att identifiera och kategorisera alla de sju olika filtyperna som finns i Linuxsystemet.
$ ls -ld <filnamn>
Här är ett exempel på utdata från ovanstående kommando:
$ ls -ld /etc/services
-rw-r-r--r-- 1 root root root 19281 Feb 14 2012 /etc/services
ls kommando kommer att visa filtypen som en kodad symbol som återfinns som det första tecknet i filen permission part. I det här fallet är det ”-”, vilket betyder ”vanlig fil”. Det är viktigt att påpeka att Linux filtyper inte ska förväxlas med filändelser. Låt oss ta en titt på en kort sammanfattning av alla de sju olika typerna av Linux-filtyper och identifierare för kommandot ls:
- – : regular file
- d : directory
- c : character device file
- b : block device file
- s : local socket file
- p : named pipe
- l : symbolic link
UAF Geophysical Institute söker en erfaren Linux-systemanalytiker för att ingå i deras team av analytiker och ingenjörer inom forskning om cyberinfrastruktur. PLATS: Fairbanks, Alaska, USA
ANSÖK NU
Reguljär fil
Den reguljära filen är en vanligast förekommande filtyp som finns i Linuxsystemet. Den reglerar alla olika filer som textfiler, bilder, binära filer, delade bibliotek osv. Du kan skapa en vanlig fil med kommandot touch:
$ touch linuxcareer.com
$ ls -ld linuxcareer.com
-rw-rw-r-- 1 lubos lubos lubos 0 Jan 10 12:52 linuxcareer.com
Det första tecknet i kommandot ls, i det här fallet ”-”, anger identifieringskoden för den vanliga filen. För att ta bort en vanlig fil kan du använda kommandot rm:
$ rm linuxcareer.com
$
Directory
Directory är den näst vanligaste filtypen i Linux. Katalog kan skapas med kommandot mkdir:
$ mkdir FileTypes
$ ls -ld FileTypes/
drwxrwxr-x 2 lubos lubos 4096 Jan 10 13:14 FileTypes/
Som tidigare förklarats kan kataloger identifieras med symbolen ”d” i utgången av kommandot ls. För att ta bort en tom katalog använder du kommandot rmdir.
$ rmdir FileTypes
När du försöker ta bort en katalog med kommandot rmdir som innehåller ytterligare filer får du ett felmeddelande:
rmdir: failed to remove `FileTypes/': Directory not empty
I det här fallet måste du använda ett kommando:
$ rm -r FileTypes/
Karaktärenhet
Karaktärs- och blockenhetsfiler gör det möjligt för användare och program att kommunicera med perifera hårdvaruenheter. Till exempel:
$ ls -ld /dev/vmmon
crw------- 1 root root 10, 165 Jan 4 10:13 /dev/vmmon
I det här fallet är teckenenheten vmware module-enheten.
Blockenhet
Blockenheter liknar teckenenheter. De styr oftast hårdvara som hårddiskar, minne osv.
$ ls -ld /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 4 10:12 /dev/sda
Local domain sockets
Local domain sockets används för kommunikation mellan processer. I allmänhet används de av tjänster som X-fönster, syslog osv.
$ ls -ld /dev/log
srw-rw-rw- 1 root root 0 Jan 4 10:13 /dev/log
Sockets kan skapas med socket-systemanropet och tas bort med kommandona unlink eller rm.
Named Pipes
Samma som lokala sockets möjliggör named pipes kommunikation mellan två lokala processer. De kan skapas med kommandot mknod och tas bort med kommandot rm.
Symboliska länkar
Med symboliska länkar kan en administratör tilldela en fil eller katalog flera identiteter. Symbolisk länk kan ses som en pekare till en originalfil. Det finns två typer av symboliska länkar:
- hårda länkar
- mjuka länkar
Skillnaden mellan hårda och mjuka länkar är att mjuka länkar använder filnamnet som referens och hårda länkar använder en direkt hänvisning till originalfilen. Dessutom kan hårda länkar inte korsa filsystem och partitioner. För att skapa symboliska mjuka länkar kan vi använda kommandot ln -s:
$ echo file1 > file1
$ ln -s file1 file2
$ cat file2
file1
$ ls -ld file2
lrwxrwxrwx 1 lubos lubos 5 Jan 10 14:42 file2 -> file1
För att ta bort symboliska länkar kan vi använda kommandot unlink eller rm.
Slutsats
Som systemadministratör kommer du oftast att arbeta med vanliga filer, kataloger block och teckenenheter. Som programvaruutvecklare kommer du också att arbeta med lokala sockets och named pipes.