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