Inledning.



 

I begynnelsen var Unix.
Unix utvecklades på AT&T's Bell Labs utvecklingscentrum av Ken Thompson, Dennis Ritchie med flera. Den mest spridda versionen var system SVR 4.

1987 släpte Andrew S. Tanenbaum Minix (miniunix). Minix var avsett att lära studenter operativsystem.
1991 släpte Linus Torvald den första versionen av det som kommit att heta Linux.

Med sin historia och mer eller mindre kopplingar till Unix har Linux "tagit över" mycket av principerna för ett operativsystem från Unix.

Detta är tänkt som en enkel beskrivning av de viktigaste kommandona och funktionerna i Linux.



Bash.

Bash är ett sh-kompatibel, interpreterande kommandospråk som utför/exekverar kommandon som skrivs in via standard input eller från en fil. Bash har även inkorporerat användbara egenskaper från Korn- och C-shell (ksh och csh).

Bash är tänkt att vara en implementering av Shell och nyttigheter från IEEE POSIX specifikationerna (IEEE Standard 1003.1). Bash kan i grundinställningen vara konfigurerad att vara POSIX-anpassad.

Information om bash och hur bash kan användas kan man läsa om i de oftast bifogade "man-sidorna", man bash.
Länk till den officiella hemsidan (engelska) om Bash.



cd.

cd = change directory, byt mapp.
"cd" ensamt eller cd ~ kommer alltid att flytta dig till din hemmamapp.
"cd ." kommer att lämna dig i samma mapp som du redan är i (ingen ändring)(Observera punkten)
"cd ~användarnamn" kommer att flytta dig till användarnamns hemmamapp.
"cd dir" (utan ett /) kommer att flytta dig till en undermapp. Till exempel, om du befinner dig i /usr, genom att skriva cd bin kommer att flytta dig till /usr/bin, medans cd /bin flyttar dig till /bin.
"cd .." kommer att flytta dig upp en mapp. Så, om du befinner dig i /usr/bin/tmp, cd .. flyttar dig till /usr/bin, medans cd ../.. flyttar dig till /usr (i.e. upp två nivåer). Du kan detta sätt för att även nå undermappar. Så, från /usr/bin/tmp, kan du använda cd ../../local för att gå till /usr/local.


Filsystem.


drwxr-xr-x  22 root root  4096 jan  1  1970 .
drwxr-xr-x  22 root root  4096 jan  1  1970 ..
drwxr-xr-x   2 root root  4096 sep 26 11:58 bin
drwxr-xr-x   2 root root  1536 jan  1  1970 boot
drwxr-xr-x  12 root root  3160 okt 15 08:03 dev
drwxr-xr-x 117 root root  4096 dec 14 04:24 etc
drwxr-xr-x   3 root root  4096 jan  1  1970 home
drwxr-xr-x  13 root root  4096 nov 12 05:47 lib
drwx------   2 root root 16384 jan  7  2014 lost+found
drwxr-xr-x   3 root root  4096 okt  7 09:09 media
drwxr-xr-x   2 root root  4096 okt 17  2013 mnt
drwxr-xr-x   5 root root  4096 jan  1  1970 opt
dr-xr-xr-x 118 root root     0 jan  1  1970 proc
drwx------   9 root root  4096 sep  6 06:57 root
drwxr-xr-x  18 root root   760 nov 24 09:09 run
drwxr-xr-x   2 root root  4096 nov 24 09:07 sbin
drwxr-xr-x   2 root root  4096 jun 20  2012 selinux
drwxr-xr-x   2 root root  4096 jan  7  2014 srv
dr-xr-xr-x  12 root root     0 jan  1  1970 sys
drwxrwxrwt   8 root root  4096 dec 14 07:17 tmp
drwxr-xr-x  11 root root  4096 okt 26 06:27 usr
drwxr-xr-x  12 root root  4096 sep 14 07:55 var



Filrättigheter.

I Linux åsätts varje fil rättigheter.


  Rättighet   Betydelse
  r     Rättighet att läsa (read) filen.  
  w     Rättighet att skriva (write) till filen.  
  x     Rättighet att exekvera (execute) filen.  

