Per Stenebo
2011-11-04 19:43:29
2024-12-29 12:10:06
Bash
Vanliga terminalkommandon i Linux.
| Debian man pages | Ubuntu man pages |
| Advanced Bash-Scripting Guide |
| File test operators | Comparison operators | nano text editor |
Kolla (sökväg till) kommando:
which date
eller whereis date
eller type date
Planerad omstart: shutdown -r 07:55 Omstart efter uppdatering
One-line loop:
while true; do foo; sleep 2; done
pgrep -f 'chrome' | while read pid; do kill $pid; sleep 1; done
Skriv ut rad 11 till 15 från en fil:
head -n 15 numbers.txt | tail -n 5
Unix timestamp: date +%s
Aritmetik
| Bash Scripting Tutorial - 4. Arithmetic |
Aritmetik med heltal:
count=0 && let count+=1 && echo $count
bör ge svaret 1
echo $(( 1+1 ))
bör ge svaret 2
count=0 && ((count++)) && echo $count
bör ge svaret 1
count=0 && let count=count+1
bör ge svaret 1
Aritmetik med decimaler:
sudo apt install bc
echo "scale=2; 3/2" | bc
bör ge svaret 1.50
echo "scale=4; 899.07000732422 + 899.07000732422 + 899.07000732422 + 899.07000732422" | bc
Ger svaret 3596.28002929688
read
I/O Redirection
| tldp.org |
>
Skriv över
>>
Lägg till
0
stdin (standard input)
1
stdout (standard output)
2
stderr (standard error)
Omdirigera både stdout och stderr till en textfil, läggs till efter befintligt innehåll:
./skript.sh >> log.txt 2>&1
2>&1
kan även skrivas &>
Omdirigera all output av kommandot ls till intet:
ls > /dev/null 2>&1
Omdirigera stdout och stderr till intet och skicka exekveringen till bakgrunden:
bash /path/to/your/script.sh > /dev/null 2>&1 &
Kör kedjade kommandon och omdirigera stdout och stderr till en fil:
{ echo "Hello" && echo "World"; } > ~/test2.txt 2>&1
Skript
if aptitude search '~i ^smbfs$'; then
echo "ja"
else echo "nej"
Fel
Felmeddelande vid inläsning från fil:
: command not found
Ändra radslut från Win (CRLF) till Unix (LF).
vi / vim texteditor
| vim wiki |
screen
Växla till nästa fönster: ctrl+a och n
Växla till föregående fönster (previous): ctrl+a och p
Koppla ifrån session (detach): ctrl+a och d
Återansluta till frånkopplad session: screen -r
Återansluta till avbruten session: screen -d -r
Skrolla en sida: ctrl+a och ESC och PGUP/PGDWN eller pil upp/pil ner. Avbryt med ESC.
curl
| Hemsida | Tutorial | Debian man page |
Installera med: sudo apt install curl
Skicka data via HTTP GET från kommandoraden (mellanslag ersätts med %20):
curl http://example.com/test.php?mydata=myvalue&name=Per%20Yin
Skicka data via HTTP POST från en terminal:
curl --data "id=23&name=Per Yin" http://www.example.com/test.php
curl för php7 (Ubuntu 16.04): sudo apt install php-curl
mysql
| bash-mysql |
mysql -h$dbhost -u$dbuser -p$dbpass -D$dbname -e"SHOW TABLES";
imagemagick
Installera: sudo apt install imagemagick
identify
Bildinformation, inklusive exif:
identify -verbose image.jpg
convert
Ubuntu manpages: | convert |
Konvertera flera bilder till en pdf: convert -compress jpeg minaBilder*.jpg minaBilder.pdf
Konvertera pdf till bild: convert file.pdf file.png
(alternaivt jpg eller flera andra format)
Modifiera kvaliteten med -density: convert -density 150 file.pdf file.jpg
Felmeddelande: convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/421.
sudo nano /etc/ImageMagick-6/policy.xml
beep
sudo modprobe pcspkr
sudo sh -c "echo -e '\a' > /dev/console"
System temp
Ubuntu 24.04 - Intel Core i5-6500
ls -l /sys/devices/virtual/thermal/thermal_zone0/
cat /sys/devices/virtual/thermal/thermal_zone0/type
cat /sys/devices/virtual/thermal/thermal_zone0/temp