next up previous contents
Nästa: 1.2 Att redigera kommandon Upp: 1. Introduktion till UNIX Förra: 1. Introduktion till UNIX

1.1 Inloggning

Varje person som använder en UNIX-dator har ett unikt namn, ett så kallat användarnamn. Det första man gör då man ska börja arbeta vid datorn är att tala om vem man är genom att skriva sitt användarnamn. Därefter måste man bevisa att man verkligen är den person man påstår genom att ange ett lösenord. Denna process, där man anger sitt användarnamn och sitt lösenord, kallas för inloggning. Innan man kan logga in på en viss dator måste man ha fått ett användarnamn och ett preliminärt lösenord av systemadministratören, den person som är ansvarig för skötseln av datorn. (Systemadministratören har användarnamnet root.) Det preliminära lösenordet bör man så snart som möjligt ändra till något som bara man själv känner till.

  xdm.gif Det finns två olika sätt att logga in: via en textterminal eller via fönstersystemet X (se kapitel 4 för information om X). I det förra fallet är skärmen i textläge, och en markör blinkar efter orden fafner login: (''fafner'' är datorns namn). I det senare fallet ser det ut ungefär som i figur 1.1. Det finns oftast sex olika textterminaler att logga in genom. Vissa UNIX-system har inte någon grafisk inloggningsskärm, andra har en eller till och med flera. Man kan växla mellan de olika inloggningsskärmarna genom att hålla tangenterna Ctrl och Alt nedtryckta och samtidigt trycka på en av funktionstangenterna - F1 till F6 ger textterminaler medan F7, F8 osv ger X-skärmar på de datorer som kör X.fafner login: göran
Lösenord:
$
I exemplet ovan skrev datorn först ut texten fafner login:, varefter jag angav mitt användarnamn ''göran'' och tryckte på returtangenten. Datorn frågade sedan efter mitt lösenord. Lösenordet syns inte på skärmen då man skriver in det för att ingen ska kunna se det ''över ens axel''.

Motsatsen till inloggning är utloggning. När man är klar med sitt arbete vid datorn och inte tänker använda den igen på ett tag, så kan man logga ut med kommandot logout.

Vad som sker efter inloggningen beror på hur systemet är inställt. Även om man inte loggar in via fönstersystemet X, så kanske X startas automatiskt då man loggat in. I vilket fall som helst startas förmodligen en kommandotolk, genom vilken man kan ge datorn instruktioner. Datorn visar att den är redo för ett nytt kommando genom att skriva ut den så kallade prompten, som fortsättningsvis anges med ett dollartecken. Man kan konfigurera många av inställningarna i UNIX, dvs ändra dem så att de passar en själv bättre. Detta gäller även prompten, så hur den faktiskt ser ut varierar starkt från system till system. Andra vanliga sätt att ange prompten är till exempel som # eller som fafner>.

Låt oss som första exempel ta kommandot passwd, som man använder för att byta lösenord. Man skriver kommandot vid prompten, och trycker sedan på returtangenten:$ passwd
Nuvarande lösenord:
Nytt lösenord:
Upprepa det nya lösenordet:
Lösenordet har ändrats.
$
Inte heller nu återges lösenordet på skärmen när man skriver in det. Detta innebär en viss risk för att man råkar skriva fel utan att upptäcka det, så för att vara på den säkra sidan får man upprepa det nya lösenordet innan det ändras. Dessutom måste man först bevisa att man kan det gamla lösenordet.

I det här sammanhanget kan det vara värt att nämna att UNIX ibland kan vara tämligen kärvt; kommandonamn är ofta kryptiska förkortningar som passwd i stället för password, som cp i stället för copy och, det kanske värsta exemplet, umount i stället för unmount. Detta tilltalar rutinerade användare, som kan skriva sina kommandon snabbare tack vare att det blir färre tangentnedslag, men kan upplevas som frånstötande eller svårtillgängligt av nybörjare. (Denna brist på inställsamhet kommer sig bland annat av att UNIX skapades innan datorer fanns i varje hem och operativsystem blev kommersiella massprodukter.) Om man inte är nöjd med hur ett visst kommando skrivs, så kan man dock ändra det genom att ange ett alias för kommandot:$ alias lösenord=passwd
$ lösenord
Nuvarande lösenord:

Vilken fantastisk känsla det är att vara inloggad på ett UNIX-system! Låt oss genast prova några kommandon. Vad är klockan nu?$ date
tis sep 2  15:13:52 CEST 1997
$
Klockan är alltså snart kvart över tre. Ovan står ''CEST'' för centraleuropeisk sommartid. Vi kan få almanackan utskriven med hjälp av kommandot gcal. Men det räcker inte att skriva gcal; vi måste också tala om vilken månad och vilket år det gäller. Dessa upplysningar anges efter gcal. De ska separeras med ett eller flera mellanslag. Sådana ''ord'' kallas för argument till kommandot.$ gcal 1 2000

januari 2000

måndag        3 10 17 24 31
tisdag        4 11 18 25
onsdag        5 12 19 26
torsdag       6 13 20 27
fredag        7 14 21 28
lördag     1  8 15 22 29
söndag     2  9 16 23 30

Ett lustigt litet kommando, echo, har som enda funktion att upprepa sina argument. Detta kan tyckas meningslöst, men vi ska senare se att kommandot kan vara mycket användbart.$ echo hejsan svejsan
hejsan svejsan
$

Kommandot man program ger en bruksanvisning för kommandot program.$ man passwd
PASSWD(1)                                               PASSWD(1)

NAME
       passwd - change user password
SYNOPSIS
       passwd [-f|-s] [name]
       passwd [-g] [-r|R] group
       passwd [-x max] [-n min] [-w warn] [-i inact] name
       passwd -l|-u|-d|-S name

DESCRIPTION
       passwd  changes  passwords for user and group accounts.  A
       normal user may only change the  password  for  their  own
       account,  the  super  user may change the password for any
       account.  The administrator of  a  group  may  change  the
       password  for  the  group.   passwd  also  changes account
       information, such as the full  name  of  the  user,  their
       login shell, or password expiry dates and intervals.

   Password Changes
       The  user is first prompted for their old password, if one
       is present.  This password is then encrypted and  compared
       against the stored password.  The user has only one chance
       to enter the correct password.  The super user is  permit-
       ted to bypass this step so that forgotten passwords may be
       changed.
Detta är inledningen av bruksanvisningen till passwd. För att se mer av den ska man trycka på mellanslagstangenten, för att avsluta ska man trycka på q. (I UNIX barndom var man den viktigaste informationskällan för samtliga kommandon, men så är det inte längre. Andra, modernare former att presentera bruksanvisningar håller på att ta över. Symptomatiskt nog har ingen ännu brytt sig om att översätta dessa bruksanvisningar till svenska.)

Vissa kommandon ger en kort introduktion till sig själva om man anropar dem med -h eller --help som argument. (Ett sådant argument, som inte ger mer information till kommandot utan modifierar dess verkan, kallas för en flagga. Flaggor består vanligtvis av ett streck följt av en bokstav eller två streck följt av ett ord.)$ date --help
Användning: date [FLAGGA]... [+FORMAT]
     eller: date [FLAGGA] [MMDDhhmm[[ÅÅ]ÅÅ][.ss]]
Visa aktuell tid på angivet FORMAT, eller ställ systemklockan.

  -d, --date=STRÄNG        visa tid som beskrivs av STRÄNG, inte "nu"
  -f, --file=DATUMFIL      samma som --date en gång per rad i DATUMFIL
  -r, --reference=FIL      visa när FIL senast modifierades
  -R, --rfc-822            skriv ut RFC-822-kompatibel datumsträng
  -s, --set=STRÄNG         sätt tiden enligt STRÄNG
  -u, --utc, --universal   skriv ut eller sätt Coordinated Universal Time
      --help               visa denna hjälptext och avsluta

Det vanliga är att en rad innehåller exakt ett kommando, men man kan skriva flera kommandon på samma rad om de separeras med semikolon. Likaså kan det inträffa att ett kommando är flera rader långt. Om man skriver ett bakvänt snedstreck i slutet av en kommandorad, så tolkas det som att kommandot fortsätter på nästa rad. Man får då en ny prompt (som kan se annorlunda ut än den vanliga) så att man kan skriva färdigt kommandot.$ echo Dagens datum är ; date
Dagens datum är
tis sep 2  16:44:29 CEST 1997
$ echo Detta är ett mycket \
> långt kommando
Detta är ett mycket långt kommando
$
När man separerar två kommandon med semikolon som ovan, så fungerar det precis som om man hade gett det första kommandot, sedan tryckt retur och till slut gett det andra kommandot. Det andra kommandot kör alltså inte igång förrän det första är klart.


next up previous contents
Nästa: 1.2 Att redigera kommandon Upp: 1. Introduktion till UNIX Förra: 1. Introduktion till UNIX
Goran Andersson
1999-03-08