Göm menyn

Punktfiler och utskrifter

I det här steget går vi igenom vad punktfiler är och hur du kan anpassa systemet med hjälp av dem.

Vad är punktfiler?

De flesta program låter dig ändra inställningarna via grafiska gränssnitt, t.ex. inställningarna i Mate Desktop. Ibland måste man dock ändra direkt i de filer där inställningarna lagras, särskilt om man vill anpassa systeminställningarna. Inställningar lagras ofta i textfiler som brukar kallas punktfiler. Detta är helt enkelt filer vars namn börjar med en punkt och som man vanligtvis inte ser när man listar filer med ls. Om du istället skriver ls -a listar du även punktfiler. En sådan lista skulle kunna se ut så här (där vi använt ls -al för att få en mer detaljerad utskrift):

	
drwx--x--x  35 turte123 student     2048 jun 28 11:13 .
dr-xr-xr-x  25 root     root          25 jun 28 11:10 ..
-rw-r--r--   1 turte123 student     1900 sep 13  1999 .acrorc
-rw-r--r--   1 turte123 student      632 aug 27  1999 .addressbook
-rw-r--r--   1 turte123 student     1094 jan 28  1999 .cshrc
-rw-r--r--   1 turte123 student     1031 maj  2  1998 .desksetdefaults
drwxr-xr-x  15 turte123 student      512 maj 23 10:02 .dt
-rwxr-xr-x   1 turte123 student     5398 sep 10  1997 .dtprofile
-rw-r--r--   1 turte123 student      913 apr 23  1999 .emacs
drwx--l---   2 turte123 student      512 maj  7  1998 .fm
-rw-r--r--   1 turte123 student      268 maj 12  1999 .gv
-rw-r--r--   1 turte123 student     1550 apr  3 15:39 .login
-rw-r--r--   1 turte123 student      567 sep 26  1995 .mailrc
drwxr-sr-x   6 turte123 student     1024 jun  6 08:44 .netscape
-rw-r--r--   1 turte123 student    14174 jun  8 15:49 .pinerc
-rw-r--r--   1 turte123 student        0 mar  3  1999 .signature
drwxr-sr-x   2 turte123 student      512 apr 26  1997 .ssh
drwx--s---   2 turte123 student      512 maj  2  1998 .wastebasket
-rw-------   1 turte123 student    20376 jun 28 10:33 .Xauthority
-rw-r--r--   1 turte123 student      324 mar 23 19:27 .xpul
-rw-r--r--   1 turte123 student       18 apr  3 16:22 .xpul.friends
	

Ju fler programvaror man har använt, desto fler punktfiler tenderar man att ha. En del punktfiler är i själva verket kataloger. Två viktiga filer när du kör på våra Linux-system är .bashrc och .bash_profile. Den första körs varje gång du öppnar ett terminalfönster och den andra körs varje gång du startar ett login-skal, i praktiken alltså varje gång du loggar in. I dessa filer kan du lagra personliga inställnignar för skalet, men observera att de inte finns när du får ditt konto. Om du vill ha personliga skalinställningar måste du alltså först skapa dem. Det gör du genom att helt enkelt skapa en fil med filnamnet .bashrc eller .bash_profile och lägga den i din hemkatalog.

Övning Kontrollera vilka punktfiler du har genom att i din hemkatalog skriva ls -al. Titta på innehållet i någon av dem t.ex. med kommandot cat.

Det är sällan man behöver ändra i sina punktfiler, men det kan vara bra att känna till att de finns. Om man inte här helt säker på var man gör bör man inte heller ge sig på att ändra i .bashrc eller .bash_profile. Båda dessa filer är i praktiken så kallade skript och hur man konstruerar sådana finns beskrivet i ett annat avsnitt.

Viktigt Filerna .bashrc och .bash_profile används för att justera inställningarna i standardskalet bash. Om du använder ett annat skal är det andra punktfiler som gäller.

Exempel på anpassning av skalet: Alias

Som vi konstaterade ovan finns det vissa punktfiler som körs när du loggar in eller startar ett skalfönster. Filen .bashrc körs varje gång du startar ett skalfönster.

Ett exempel på saker du kan lägga i .bashrc är så kallade alias. Du kan skapa kortkommandon i skalet om det finns långa och komplicerade kommandon som du vill utföra ofta. Nedan följer ett exempel på vad man kan lägga in i filen:

	
alias ls='ls -l'
	

Detta innebär att varje gång du skriver ls i skalfönstret så kommer ls att köras med flaggan -l som gör att du får en detaljerad fillista.

Du kan se en lista över alla alias som finns genom att bara skriva kommandot alias.

Övning Öppna .bashrc i valfri textredigerare och lägg till ett alias. Spara filen och öppna sedan ett nytt skalfönster och testa ditt nya alias. Du kan enkelt ta bort det efteråt genom att bara radera textraden i filen.

Exempel på anpassning av skalet: Variabler

I tidigare avsnitt har vi ändrat på variabler i en skalprocess, men varje gång vi stänger skalet så kommer de ändringar som vi har gjort försvinna. Vi kan använda .bashrc för att sätta och ändra skalvariabler direkt när vi startar ett skalfönster.

Vi har tidigare satt skalvariabeln MINVARIABEL till "Det svarta guldet" med export-kommandot. Man kan lägga in samma kommando i .bashrc för att se till att MINVARIABEL får bestående värde "Det svarta guldet". I filen lägger man alltså till raden

	
export MINVARIABEL="Det svarta guldet"
	

