Rss

  • linkedin

Archives for : Terminalkommandon

df – Dagens terminalkommando

Om man är intresserad av att veta hur hårddiskarna används så är “df” rätt kommando att använda. Skriver man bara df så får man standardutskriften vilket kan se ut som följer:

johan@crm:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 19734388 1297384 17434552 7% /
tmpfs 257028 0 257028 0% /lib/init/rw
varrun 257028 64 256964 1% /var/run
varlock 257028 0 257028 0% /var/lock
udev 257028 2628 254400 2% /dev
tmpfs 257028 0 257028 0% /dev/shm

Tyvärr visas inte informationen i något vidare läsbart format som standard och för att få lite mer lättläst format som man är van vid lägger man till växeln -h (human readable) precis som för ls.

johan@crm:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 1.3G 17G 7% /
tmpfs 252M 0 252M 0% /lib/init/rw
varrun 252M 64K 251M 1% /var/run
varlock 252M 0 252M 0% /var/lock
udev 252M 2.6M 249M 2% /dev
tmpfs 252M 0 252M 0% /dev/shm

— Johan Ryberg

less – Dagens terminalkommando

För att enkelt läsa i en textfil är “less” ett riktigt bra kommando. less låter dig läsa både upp och ner i dokumentet samt du kan lätt hoppa till specifik rad eller söka. Snabbkommandon för less är en blandning av more och vi.

För att läsa i en fil skriver man less [filnamn] som t.ex. “less /etc/group”

Här följer några användbara snabbkommandon:

  • :[radnummer] – Hoppar till önskad rad, ex: :41
  • /[sökord] – Letar upp och markerar sökordet, ex: /manual
  • [pil ned] – Bläddar nedåt
  • [pil upp] – Bläddrar uppåt
  • q – Avslutar

— Johan Ryberg

sudo – Dagens terminalkommando

I Ubuntu så är ens vanliga användare ingen administratör och har således inte heller några administrativa rättigheter och för att göra administrativa åtgärder. För att tillfälligt få dessa rättigheter används kommandot “sudo”.

Sudo låter dig köra kommandon som en annan användare och då vanligtvis root genom att skriva sudo [kommando] som t.ex. “sudo apt-get update”. När man tryckt enter behöver man ange lösenord och då är det samma lösenord som till ditt egna konto som avses.

— Johan Ryberg

man – Dagens terminalkommando

Om man behöver hjälp gällande ett kommando, systemanrop, inställningsfiler (dem under /etc/) eller kanske systemadministration så finns kommandot “man” som är ett gränssnitt mot installerade programs manualer.

För att t.ex. få hjälp om just man skriver man “man man”, vill man få hjälp om ls skriver man “man ls”.

För att söka i en man-fil trycker man först “/” och sedan skriver man sökordet följt av enter.
Exempel “/files” för att söka efter sökordet “files”. För att stega till nästa träff trycker man “n” för next (nästa) eller för att backa “p” för previous (föregående).

För att avsluta trycker man på “q”.

— Johan Ryberg

ls – Dagens terminalkommando

ls är programmet som visar innehållet i en katalog och står för “list directory contents”. Om du hade använt Windows hade du fått skriva “dir” istället.

Skriver man bara “ls” får man samtliga kataloger och filer utskrivna i långa rader på skärmen vilket inte alltid är så användbart eller läsbart för den delen heller.

Oftast enklare och mer överskådligt att skriva “ls -l” där -l står för “use a long listing format”, alltså visas en mer detaljerad lista på filerna.
Som ni ser syns nu filens/katalogens rättigheter, vem som äger filen, grupptillhörighet, storlek, tidpunkt när filen senast ändrades samt om det är en länk.

Filernas storlek visas dock i bytes vilket kan bli lite svårläst och då kan man lägga till växel -h som står för “human readable” vilket skalar ner till kilobyte, megabyte, gigabyte eller annan passande storhet.

Önskar man endast visa filer som börjar på bokstaven a kan man använda jokertecken som b* som visar allt som börjar med b.
Exempel: ls -lh b*

För att t.ex. endast visa .log-filer lägger man istället till jokertecknet innan filsuffixet som t.ex. ls *.log.

Exempel: ls *.log

För att visa samtliga filer som även är dolda lägger man till -a vilket behövs i t.ex. sin hemmakatalog som ofta innehåller mängder med dolda kataloger vilket ni ser i exemplet nedan. Först kör jag ls -lh och sedan lägger jag till a för att visa samtliga och då ser man ett gäng kataloger som börjar med . (punkt) vilket är ett sätt att dölja filer och kataloger i Linux

— Johan Ryberg

cd – Dagens terminalkommando

