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.
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.