När man sedan startar om skalet så kommer MINVARIABEL vara satt till "Det svarta guldet".

	
turte123@li10-3:-$ echo $MINVARIABEL
Det svarta guldet
	

Lägga till aktuell katalog som sökväg

Det kan underlätta vid skrivning av skript att alltid ha den aktuella katalogen, som refereras av en punkt (.), som en sökväg. Man kan enkelt lägga till detta i sina skalprocesser genom att använda export-kommandot som ovan.

Övning Öppna .bashrc i valfri textredigerare och lägg till den aktuella katalogen som sökväg. Använd metoden från modulen Fil och modulsystemet som ledning.

Exempel på anpassning av skalet: Prompten

I filen .bashrc kan man även ändra utseendet på hur skalfönstret ska se ut samt hur prompten ska bete sig. Detta gör att man kan få en lite personligare miljö att arbeta i. En del vill se vilken katalog man befinner sig i eller vilken dator de är inloggade på. Man kan ställa in en hel del saker angående skalet. Allt som vi går igenom här behandlar skalet bash eftersom det är standardskalet som alla använder till en början. Det rekommenderas att man inte byter skal om man inte vet precis vad man håller på med. I övrigt hänvisas till info bash för fler alternativ som man kan använda sig av.

Du kan ändra prompten i ditt skalfönster så att den visar annan information. Det normala utseendet är att den visar ditt användarnamn, vilken dator du är inloggad på samt aktuell katalog. Om du hellre vill se annan information går det att anpassa genom att ändra värdet på systemvariabeln PS1. Detta gör du genom att skriva t.ex. så här:

	
PS1='\u@\h:\W\$ '
	

Denna rad kan du antingen skriva in vid prompten direkt, för att testa, eller lägga in i filen .bashrc. Ovanstående exempel visar koden för den normala prompten. Ett annat exempel är:

	
PS1='[\t] \w <\!> '
	

Detta visar aktuellt klockslag inom hakparenteser, aktuell katalog samt numret på det aktuella kommandot inom vinkelparenteser. Det finns ett flertal olika koder av typen \x som man kan använda för att få prompten att se annorlunda ut. Här är några exempel:

Kod Beskrivning
\W Visar den aktuella katalogen. Hemkatalogen visas med ett ~.
\w isar hela sökvägen till den aktuella katalogen.
\! Visar antalet kommandon som man har skrivit in.
\h Skriver ut datorns värdnamn. Skriver bara ut namnet innan första punkten.
\H Skriver ut datorns värdnamn. Skriver hela värdnamnet.
\u Skriver ut användarnamnet.
\t Skriver ut vad klockan är i 24h-format. gör samma sak fast skriver i 12h-format.
\d Skriver ut dagens datum.
\n Skriver ut en ny rad.

Utskrifter

Du kan enkelt skriva ut textfiler från kommandoraden med kommandot lp. Skrivarsystemet klarar även av att hantera PDF-, och PostScript-filer som skrivs ut direkt från kommandoraden.

	
turte123@li10-3:-$  lp uppgift4.c
ID för begäran är eduPrint-LiU-807 (1 fil(er))
turte123@li10-3:-$  lp Konferensprogram.pdf
ID för begäran är eduPrint-LiU-808 (1 fil(er))
turte123@li10-3:-$ 
	

De textfiler som skrivs ut måste ha teckenkodningen UTF-8. Vissa program kan spara filer med fel tecknkodning, så om dina textfiler innehåller t.ex. svenska tecken blir utskriften felaktig om du skriver ut den rakt av med lp. Ett alternativ som fungerar även om du ska skriva ut programkod, är att använda kommandot a2ps. Som namnet lite kryptiskt antyder översätter det ASCII (d.v.s. vanlig text) till PostScript (ett språk som kan tolkas av många skrivare). För att skriva ut en fil kan du göra som i nedanstående exempel:

	
turte123@li10-3:-$  a2ps uppgift4.c
[uppgift4.c: 5 pages on 3 sheets]
[Total: 5 pages on 3 sheets]
ID för begäran är eduPrint-LiU-809 (0 fil(er))
turte123@li10-3:-$ 
	

a2ps skriver normalt ut programkoden i två liggande kolumner, vilket innebär att texten blir lite mindre än normalt, men mycket mer överskådlig. Det finns en lång rad inställningar till a2ps, men tyvärr finns det inga manualsidor. Du kan istället få en summerad beskrivning genom att skriva a2ps --help.

Sammanfattning

  • En punktfil är en fil som börjar med en punkt. Dessa är vanligtvis gömda för användaren och innehåller ofta inställningar till program.
  • .bashrc körs varje gång du öppnar ett terminalfönster.
  • Du kan skapa kortkommandon i skalet om det finns långa och komplicerade kommandon som du vill utföra ofta genom att använda ett alias.
  • I .bashrc kan du bl.a. skapa alias, variabler och skräddarsy prompten.
  • Kommandot lp kan användas för att skriva ut en fil.

Diagnos

Det finns ingen diagnos för detta avsnitt men det kan vara en bra idé att repetera och testa det som tas upp så att det sätter sig på minnet!


Sidansvarig: Peter Dalenius
Senast uppdaterad: 2023-08-21