cd som står för Change Directory – byt katalog är det kommando man använder för att navigera sig i sitt filträd. För att få hjälp om cd skriver man “help cd” eftersom cd inte är ett program utan en funktion i bash som är Ubuntus standardskal

johan@crm:~$ help cd
cd: cd [-L|-P] [dir]
Change the current directory to DIR. The variable $HOME is the
default DIR. The variable CDPATH defines the search path for
the directory containing DIR. Alternative directory names in CDPATH
are separated by a colon (:). A null directory name is the same as
the current directory, i.e. .'. If DIR begins with a slash (/),
then CDPATH is not used. If the directory is not found, and the
shell option
cdable_vars’ is set, then try the word as a variable
name. If that variable has a value, then cd to the value of that
variable. The -P option says to use the physical directory structure
instead of following symbolic links; the -L option forces symbolic links
to be followed.

När man startar en ny terminalsession så hamnar man som standard i sin hemmakatalog vilket är /home/”användarnamn”.

johan@crm:~$ pwd
/home/johan

För att gå upp en nivå till /home skriver man “cd ..”

johan@crm:~$ cd ..
johan@crm:/home$ pwd
/home

Som ni även ser använder jag kommandot pwd för att verifiera att jag står i rätt katalog

Om man vill byta till en katalog man vet sökvägen till skriver man cd “sökväg” och enklast är ange sökvägen från botten av katalogstrukturen. Botten, här efter root-katalogen anges som / och det är under denna alla samtliga kataloger och filer finns på hela systemet. För att då förflytta sig till /var/log skriver man följande “cd /var/log”

johan@crm:/home$ cd /var/log
johan@crm:/var/log$ pwd
/var/log

Det finns en smidig genväg för att förflytta sig hem igen till sin hemmakatalog och för att göra det skriver man endast “cd”

johan@crm:/var/log$ cd
johan@crm:~$ pwd
/home/johan

–Johan Ryberg

pwd – Dagens terminalkommando

Vi börjar serien “dagens terminalkommando” med ett mycket grundläggande kommando som heter pwd vilket står för “Print Working Directory”. Kommandots enda uppgift är att skriva ut aktuell katalog som man står i just för tillfället.

johan@crm:/var/log$ pwd
/var/log
johan@crm:/var/log$

Vid en normalinstallation så ser man i bash vart man befinner sig eftersom prompten anpassar sig allt eftersom man byter katalog, innan ovan stod jag i /var/log vilket man ser efter användarnamn@maskinnamn: men det finns tillfällen då detta saknas eller att man vill säkerhetsställa att man står i rätt katalog innan man t.ex. raderar samtliga filer i t.ex. /tmp

En liten “lustig” sak men pwd är att man-filen är trasig i Ubuntu. Enligt hjälpen skall –version samt –help fungera att ange som växel men det gillar inte pwd som ger följande felmeddelande:

johan@crm:/var/log$ pwd –version
-bash: pwd: –: invalid option
pwd: usage: pwd [-LP]

Som vanligt är det mycket viktigt att anmäla samtliga buggar man hittar, stora som små och det är vår skyldighet att anmäla dem så att utvecklarna får chansen att åtgärda eventuella problem. Buggar för Ubuntu anmäler man hos Launchpad på följande adress https://bugs.launchpad.net/

edit: Det var ingen bugg utan en “feature”. När man skriver pwd exekveras en internt funktion i bash och inte det som finns under /bin/pwd vilket är beskrivet i man-filen och därför stämmer inte man-filen överens med kommandot. Tack “anonym” för rättningen och min bugg i Launchpad stängdes av precis samma anledning.

— Johan Ryberg

Dagens terminalkommando

Bara i en standardinstallation av Ubuntu 8.10 server finns det runt 1300 program som går att starta i en terminal och där vissa är riktigt användbara även för en standardanvändare som normalt bara använder grafiskt gränssnitt.

Jag har tänkt gå igenom de mest vanligt förekommande samt mest användbara programmen genom att skriva om var och ett av dessa lite kortfattat med några exempel och förhoppningsvis blir det ungefär ett per dag tills dess att dem är avhandlade.

Även om Canonicals plan med Ubuntu är att leverera den mest användarvänliga grafiska Linux-distributionen så kommer man förr eller senare behöva använda terminalen för att reda ut ett problem eller så kanske du startar en server en vacker dag och där vill man inte använda X vilket gör att terminalen är enda utvägen och då är det väldigt bra att kunna lite kommandon.

Fråga gärna allt eftersom om du har några frågor eller kom med bra exempel på hur du använder det kommandon som jag går igenom för ibland missar man användbara exempel som kan vara bra att ha.

— Johan Ryberg