Vem har rättigheter.

Rättigheterna indelas i tre grupper ägare(user, u), grupp(group, g), övriga(other, o)


  Bokstav   Betydelse  
  u     Den som är ägare (user) till filen.  
  g     Den grupp (group) som filen tillhör.
  o     Alla andra (other) användare.
  a     Alla (all) av ovanstående (en förkortning för ugo)  

Exempel:

  minfil -rwxr-xr-x  

Detta ska tydas som:
ägaren kan läsa,skriva, exekvera (rwx)
gruppen kan läsa,exekvera (r-x)
övriga kan läsa,exekvera (r-x)

Det första tecknet anger om det är en katalog(d) eller fil(-).

chmod.

För att ändra rättigheter används kommandot chmod. Detta kan behöva göras ganska ofta om man arbetar med filer i /var/www/html, en lokal hemsida. Även om man arbetar med filer i andra kataloger som normalt ägs av root och har begränsade skrivrättigheter. I sådana fall är det bara root som har rättighet att skriva (w) till filen, övriga har då endast rättighet att läsa och exekvera filen, (-rx) .
Kommando: chmod MODE filnamn
MODE:
n1(user) n2(group) n3 (other)
4 (read) 2 (write) 1 (execute)

Exempel 1:
chmod 755 filnamn
betyder att läs/skriv/exekvera för ägaren, läs/exekvera för grupp och övriga.

Exempel 2:
chmod u=rwx filnamn
betyder att ägaren (u=user) får rättighet att läsa,skriva och exekvera.


chown.

Ändra ägare till en fil.
Exempel:
chown nyttägarnamn PATH/filnamn


chgrp.

Ändra grupptillhörighet på en fil.
Exempel:
chgrp nygruppnamn PATH/filnamn


clear.

Kommandot clear används för att rensa ett terminalfönster.


cp.

Kopiera en fil.
Exempel:
cp filnamn /katalog/filnamn
Om, gud förbjude, filnamnet innehåller ett mellanslag måste filnamnet omges med citattecken.
cp 'fil namn' /katalog/'fil namn'


date.

Ställa in datum och tid.
Exempel:
Datum:
date +%Y%m%d -s "20120418"
date +%F
Klockan:
date +%T -s "11:14:00"


ifconfig.

Visa nätverksinformation.
Exempel:

pi@BlackRasp ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4726894 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4726894 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1421188637 (1.3 GiB)  TX bytes:1421188637 (1.3 GiB)

wlan0     Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          inet addr:10.0.0.52  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:58326 errors:0 dropped:33740 overruns:0 frame:0
          TX packets:12659 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:921656622 (878.9 MiB)  TX bytes:1546003325 (1.4 GiB)

pi@BlackRasp ~ $

HWaddr = MACaddress


iwconfig.

Visa information om trådlöst nätverk.
Exempel:

pi@BlackRasp ~ $ iwconfig
wlan0 IEEE 802.11bg ESSID:"*********" Nickname:"<WIFI@REALTEK>" Mode:Managed Frequency:2.462 GHz Access Point: XX:XX:XX:XX:XX:XX Bit Rate:54 Mb/s Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Power Management:off Link Quality=100/100 Signal level=100/100 Noise level=0/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 lo no wireless extensions. eth0 no wireless extensions. pi@BlackRasp ~/temp $

kill.

Avsluta en process (se ps -ef). Kommandot kill skickar signalen TERM till processen
Exempel:
kill -9 processnummer
I bland behöver man ha adinistratörsrättigheter:
sudo kill -9 processnummer


ls.

Lista filerna i aktuell katalog.

ls -l.

Lista filerna och kataloger i aktuell katalog i långt format (tabellformat).
Exempel:

