Hitta hjälp i Ubuntu

I Linux finns hjälpen alltid nära. Nästan alla kommandon vi använder har en manualsida. I den hittar vi information om vad kommandot gör och vilka parametrar vi kan använda tillsammans med kommandot. Vi hittar också information om vem som har skrivit kommandot och hur vi kan skicka buggrapporter om vi upptäcker fel.

För att läsa en manualsida använder vi kommandot man. Vi tittar på manualsidan för kommandot man:

$ man man

Om du inte har kommandot man tillgängligt behöver du installera paketet man-db. Skriv följande kommando för att installera:

$ sudo apt install man-db -y

Manualsidorna är uppdelade i olika sektioner där manualsidor som handlar om samma område samlas.

Sektion Förklaring
1 Körbara program och kommandon för kommandoprompten
2 Systemanrop (linuxkärnan)
3 Anrop till bibliotek (libraries), funktioner i bibliotek
4 Specialfiler (till exempel de vi hittar i katalogen /dev/)
5 Filformat som användardatabasen /etc/passwd
6 Spel
7 Blandat (misc), till exempel man(7), groff(7)
8 Kommandon för systemadministration (ofta för root-användaren)
9 Kernel routines

Det kan finnas fler man-sidor med samma namn i systemet. Till exempel printf som dels kan användas för utmatning i Bash och dels som en funktion i programmeringsspråket C.

Här är vi på kommandoraden och skriver printf:

$ printf "Du är: %s\n" ${USER}
Du är: jonas

Här är källkod skriven i programspråket C som också använder printf, fast en annan printf. Här är det en funktion som finns i standardbiblioteket för programspråket C.

Figur 1. Filen hello.c
#include <stdio.h>

int main(void) {
    char* namn = "Jonas";
    printf("Du är: %s\n", namn);
    return 0;
}

Skulle vi skriva in ovanstående program skrivet i programspråket C och vill kompilera (göra det körbart) det till ett program behöver vi installera ett paket som heter gcc. Det paketet innehåller en kompilator för programspråket C:

$ sudo apt install gcc -y

Nu kan vi bygga (kompilera) programmet:

$ gcc -o hello hello.c

-o hello anger vad vi vill att filen skall heta, och hello.c anger vilken fil vi vill läsa in. Sedan kör vi det genom att skriva programmets namn:

$ ./hello
Du är Jonas

Vi använder ./ innan programmets namn för att berätta för Bash att programmet finns i den här katalogen - i katalogen där vi befinner oss. ./hello betyder alltså: kör programmet hello som finns i katalogen där jag befinner mig just nu.

För att hitta rätt man-sida för den printf vi vill läsa om kan vi ange vilken sektion vi vill använda:

$ man 1 printf
$ man 3 printf

Vi kan också skriva sektionen efter namnet, som i printf.1 och printf.3.

$ man printf.1
$ man printf.3

Hitta kommandon

När vi inte vet vilket kommando vi skall använda kan vi söka efter ett lämpligt kommando med man -k:

$ man -k sftp
sftp (1)             - OpenSSH secure file transfer
sftp-server (8)      - OpenSSH SFTP server subsystem

Vi kan också använda kommandot apropos för att söka efter kommandon:

$ apropos sftp
sftp (1)             - OpenSSH secure file transfer
sftp-server (8)      - OpenSSH SFTP server subsystem

Vill vi veta vad ett kommando används till kan vi använda kommandot man -f:

$ man -f sftp
sftp (1)             - OpenSSH secure file transfer

Vi kan också använda kommandot whatis istället för man -f:

$ whatis sftp
sftp (1)             - OpenSSH secure file transfer

De flesta kommandon kan också ge hjälp själva, genom att vi använder argumentet -h, eller ibland --help:

$ sftp -h
usage: sftp [-46AaCfNpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
          [-D sftp_server_path] [-F ssh_config] [-i identity_file]
          [-J destination] [-l limit] [-o ssh_option] [-P port]
          [-R num_requests] [-S program] [-s subsystem | sftp_server]
          destination

Manualsidan för ett kommando visar också ofta bra hjälp:

$ man sftp

För att komma tillbaka från manualsidan till kommandoprompten trycker vi på bokstaven q på tangentbordet.