Product SiteDocumentation Site

Appendix B. Kort snabbkurs

Även om denna bok i huvudsak har administratörer och avancerade användare som målgrupp vill vi inte exkludera motiverade nybörjare. Denna bilaga kommer därför att utgöra en snabbkurs som beskriver de grundläggande koncepten som inbegrips i att hantera en Unix-dator.

B.1. Skalet och grundläggande kommandon

I Unix-världen måste varje administratör använda kommandoraden förr eller senare; till exempel när systemet misslyckas med att starta upp korrekt och endast tillgängliggör ett räddningsläge med en kommandorad. Att kunna hantera ett sådant gränssnitt är därför en grundläggande överlevnadskunskap under dessa förutsättningar.
Detta avsnitt ger endast en snabbtitt på kommandona. De har alla flertalet flaggor som inte beskrivs här, så referera till den rikliga dokumentationen i deras respektive manualsidor.

B.1.1. Att bläddra i katalogstrukturen och att hantera filer

När en session är öppen visar kommandot pwd (som står för print working directory, skriv ut arbetskatalog) den aktuella platsen i filsystemet. Den aktuella katalogen ändras med kommandot cd katalog (cd är kort för change directory, byt katalog). Föräldrakatalogen kallas alltid .. (två punkter), medan den aktuella katalogen också är känd som . (en punkt). Kommandot ls möjliggör listning av innehållet i en katalog. Om inga parametrar anges arbetar det på den aktuella katalogen.
$ pwd
/home/rhertzog
$ cd Desktop
$ pwd
/home/rhertzog/Desktop
$ cd .
$ pwd
/home/rhertzog/Desktop
$ cd ..
$ pwd
/home/rhertzog
$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos
En ny katalog kan skapas med mkdir katalog, och en existerande (tom) katalog kan tas bort med rmdir katalog. Kommandot mv möjliggör förflyttning (moving) och/eller namnbyte för filer och kataloger; borttagning av en fil åstadkoms med rm fil.
$ mkdir test
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public    test
$ mv test new
$ ls
Desktop    Downloads  new       Public     Videos
Documents  Music      Pictures  Templates
$ rmdir new
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public

B.1.2. Visa och modifiera textfiler

Kommandot cat fil (avsett att konkatenera filer till enheten standard ut) läser en fil och visar dess innehåll i terminalen. Om en fil är för stor för att få plats på en skärm, använd en sidvisare så som less (eller more) för att visa den sida för sida.
Kommandot editor startar en textredigerare (så som vi eller nano) och tillåter skapande, modifiering och läsning av textfiler. De enklaste filerna kan ibland skapas direkt från kommandotolken tack vare omdirigering: echo "text" > fil skapar en fil vid namn fil med innehållet ”text”. Att lägga till en rad på slutet av filen är också möjligt, med ett kommando så som echo "mertext" >>fil. Notera >> i detta exempel.

B.1.3. Att söka efter filer och inom filer

Kommandot find katalog kriterier letar efter filer i hierarkin under katalog enligt flertalet kriterier. Det vanligaste kriteriet är -name namn: detta möjliggör sökning efter en fil efter namn.
Kommandot grep uttryck filer genomsöker innehållet i filerna och extraherar rader som matchar det reguljära uttrycket (se sidopanelen BACK TO BASICS Regular expression). Att lägga till flaggan -r aktiverar en rekursiv sökning av alla filer som finns i katalogen som anges som parameter. Detta möjliggör sökning efter en fil när endast en del av dess innehåll är känt.

B.1.4. Hantera processer

Kommandot ps aux listar processerna som för närvarande kör och hjälper till att identifiera dem genom att visa deras pid (process-ID). När pid för en process är känt låter kommandot kill -signal pid en signal skickas till processen (om processen tillhör den aktuella användaren). Flera signaler existerar; vanligast är TERM (en begäran om att graciöst avsluta programmet) och KILL (en påtvingad död).
Kommandotolken kan också köra program i bakgrunden om kommandot åtföljs av ett ”&”. Genom att använda och-tecknet återfår användare kontrollen av skalet omedelbart även om programmet fortfarande kör (gömt från användaren; som en bakgrundsprocess). Kommandot jobs listar processerna som kör i bakgrunden; för att återuppta ett jobb i förgrunden kör fg %job-number (som i förgrund). När ett kommando kör i förgrunden (antingen för att det startades normalt, eller återupptaget i förgrunden med fg), kan tangentkombinationen Ctrl+Z användas för att pausa processen och återuppta kontrollen av kommandoraden. Processen kan sedan återstartas i bakgrunden med bg %job-number (efter bakgrund).

B.1.5. Systeminformation: Minne, diskutrymme, identitet

Kommandot free visar information om minnet; df (disk free, ledig disk) rapporterar om tillgängligt diskutrymme på vardera av de monterade diskarna i filsystemet. Dess flagga -h (för human readable, mänskligt läsbar) konverterar storlekarna till en mer lättförståelig enhet (vanligtvis mebibyte eller gibibyte). På samma sätt har kommandot free stöd för flaggorna -m och -g och visar då data antingen i mebibyte eller gibibyte.
$ free
              total        used        free      shared  buff/cache   available
Mem:       16279260     5910248      523432      871036     9845580     9128964
Swap:      16601084      240640    16360444
$ df
Filesystem                1K-blocks      Used Available Use% Mounted on
udev                        8108516         0   8108516   0% /dev
tmpfs                       1627928    161800   1466128  10% /run
/dev/mapper/vg_main-root  466644576 451332520  12919912  98% /
tmpfs                       8139628    146796   7992832   2% /dev/shm
tmpfs                          5120         4      5116   1% /run/lock
tmpfs                       8139628         0   8139628   0% /sys/fs/cgroup
/dev/sda1                    523248      1676    521572   1% /boot/efi
tmpfs                       1627924        88   1627836   1% /run/user/1000
Kommandot id visar identiteten för användare som kör sessionen, tillsammans med listan över grupper som de är medlemmar i. Då åtkomst till vissa filer eller enheter kan vara begränsat till gruppmedlemmar kan det vara användbart att kontrollera gruppmedlemskap.
$ id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)