Liten Datorhandbok För Målmedvetna

Academic Computer Club, Umeå Universitet, 2000


UNIX


UNIX-kommandon

Nedan följer ett urval av de viktigaste kommandona i UNIX. Jag har försökt välja ut de viktigaste som du kommer att använda mest. För beskrivning av fler kommandon hänvisar jag till någon av de många UNIX-handböcker som finns, speciellt rekommenderar jag UNIX in a Nutshell av Daniel Gilly m.fl. (ISBN 1-56592-001-5) som täcker det mesta du vill veta. Den är dessutom billig!

I UNIX skiljer man på fristående kommandon och kommandon som är inbyggda i ditt kommandoskal. Här har jag för enkelhetens skull inte gjort någon sådan skillnad.

Nästan alla kommandon har så kallade flaggor, det vill säga "småkommandon i kommandona" som gör att du kan kontrollera hur kommandona utför sin uppgift. Jag har tagit med de viktigaste flaggorna för de olika kommandona. För mer detaljerade beskrivningar hänvisas till man-sidorna.

De saker som står i kursiv stil i syntaxen är argument som normalt måste anges, medan det som står inom klamrar ([]) är optionellt.

KommandosyntaxBeskrivning samt exempel
exitLoggar ut från det aktuella terminalfönstret
ls [flaggor] katalogListar filerna i katalog (eller aktuell katalog om ingen katalog anges).
    Viktiga flaggor:
    -l listar all information om filerna
    -a listar alla filer (normalt listas inte de filer vars namn börjar på .)
cd katalogSätter katalog som aktuell katalog. Om ingen katalog anges sätts din hemkatalog till aktuell katalog.
cp [flaggor] från tillKopierar filen från till till. till kan även utgöras av en katalog om du skall behålla det ursprungliga filnamnet och skapa en kopia på annan plats på filsystemet.
    Viktig flagga:
    -i frågar om du ska skriva över filen till om den redan existerar.
mv [flaggor] från tillFlyttar filen från till till. Används även för att döpa om filer.
    Viktiga flaggor:
    -i frågar innan till skrivs över om den redan existerar.
    -f "tvångsflyttar", upphäver -i.
rm [flaggor] filTar bort fil. I UNIX kan du inte få tillbaka de filer du raderar, så använd detta kommando med försiktighet. Om du ändå lyckas ta bort en fil av misstag som är väldigt viktig får du be systemadministratören att försöka få fram filen från en backup, detta tillvägagångssätt får enbart användas i nödfall!
    Viktiga flaggor:
    -i frågar innan den tar bort en fil, mycket bra! (Tips: Om det inte redan finns, fixa ett alias så att rm alltid blir rm -i).
    -r tar även bort kataloger (och alla filer i dem). Används när fil är en katalog.
    -f "tvångsradering", upphäver -i.
cat filSkriver ut innehållet i fil "rakt upp och ned" till stdout. Flera filer kan anges och med hjälp av omdirigering av utdata kan du sätta ihop filer.
less filEn avancerad textläsare som visar din text "en skärm i taget". Kan väldigt mycket men är enkel att använda.
more filEn annan textvisare. Förlöpare till less, trots namnet.
mkdir katalogSkapar katalogen katalog.
echo textSkriver ut text (N.B. inget filnamn) till stdout. text kan även innehålla variabler och dylikt.
alias namn kommando"Skapar" ett kommando som anropas med namn och utför kommando. Praktiskt om du vill ofta utföra kommandon som tar lång tid att skriva enär du kan ersätta dessa med kortare kommandon.
ln [flaggor] fil länkSkapar en länk till fil med namnet länk. Praktiskt när man behöver en fil på flera ställen i filsystemet, då kan man ha en upplaga av filen och flera länkar till den vilken spara mycket plats.
    Viktiga flaggor:
    -s skapar en så kallad mjuk länk (rekommenderas).
    -f skriver över filen länk om den existerar
chmod modes filÄndrar läs-, skriv- och körningsrättigheterna på fil. Rättigheterna består av en sträng med tio tecken (till exempel -rwxr-xr-x). Det första tecknet identifierar om fil är en länk (l), katalog (d) eller bara en vanlig fil (-), de nio andra specificerar vilka som får läsa (r), skriva (w) eller köra (x) fil. Du måste äga filen för att kunna ändra rättigheterna för den.

Det finns tre kategorier för vilka rättigheter kan sättas, nämligen user (u), group (g) och other (o). User är den användare som äger filen (till exempel c96xxx), group är den grupp av användare user tillhör (till exempel c96) och other är resten av användarna på systemet.

Det finns några olika sätt att ställa in rättigheterna för dessa kategorier.
Det enklaste är att ange bokstäver för kategorin och rättigheterna, till exempel % chmod u=rwx,g-w,o+x fil. Om fil innan exempelkommandot gavs hade rättigheterna -r-xrwxr-- får den efter exemplet rättigheterna -rwxr-xr-x. Kommandot ger alltså dig själv alla rättigheter (oavsett vilka de var från början), tar bort skrivrättigheten för användarna i din grupp och lägger till körrättigheten för övriga användare.
Du kan även ändra rättigheterna för en fil med hjälp av ett tresiffrigt oktalt tal, då kodas skrivrättigheten med 4, läsrättigheten med 2 och körrättigheten med 1. En fil som ska följande rättigheter; -rwxr-xr-- får således koden 754. För att ändra till dessa rättigheter ger du kommandot % chmod 754 fil.