pi@Caracalla ~ $ ls -l
totalt 36
drwxr-xr-x 5 pi pi 4096 jan  1 08:52 bcm2835-1.38
drwxr-xr-x 2 pi pi 4096 jan  1 08:27 Desktop
drwxr-xr-x 3 pi pi 4096 jan  1 08:33 Development
-rw-r--r-- 1 pi pi 5781 feb  3  2013 ocr_pi.png
drwxrwxr-x 2 pi pi 4096 jan  1  1970 python_games
drwxr-xr-x 2 pi pi 4096 jan  1 11:22 Script
drwxr-xr-x 3 pi pi 4096 jan  3 07:06 sketchbook
drwxr-xr-x 8 pi pi 4096 jan  1 08:51 wiringPi
pi@Caracalla ~ $

lsmod.

Visar status på de moduler som är inladdade i Linuxkärnan (kernel).
Exempel:

pi@Caracalla ~ $ lsmod
Module						Size  Used by
snd_bcm2835					19584  0 
ftdi_sio						30576  0
usbserial						26580  1 ftdi_sio
snd_soc_bcm2708_i2s		 	  6202  0
regmap_mmio					 2818  1 snd_soc_bcm2708_i2s
snd_soc_core			 	     127841  1 snd_soc_bcm2708_i2s
snd_compress				 	 8259  1 snd_soc_core
regmap_i2c					 1661  1 snd_soc_core
snd_pcm_dmaengine			 5505  1 snd_soc_core
regmap_spi					 1913  1 snd_soc_core
snd_pcm					       83845  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
8192cu					     550797  0 
snd_page_alloc				 5132  1 snd_pcm
snd_seq					       55484  0 
snd_seq_device				 6469  1 snd_seq
snd_timer					       20998  2 snd_pcm,snd_seq
leds_gpio					 	 2079  0 
led_class					 	 4118  1 leds_gpio
snd						       62252  7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
pi@Caracalla ~ $

lsusb.

Lista vilka USB-enheter som är anslutna och inkopplade.
Exempel:
lsusb
Resultatet kan bli något liknande detta:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 1781:0c30 Multiple Vendors Telldus TellStick
Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

man.

man, manual, är en handbok på engelska som följer med Linuxdistributionen. man visar på ett kortfattat sätt hur ett kommando ska användas samt vilka tillägg som finns till kommandot.
Exempel:
man ls


mv.

Flytta en fil samt byta namn på en fil.
Exempel:
mv filnamn /katalog/filnamn

Byta namn på en fil. Exempel:
mv filnamn nyafilnamnet


mkdir.

Skapa en ny katalog.
Exempel:
mkdir nyttkatalognamn
eller
mkdir katalog/nyttkatalognamn


more.

more är ett filter för att läsa text en bildskärmsida åtgången. Denna version är ganska enkel. Användare ska veta att less(1) tillför samma sak som more plus en omfattande utökning. Ifall texten är längre än en skärmsida så visas nästa sida genom att trycka på mellanslagstangenten. För att avbryta visningen trycker man på Q-tangenten.
Exempel:
more filnamn


ps -ef.

Visar information om aktiva processer i fullt format.
Exempel (ett urklipp):

pi@BlackRasp ~/temp $ ps -ef
--------
jan      13403     1  0 02:12 ?        00:00:00 /usr/libexec/at-spi2-registryd --use-gnome-session
jan      13440 10313  0 02:12 ?        00:00:00 /usr/bin/nepomukfileindexer
jan      13442 10313  0 02:12 ?        00:00:02 /usr/bin/nepomukfilewatch
root     20163     2  0 02:41 ?        00:00:02 [kworker/6:2]
root     20347     2  0 02:44 ?        00:00:02 [kworker/u16:0]
root     20437     2  0 02:46 ?        00:00:00 [jbd2/sdc1-8]
root     20438     2  0 02:46 ?        00:00:00 [ext4-rsv-conver]
jan      20484 10494  0 02:47 pts/0    00:00:00 ssh -l pi blackrasp_wifi
jan      23047  5684  0 02:14 ?        00:00:05 /usr/bin/ksystraycmd /usr/bin/firefox
jan      23050 23047  5 02:14 ?        00:06:37 /usr/bin/firefox
jan      23067 23050  0 02:14 ?        00:00:00 /usr/lib/mozilla/kmozillahelper
apache   24638  2253  0 02:14 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root     30634     2  0 03:58 ?        00:00:03 [kworker/3:1]