umask modesDefinierar vilka rättigheter som gäller när en ny fil skapas. Här anger man med ett tresiffrigt oktalt tal vilka rättigheter som inte ska ges. Till exempel om man har satt umask 022 kommer en ny fil att få rättigheterna -rwxr-xr-x.
find katalog [flaggor]Letar på filer åt dig, börjandes i katalog.
    Viktiga flaggor:
    -name fil letar på filen fil.
    -print skriver ut resultatet till stdout.
    -type typ letar på filer av en viss typ. En viktig typ är d för att leta på kataloger.
tar [kommandon/optioner] filLägger ihop flera filer till ett arkiv som kan lagras antingen på band eller som en ny fil. Används flitigt vid distribution av programpaket.

Tar-kommandon och optioner anges i en följd och nödvändiga argument anges efteråt.

    Viktiga kommandon:
    c skapar ett arkiv.
    t lista filerna i ett arkiv.
    x extraherar filer ur ett arkiv.

    Viktiga optioner:
    f enhet lagrar arkivet på enhet. Om du anger - som enhet skrivs arkivet till stdin/stdout, och det skall du göra om du vill lagra akrivet som en fil.
    z arkivet packas/packas upp med gzip.

Några exempel:
    % tar zcvf - $HOME > /tmp/hemkatalog.tar.gz

    Arkiverar och packar ned hela din hemkatalog (med alla underkataloger) till filen /tmp/hemkatalog.tar.gz och visar namnet på alla filer som packas ned.

    % tar xf arkiv.tar

    Tar ut alla filer ur det okomprimerade arkivet arkiv.tar och skriver dem till aktuell katalog utan att skriva ut namnet på filerna.

passwdÄndrar ditt lösenord. Något du bör göra ganska ofta för att hålla systemet säkert. Det är inte bara du som kan drabbas av ett intrå på ditt konto. Lösenordet bör vara minst 8 tecken långt, blanda mellan stora och små bokstäver (det är skillnad!) och ha gärna med någon siffra. Välj helst inte något som stå i ordböcker.
su användareByter temporärt din identitet till användare. Används till exempel om du har tillgång till en gruppanvändare.
whoamiTar reda på vilken identitet du har för tillfället. Om du har bytt identitet ett par gånger med su kan det lätt bli att man inte riktigt har koll på vem man utger sig för att vara.
ps [flaggor/kommandon]Visar information om vilka processer som är igång. Bland annat vilka processnummer och dito namn. Mycket användbart i kombination med kill.
    Viktiga flaggor/kommandon:
    x (eller -x) visar alla processer du har igång.
    -u användare visar alla processer som användare kör.
kill [signal] processDödar processen med processnumret process om den löper amok, hänger sig eller dylikt. Signal anger med vilken "styrka" process skall dödas. Om det inte räcker med vanlig kill får man ta till signalen -9.
topVisar vilka processer som tar mest kraft.
clearRensar ditt terminalfönster.
write användareSkickar ett meddelande till användares terminalfönster. Du ger kommandot först och trycker RETURN sedan skriver du meddelandet och trycker ^D.
mesg [y|n]Slår av eller på mottagningen av write- och talk-meddelanden. mesg n gör att du inte tar emot meddelanden i ditt terminalfönster. Om du varken anger y eller n så får du reda på aktuell status.
stty kommandonDetta kommando styr utmatningen av text i ditt terminalfönster. Det är mycket komplext och bara en del av vad det kan tas upp här.
    Viktiga kommandon:
    rows höjd anger att din terminal är höjd rader hög.
    cols bredd anger att din terminal är bredd tecken bred.
    sane det viktigaste av dem alla, sätter vettiga värden på inställningarna om din terminal beter sig mysko.
script filSkriver allt som skrivs ut på i ditt terminalfönster till fil. Praktiskt när du vill ha en logg över vad du gjort. Skrivningen till fil avslustas när du trycker ^D.
setenv variabel värdeSätter omgivningsvariabeln variabel till värde. Omgivningsvariabler finns av många olika slag och används för att styra olika programs inställningar och för anpassning av din egen användarmiljö.
printenvSkriver ut de omgivningsvariabler som är satta samt deras värde.
cal [månad] årSkriver ut kalendern för månad eller år till stdout. Om du bara ska kalendern för en månad måste både månad och år anges. Månad och år anges med siffror. Om varken månad eller år anges skrivs kalendern för innevarande månad ut.
dateSkriver ut aktuellt datum och tid (såvida de stämmer i datorn).
diff fil1 fil2Jämför filerna fil1 och fil2 och skriver ut skillnaden till stdout.
grep [flaggor] sökord filSöker upp sökord i fil och skriver ut raden som sökord återfanns i till stdout.
    Viktiga flaggor:
    -v skriver ut de rader som sökord inte finns på.
tee filEtt kommando som används när du har en kedja av pipor och vid något steg vill ha utdatat fån ett kommando både vidare i kedjan och till en fil, och det är precis vad tee gör. Du använder det genom att pipa dataströmmen genom tee.

Kommandon som har med utnyttjande av nätverk att göra återfinns i kapitlet om Internet.

Författat av Tomas Byström


Bakåt , Framåt , Upp, Huvudsida
Denna sida ändrades sist av handbok den 21/08 1996 15:23:00.
Last modified Wednesday, 21-Aug-1996 15:23:00 CEST