Kolumn 2 anger processnummer. Processnumret används när man vill avbryta en process (se kill).


pwd.

Visa namnet på den katalog man befinner sig i. Resultatet kan se ut så här:
pi@Caracalla ~ $ pwd
/home/pi
pi@Caracalla ~ $


rm.

Radera en fil.
Exempel:
rm filnamn


rmdir.

Radera en katalog.
Exempel:
rmdir katlognamn
Observera att katalogen måste vara tom.


rsync.

Rsync kopierar filer antingen till eller från en annan dator eller lokalt på aktuell dator (det går inte att kopiera filer mellan två externa datorer).

Det finns två olika sätt för rsync att få kontakt med en extern dator:
använda ett fjärrskal för transport (såsom ssh eller rsh) eller skapa en rsynkdemon direkt via TCP. Fjärrskal för transport används närhelst källan eller destinationen innehåller ett kolon(:) efter specificeringen av dator.

Synbtax:
rsync option källa destination
Ett specialfall, om endast en källa anges utan destination listas filerna i ett format som liknar "ls -l". Som förväntat, att om varken källans eller destinationens sökväg specificeras på den fjärrdatorn sker en kopiering på den lokala datorn (se även --list-only tillägget).

Rsync pekar på den lokala datorn som "klient" och fjärrdatorn som "server". Blanda inte ihop "server" med rsyncdemon en demon är alltid en server men en server kan vara antingen en demon eller en skapad fjärrskalsprocess.
Exempel:
rsync -avz -e ssh /home/pi/ pi@Bubba:/home/storage/extern/WDC_WD10EARS-22Y-1/backup/caligula/

Jag använder rsync som backupprogram.
Jag har skapat en mapp/directory för varje dator på vilken det ska göras backup på:
/media/drive/Arkiv/datornamn/

Sedan har jag ett skript för varje Raspberry Pi som det ska göras backup på:
#!/bin/bash
rsync -avz -e ssh pi@datornamn:/home/ /media/drive/Arkiv/datornamn/
Varje gång jag kör skriptet måste jag ange lösenord för den dator(datornamn) som backup ska göras från.


screen.

screen /dev/ttyUSB0 115200
Tryck Enter så kommer följande upp på skärmen:

Raspbian GNU/Linux 8 Titanus ttyS0

Titanus login:

Ange username för aktuell Raspberry Pi.
Ange sedan aktuellt lösenord.

Avsluta/Koppla ner.
exit
Ctrl-A sedan K (versalt K, stor bokstav K)


shutdown.

För att stänga datorn används kommandot shutdown. Detta kommando kan endast användas när man är root. Man får börja med att ändra userID, se nedan.
Därefter är det kompletta kommandot:
shutdown -h now

För att starta om datorn är kommandot:
shutdown -r now

Utan tillägget now tar det sextio sekunder innan avstängningen/omstarten börjar.


ssh.

ssh (SSH client) är ett program för att logga in i en fjärrdator och för att exekvera kommandon i en fjärrdator. ssh är avsett att ersätta rlogin och rsh, och tillhandahålla en säker krypterad kommunikation mellan två osäkra värddatorer över ett osökert netverk. X11 förbindelse och godtycklig TCP-portar kan också vidarebefordras över en säker förbindelse.
-l login_name
Specifiserar den användare som ska logga in på fjärrdatorn.
$ ssh -l användarnamn datornamn

-p port
Anger den port som ska användas för att ansluta till på fjärrdatorn.
$ ssh -p 2222 user@your-ip


su.

Ändra användarID eller bli superuser (root) och erhålla roots rättigheter.
Exempel:
su
Password:
Skriv in roots lösenord.


sudo.

Tillåter användare att exekvera ett kommando med rooträttigheter.
Exempel:
sudo kommando

 


Till början.