• Kategorier
  • Senaste
  • Taggar
  • Populära
  • Logga in
  • Logga in
  • Sök
  • Kategorier
  • Senaste
  • Taggar
  • Populära

Sammanfoga flera separata pdf-dokument till ett enda dokument

Linux
kommandon linux pdf terminal
1
1
172
Laddar fler inlägg
  • Äldst till nyaste
  • Nyaste till äldst
  • Flest röster
Svara
  • Svara som ämne
Logga in för att posta
Det här ämnet har raderats. Endast användare med ämneshanterings-privilegier kan se det.
  • Mikael
    Mikael Senaste redigerad av Mikael 5 okt. 2022 16:48 18 feb. 2020 20:17

    Ghostscript

    Ibland har man flera pdf-dokument som ska ligga i samma fil. Det finns flera online verktyg för att göra detta men om du vill göra det via en kommandotolk så kan du använda dig av Ghostscript på ett smidigt sätt.

    gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=allafiler.pdf fil1.pdf fil2.pdf fil3.pdf
    

    Om du inte kan eller gillar att göra saker i en terminal så kan du använda denna PDF-editor.

    Fick själv användning av detta nyligen när jag skulle sammanfoga massor med dokument för bokföringen 😉

    Jenkler IT AB - Er leverantör för e-handel, hemsidor och IT-support - 073-731 76 64

    Ett svar Senaste svaret Svara Citera 0
    • 1 / 1
    global:pagination.out_of, 1, 1
    • Första inlägget
      1/1
      Sista inlägget
    • Konvertera till och från UTF-8 med iconv

      Mikael
      Iconv

      Olika filer har olika teckenkodning och du kan se vilken kodning du har med kommandot file.

      file filenamn.txt

      Om du behöver konvertera en fil från ISO-8859-1 till UTF-8 så kan du använda iconv. Iconv är ett datorprogram och ett standardiserat programmeringsgränssnitt (API) som används för att konvertera mellan olika teckenkodningar.

      iconv -f iso-8859-1 -t utf-8 < filnamn1.txt > filename2.txt

      Man kan även bygga script som convert_iso-8859-1_utf-8.sh för att utföra olika saker med iconv.

      #!/bin/bash if [ $# -gt 0 ]; then folder=${1%/} if [ -d "$folder.backup" ]; then echo "Error: backup folder exists" exit fi cp -r $folder $folder.backup find $folder -type f -exec bash -c ' file={} if [ -n "$(file $file | grep -i iso-8859)" ]; then echo $file iconv -f iso-8859-1 -t utf-8 -o "$file.tmp" "$file" mv "$file.tmp" "$file" fi ' \ \; else echo "Usage: $0 <directory>" fi

      Tänk på att du kan använda iconv för att konvertera en teckenkodning till vilken annan teckenkodning som helst. Detta är mycket användbart om du frågar mig 😉 Ta alltid backup på alla filer innan du kör skript!

      Linux
      19 feb. 2020 16:30
    • Användbara kommandon för Linux

      Mikael
      Terminalkommandon i Linux

      Terminalfönstret är och förblir det mest grundläggande sättet att hantera kommandon i Linux, Unix och liknande system. Samtidigt är det inte alltid så lätt att hitta information om hur man använder de olika kommandona på svenska.

      5.jpeg

      Eftersom Linux har blivit mycket lättare med distributioner som liknar Windows så glömmer folk bort att lära sig grunden i Linux. Styrkan i Linux är just terminalkommandon och den flexibilitet man får. Nästan alla kommandon har växeln --help där man kan få mera hjälp. Vill man få mycket information så använder man kommandot man innan kommandot.

      Tar fram manualen för kommandot ls
      man ls

      Dessa är viktiga att kunna för vanligt bruk

      cat - Visa en fils innehåll i terminalfönstret cd - Ändra vilken katalog i filsystemet du arbetar i cp - Kopierar fil eller katalog df - Visa lista på användning av minnesutrymme, bl.a. hårddisk du - Ta fram storleken på filer eller kataloger history - Se din kommando historik ifconfig - Visa dina nätverksuppkopplingar och ip-address killall - "Döda" (stäng av) dataprocesser, t.ex. program less - Visa en fils innehåll i ett rullbart fönster där du kan rulla upp eller ner med piltangenterna, ls - Visa alla filer som finns på den nuvarande katalogen man - Visa en hjälpfil som beskriver hur man använder ett kommando mkdir - Skapa en ny filkatalog under katalogen där du står mv - Flytta en fil till en ny filkatalog och/eller byt namn på den nano - Enkel och snabb texteditor (Jag rekommendera att man lär sig vim) passwd – Ändra ditt lösenord ping – Sänd ett kontaktmeddelande till en annan dator för att verifiera nätkontakt pwd – Visa namnet och sökpå den katalog där du står rm - Tar bort en fil (Går ej att ångra sig) sudo – Utför ett linuxkommando med rättigheter som om du vore användare root (Superanvändaren) tail – Visa de sista raderna i en textfil (Använd head för de första)

      Kommandon som kan vara värt att känna till

      chmod - Ändra rättigheter på filer eller kataloger chown - Ändra ägare på filer eller kataloger find - Sök i ditt filsystem free - Se hur mycket minne du har grep - Hämta ut bitar av information från kommando iwconfig - Kommando för trådlöst nätverk iwlist - Kommando för trådlöst nätverk kill - Döda en viss process (Funkar att använda istället för killall) mount - Montera ett filsystem från tex en extern enhet ps - Lista aktiva processer rsync - Skapa kopia av en större filmsamling su - Bli en annan användare tar – Skapa arkivfiler och även komprimerade arkivfiler (gzip / bzip) top - Visa körande processer traceroute - Ta fram nätverksväg till en node useradd - Lägger till nya användare till systemet wget - Hämta hem filer

      Mer avancerade kommandon

      alias - Skapa alias för dina kommandon bash - Scripting för att utföra många kommandon på samma gång vim - En avancerad texteditor export - hantera variabler i din shell miljö sort - Sortera data från kommandon

      Det finns mycket kommandon att lära sig. Om du tycker att jag missat något så är det bara att säga till så lägger jag till det.

      Linux
      19 feb. 2020 16:29
    • Klona webbplatser med wget

      Mikael
      Kloning av webbplats

      Wget har förmågan att klona en webbplats. Detta kommando är bra om du vill hämta en lokal kopia från webben och få ner CSS, bilder och Javascript lätt. Observera att det inte alltid blir en garanterad kopia med sidor som har mycket dynamiskt innehåll. Jag rekommenderar därför att man gör en manuell granskning efteråt utan nätverk.

      2 exempel kommandon för att klona webbplatsen wget -E -k -m --trust-server-names https://www.exempel.se wget -E -k -m --compression=gzip --password="password" --trust-server-names --user="user" --compression=auto https://www.exempel.se

      Man måste köra detta på varje domän eller subdomän man vill ladda ner och använda sig av GNU Wget.

      --adjust-extension / -E: Fixa html filändelse på dynamiskt innehåll.
      --compression=auto: Om du försöker spegla en sida där serven svarar med gzip.
      --convert-links / -k: Konverterar länkarna i dokumentet för att göra dem lämpliga för lokal visning.
      -m / --mirror: Växlar som är lämpliga för spegling.
      --password="": Lösenord ifall htpasswd är aktiverat.
      --trust-server-names: Om det här är inställt, kommer det lokala filnamnet baseras på omdirigeringsadressen.
      --user="": Användarnamn ifall htpasswd är aktiverat.

      Om du får problem med robots.txt och rättigheter så kan du lägga till: -e robots=off

      Linux
      19 feb. 2020 16:28
    • Hur man kör Ultimate Boot CD från USB-minne

      Mikael
      Installation av Ultimate Boot CD (UBCD)

      För att köra UBCD från ett USB-minne så behöver ditt usb-minne partitioneras i FAT16 eller FAT32 och formateras innan nödvändiga filer kopieras över till USB-minnet. Läs mer om Partitionera och formatera ditt usb minne.

      Nu måste vi skriva data till mbr på USB-stickan. Filen mbr.bin som behövs för att göra detta hittar du i den extraherade UBCD iso (/ubcd/tools/linux/ubcd2usb/). Ladda ner ison från UBCD och extraherad den. Glöm inte att byta ut X mot rätt enhet. dd if=mbr.bin of=/dev/sdX Montera partitionen på din USB-enhet. Du kan använda ett GUI för att göra detta eller bara via en terminal. I vissa fall så monterar din distribution USB-enheter automatiskt genom att ta bort och stoppa in USB-minnet igen. Kopiera alla filer från den extraherade UBCD-ison till ditt USB-minne. Installera syslinux på ditt USB-minne. Se till att /ubcd/tools/linux/ubcd2usb/syslinux är körbar. Ta bort växeln -i ifall du redan har installerat syslinux på ditt USB-minne innan. cd ubcd chmod a + x tools/linux/ubcd2usb/syslinux64 tools/linux/ubcd2usb/syslinux64 -i -s -d /boot/syslinux /dev/sdX1 Nu kan du starta UBCD från din USB-enhet, om ditt BIOS har stöd för det naturligtvis.
      Linux
      19 feb. 2020 16:24
    • Hur man använder sed kommandot i Linux

      Mikael
      Sed - strömredigerare för filtrering och omvandling av text

      Sed kommandot är som vim ganska knepigt att lära sig men när man får koll på det så kan man underlätta sitt arbete med shell script extremt mycket.

      När man ska manipulera och omvandla texter så är sed ett av de bästa verktygen i Linux. Jag ska försöka använda mig av bra kompatibilitet så att det funkar på så många installationer som möjligt. Därför har jag testat dessa kommandon på asus wrt som har en äldre busybox installation.

      Argument till kommandot

      -e Kör flera editeringar efter varandra. Jag rekommenderar att man kör sed 's/byt/till/; s/byt/till/' fil.txt istället för sed -e 's/byt/till/' -e 's/byt/till/' fil.txt. Blir både kortare och bättre med ; istället för -e.

      -n Stäng av automatisk print till standar ut. Använd sed -n 'p' för att få ut text.

      Kommandon

      För att skicka text till sed (standard input) så finns det olika sätt att göra detta på. Här ser du fyra exempel på detta.

      < fil.txt sed -n '2,3p' sed -n '2,3p' fil.txt cat fil.txt | sed -n '2,3p' printf 'Lite text' | sed -n 's/text/sed/p'

      Printa rad 4 till 6.

      sed -n '4,6p' fil.txt

      Radera rad 2 till 4 och printa sedan.

      sed -n '2,4d;p' fil.txt

      Tre exempel på att byta ut ordet byt till ordet till fast bara på rad 10 till 13. Det första exemplet byter ut det i texten och sedan printar hela texten medans det andra bara printar det som lyckats blivit utbytt. /p är en specialare som bara printar det den matchar på när man byter ut saker eller söker efter dem. Tredje exemplet gör samma som första men bryr sig ej om det är exakt match på stora och små bokstäver.

      sed -n '10,13s/byt/till/;p' fil.txt sed -n '10,13s/byt/till/p' fil.txt sed -n '10,13s/byt/till/I;p' fil2.txt

      Detta fungerar som grep att man letar efter hitta och sedan printar det som matchar. Det andra alternativet gör som den första men lägger till 10 rader efter matchen. Det tredje alternativet begränsar sökningen från rad 4 till 10. Det fjärde exemplet tar rader från försa <p> taggen till sista </p> taggen och sedan söker efter rader med <b> som den sedan tar bort och printar resten. Så en begränsning med {} kan sättas upp med både 4,10 eller ord och taggar.

      sed -n '/hitta/p' fil.txt sed -n '/hitta/,+10p' fil.txt sed -n '4,10{/hitta/p}' fil.txt sed -n '/<p>/,/<\/p>/{/<b>/d;p}' fil.txt

      d är använbart i många fall. Första exemplet är för att ta bort allt efter en match. När man använder ! så blir det tvärt om. Andra exemplet tar bort allt före en match.

      sed -n '/hitta/,$d;p' fil.txt sed -n '/hitta/,$!d;p' fil.txt

      q är riktigt bra om du vill sluta läsa in data. Då kan du genom flera q leta efter ett ställe och sedan ett annat och printa resten. Observera att om du vill ha med sista raden som den stannar på så måste du lägga in p före q.

      sed -n '/hitta/q;/hitta2/q;p' fil.txt sed -n '/hitta/q;p;/hitta2/q' fil.txt

      Här har vi några exempel på saker som skrivs ut 1. Första raden. 2. Femte raden. 3. Sista raden. 4. Sista radens nummer. 5. Sista radens nummer och innehåll. 6. Alla radnummer och innehåll.

      sed -n '1p' fil.txt sed -n '5p' fil.txt sed -n '$p' fil.txt sed -n '$=' fil.txt sed -n '$=p' fil.txt sed -n '=p' fil.txt

      När man har med n inom ' ' så hoppar man över en rad för varje rad. Detta betyder att varannan rad skriver ut radnumret. Den andra exemplet skriver ut varannan rad. Du kan hoppa över 3 rader för varje rad med sista exemplet.

      sed -n '=;n' fil.txt sed -n 'n;p' fil.txt sed -n 'n;n;n;p' fil.txt

      Det finns fall där man måste använda -e istället för ;. Detta när man lägger till text ovanför, under eller byter ut en rad. -ne behövs bara på första. sedan kan du fortsätta som vanligt. Anledningen till detta är att man kan inte lägga några ; tecken efter texten som man lägger till för då läggs den bara till som text istället för att köra nästa kommando.

      sed -ne '/3/aLite ny text under rad 3' -e 'p' fil2.txt sed -ne '/3/cLite ny text istället för rad 3' -e 'p' fil2.txt sed -ne '/3/iLite ny text ovanför rad 3' -e 'p' fil2.txt

      För att förstå N/P/D så är det bäst att kolla på video 2 från 7:44. N lägger in nästa till patten space och P printar första från patten space samt D som tar bort första från patten space.

      För att förstå script, -f och # så är det bäst att kolla video 3 från 4:45.

      För att förstå holding space och x/h/H/g/G så är det bäst att titta på video 4 från 5:37.

      För att förstå holding space och :/b/t så är det bäst att titta på video 4 från 13:05.

      Filmer och sed editorn

      Dessa måste vara de bästa filmerna om man skall lära sig sed.

      Understanding how sed works 1/4

      Understanding how sed works 2/4

      Understanding how sed works 3/4

      Understanding how sed works 4/4

      Tips

      Ibland så kan det vara bra att använda andra avskiljare än / i sed för att det krockar. Ett tecken som jag tycker är bra är | (pipe). Om man behöver använda variabler så kan man lösa det som i andra exemplet.

      sed -n '10,13s|byt|till|;p' fil.txt sed -n "10,13s|$byt|$till|;p" fil.txt

      Man kan göra så många saker med sed och det går inte att ta upp allt. Men efter du har läst detta och även sett på filmerna så kommer du förstå sed mycket bättre än innan.

      Linux
      11 aug. 2022 07:40
    • Byta till Linux från Windows

      Mikael
      Windowsfx (linuxfx)

      Har du funderat på att gå över till opensource för att du är trött på Windows som operativsystem? Det kan vara svårt att börja med en Linux distribution som är avancerad och tar lång tid att lära sig.

      Något som kan vara värt att testa är Linuxfx som gör din migrering till Linux lättare. När du sedan har fått upp smaken så kan du testa en lite svårare variant av Linux. Lär dig mer om Linux via vår länklista.

      Här kan man ladda ner Linuxfx.

      Linux
      30 okt. 2020 14:12
    • Skriva POSIX kompatibla shellskript

      Mikael
      Bashism

      Visst är det härligt att automatisera saker på din dator? Shellskript finns i många former men när vi pratar Linux så brukar folk referera till bash-skalet. Problemet med bash är att det inte följer POSIX-standarden och har massor med extra funktioner som inte stöds i andra eller gamla skal och detta kallar man för bashism. Exempel på skal som är snabba är tex dash och ash.

      När man skriver skript så vill man gärna att det är portabelt så att man kan flytta det mellan olika servrar eller datorer. Jag strävar alltid att göra saker så portabelt som möjligt och då vill man följa POSIX rakt ut.

      Som tur så finns det ett verktyg som heter checkbashisms och går att installera i de flesta Linux distributioner. Använd det genom att köra

      checkbashisms -f -p <ditt skript>

      Så kommer den berätta för dig vad som inte följer POSIX i ditt script. Notera att du ska alltid använda #!/bin/sh i toppen på skriptet.

      Kolla här om du vill läsa mer om bashism.

      Linux
      17 sep. 2020 11:47
    • Använda en ssh SOCKS proxy

      Mikael
      Arbeta via proxy i någon annans nätverk Tunneln

      Det första man måste göra är att sätta upp denna tunnel via ssh. Inget annat speciellt behövs. Observera att detta bara funkar för TCP och ej UDP.

      Du öppnar en SSH-anslutning till en fjärrserver. När man öppnar anslutningen kommer din SSH-klient också att öppna en lokal TCP-port, endast tillgänglig för din dator. I exemplet nedan använder jag lokal TCP-port: 1337. Du konfigurerar din webbläsare Firefox för att använda den lokala proxy istället för att direkt gå ut på internet. Fjärr SSH-servern accepterar din SSH-anslutning och fungerar som en utgående proxy / vpn (SOCKS5).

      Kör följande kommando i din terminal för att aktivera tunneln. När du kör detta kommer ssh att ligga i förgrunden tills du gör CTRL + C för att avbryta det.

      ssh -C -D 1337 -N <användare>@<server>

      Om du föredrar att hålla den igång i bakgrunden, lägg till -f för att forka den till ett bakgrundskommando.

      ssh -C -D 1337 -f -N -p <port> <användare>@<server>

      Du kan se att den funkar genom att köra netstat -nap | grep 1337. För att stänga av så kan du köra kill på process nummer som du får genom att köra ps | grep [1]337.

      Vad detta kommando gör;

      -C: Sparar bandbredd genom att komprimera data i tunneln. -D 1337: öppna en SOCKS-proxy på din lokala port: 1337. Prova ett annat portnummer om porten är upptagen. Om du vill öppna flera SOCKS-proxyer till flera slutpunkter väljer du en annan port för var och en. -f: Kör processen för tunneln i bakgrunden. -N: kör inte fjärrkommandon, användbart för att bara vidarebefordra portar. -p: Om din ssh-server lyssnar på en annan port än 22. -q: tyst läge, skriv inte ut något i terminalen. <din server>: En fjärr SSH-server du har tillgång till Webbklienten

      För att använda proxyn så behöver du en webbläsare. Den bästa webbläsaren för detta är Firefox oberoende av vilket operativsystem du har. Börja med att gå till Inställningar -> Nätverksinställningar -> Inställningar... i Firefox.

      Väl sedan Manuell proxykonfiguration och fyll i SOCKS-värd (127.0.0.1) och port (1337). Bra att bocka i SOCKS v5 samt Proxy DNS när du använder SOCKS v5.

      Felsökning

      Lite vanliga fel som kan uppstå. Du kan alltid felsöka med curl för att se hur det funkar.

      curl --socks5 127.0.0.1:1337 https://www.google.com

      Om det inte funkar så kan det vara bra at kolla så att AllowTcpForwarding / ssh_forwarding är påslaget i din router / server / WSL.

      channel 2: open failed: administratively prohibited:

      Om du får "The connection was reset" i Firefox så kan du ha missat att SOCKS-värd ska vara satt och inte HTTP Proxy / HTTPS Proxy.

      Linux
      21 aug. 2020 11:29
    • KVM qemu - Kommandon

      Mikael
      Virsh

      Ett smidigt cli till qemu. Alla kommandon skrivs efter man har kört virsh

      Anslut till qemu

      connect qemu:///system

      Lista alla instanser

      list --all

      Starta en instans

      start <namn>

      Anslut till consolen på en instans. För att komma ur den så är det CTRL+5 (Svensk tangentbord)

      console <namn>
      Linux
      23 juli 2020 11:02
    • Alpine Linux - Kommandon

      Mikael
      APK - Alpine Linux paket hanterare

      Detta är Alpines pakethanterare och paketen hittar ni här https://pkgs.alpinelinux.org

      Uppdatera nuvarande paket så att de matchar paketdatabasen samt uppdatera cachen.

      apk -U upgrade

      Om man ska uppdatera allt och ignorera dependency constrains. Detta är bra om man gör en major uppdatering. Kolla även igenom /etc/apk/world och uppdatera /etc/apk/repositories. Glöm ej att köra update-conf när du gör en stor uppgradering.

      apk --available -U upgrade update-conf

      För att hitta vilket paket en fil tillhör.

      apk info --who-owns /hela/sökvägen/till/filen

      Sök efter installerade paket som börjar på alpine.

      apk list --installed alpine*

      Lista paket som behövs av alpine-base.

      apk info -R alpine-base

      Lista paket som busybox behöver.

      apk info -r busybox
      Linux
      24 mars 2020 18:25
    • Problem med NVIDIA Optimus

      Mikael

      Om man har problem med en laptop av denna typ så kan man svartlista felaktiga moduler.

      /etc/modprobe.d/blacklist.conf

      blacklist nouveau
      Linux
      18 mars 2020 00:13
    • Wifi med interfaces och wpa_supplicant

      Mikael
      Konfiguration

      Exempel konfiguration för att få wpa_supplicant att starta upp innan nätverket tas upp.

      /etc/network/interfaces

      auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp hostname gorf pre-up /etc/init.d/wpa_supplicant start post-down /etc/init.d/wpa_supplicant stop
      Linux
      18 mars 2020 00:07
    • Ansluta till dolda nätverk

      Mikael
      Gömda SSID

      Jag använder wpa_supplicant för wifi konfigurering och har man som jag dolda nätverk så for man ej glömma scan_ssid=1.

      network={ key_mgmt=WPA-PSK psk="mittpass" scan_ssid=1 ssid="mittnet" }

      Bra att komma ihåg detta 😉

      Linux
      17 mars 2020 18:56
    • Vad är skillnaden mellan Linux och Unix

      Mikael
      Historia

      Hittade en bra film som just förklarar lite historia.

      Unix vs Linux

      Sevärt om man är lite nyfiken!

      Linux
      24 feb. 2020 12:31
    • Bästa länkarna att lära sig mer om Linux

      Mikael

      Om du är sugen på att lära dig något nytt så tycker jag att du ska ta en titt på Linux och öppen källkod. Om du är en person som är villig att kämpa lite för att läsa sig ett system så är Linux klockrent för dig. Det finns självklart olika svårighetsgrader beroende på vilken distrubution av Linux du väljer att börja med.

      Börja med att kolla in dessa länkar!

      Kernel newbies - Lär dig mer om ramverket som gör det möjligt att interagera med datorns maskinvara. Linux Questions - Här är en bra källa ifall du har frågor om Linux och alla distributioner i allmänhet.

      Det finns självklart massor med sidor på internet som är bra men det finns mycket skit också tyvärr. Har ni tips som jag tycker är bra så lägger jag till dem i listan 😉

      Linux
      19 feb. 2020 16:38
    • Installera CoreOS i VirtualBox

      Mikael

      Här är en guide för er som har upptäckt hur bra CoreOS är och hur man installerar CoreOS i Oracle VM VirtualBox. Kör inte scripten som root.

      2000px-CoreOS.svg.png

      Bygg en Virtual Disk

      Det finns ett script som förenklar skapandet av VDI avbildningen. Den laddar ner en grund avbildning, verifierar GPG och konverterar den till VirtualBox format. Du kan hitta scriptet på GitHub. Host systemet för VirtualBox måste ha stöd för VirtualBox tools.

      Som första steg så laddar du ner scriptet och gör den exekverbar.
      wget https://raw.github.com/coreos/scripts/master/contrib/create-coreos-vdi
      chmod 755 create-coreos-vdi

      För att köra scriptet så kan du specificera platsen där den ska hamna och CoreOS version.
      ./create-coreos-vdi -d /coreos/vdi/image/path -V stable
      Du kan välja vilken kanal man ska basera din disk avbildning på (alpha, beta, stable) . Man kan också specificera ett versionsnummer för CoreOS om man vill.

      Skapa en Config-Drive

      För att komma åt din maskin så behöver du en config-drive med SSH-nyckel inställningar. Det finns även ett script för att hjälpa dig med att bygga din config-drive. Du kan modifiera till dina inställningar i create-basic-configdrive om du vill lägga in något extra i din cloud-config.

      Skapa din nyckel med ssh-keygen.
      ssh-keygen -b 4096 -f hostname

      wget https://raw.github.com/coreos/scripts/master/contrib/create-basic-configdrive
      chmod 755 create-basic-configdrive
      ./create-basic-configdrive -H my_vm01 -S hostname.pub
      Detta kommer att skapa en ISO-fil som heter my_vm01.iso med ssh-nyckeln som du väljer att använda.

      Skapa en ny virtuell maskin i VirtualBox

      Klona avbildningen för varje ny virtuell maskin du skapar och sätt den till önskad storlek.

      VBoxManage clonehd coreos_production_stable.vdi my_vm01.vdi

      Ändra storlek på den virtuella avbildningen till 10 GB
      VBoxManage modifyhd my_vm01.vdi --resize 10240
      När CoreOS bootar så kommer den märka att volymen har modifierats och ändra storlek på filsystemet.

      Öppna VirtualBox Manager och gå till menyn Machine > New. Skriv in önskat maskinnamn och välj Linux som typ och Linux 2.6 / 3.x (64 bit) som version.

      Välj sedan önskat minne. Jag rekommenderar 1 GB minst för att det ska funka bra.

      Sedan väljer du Use an existing virtual hard drive fil och tar den nya klonade avbildningen. Sedan så tycker du på Create.

      Sedan måste du lägga till config-drive avbildningen som CD/DVD. När maskinen bootar så använder den config-drive för att sätta upp din nyckel och annat du har skrivit i den cloud-config. Sedan är det bara att starta maskinen.

      För att behålla inställningarna från cloud-config så ska config-drive avbildningen vara monterad hela tiden.

      Logga in

      Det kan ta ett tag för nätverket att komma upp under VirtualBox och du behöver veta ip-numret som du fått för att kunna ansluta till den. Det är bara att tycker enter några gånger för att det ska dyka upp. Nu är det bara att logga in via SSH och använd nyckeln du skapat. Sätt upp Port Forwarding i VirtualBox Manager så du kan komma åt SSH (10022:22).

      ssh -p 10022 -i hostname core@x.x.x.x Länkar VirtualBox Config-drive Cloud-config guide CoreOS Quickstart More specific topics

      Nu är guiden klar 😉

      Linux
      19 feb. 2020 16:37
    • Docker - Kommandon

      Mikael
      Docker

      Här har ni en lista på kommandon för Docker. Mina dockerfiler finns på github.

      Generell

      Lista alla containers (-a Visa alla containers, standard är att bara visa vilka som är igång)

      docker ps -a

      Övervaka alla containers

      docker stats

      Lista alla images

      docker images

      Kör ett docker paket (Använd <kommando> för att ändra standard kommandot)

      docker run -it --rm <docker path> <command> -d = starta i bakgrunden* -it = Interaktiv + tty* --name = Sätt ett namn / Lämna tomt för slumpat namn* --rm = Ta bort container när den avslutas* -p 80:80 = Mappa coreos / docker portar* --volumes-from = Montera volumes* -w = Vilken katalog det körs från inne i containern*

      Kör ett kommando i en aktiv container

      docker exec -it <container> <command>

      Anslut till en aktiv container

      docker attach <container>

      Koppla ifrån en aktiv container

      ctrl + p + q Uppsättning

      Hämta en image

      docker pull <Docker sökväg>

      Spara image innehåll till en tar fil

      docker save <image name> > filename.tar

      Spara container innehåll till en tar fil (Detta kommer inte att innehålla någon volume data)

      docker export <container id> > filename.tar Skapa

      Bygg image filen (Ladda ner dockerfilen i en tom katalog)

      docker build -t <name>/repository .

      Autentisera sig mot en docker hub

      docker login

      Ladda upp imagen till hub.docker.com

      docker push <name>/repository Ta bort och rensa

      Ta bort containers

      docker rm <container1> <container2>

      Radera alla containers (Tar bort allt)

      docker rm $(docker ps -a -q)

      Ta bort images

      docker rmi <image1> <image2>

      Ta bort alla images (Tar bort allt)

      docker rmi $(docker images -q) Övrigt

      När konsolen fastnar

      ctrl + z

      Jag kommer att fylla på denna lista när jag kommer på mera bra kommandon för Docker. Mer information om hur Docker fungerar hittar du på docs.docker.com.

      Linux
      19 feb. 2020 16:35
    • SystemRescueCd - Rädda data från din hårdisk med en räddningsskiva

      Mikael

      Det är bra att känna till verktyg som kan rädda data från din disk när det har blivit fel på disken eller att operativsystemet har pajat.

      sysresccd-003-640x480.png

      SystemRescueCd

      SystemRescueCd är ett Linux-system på räddningsskiva som finns som en startbar cd-rom eller USB-minne för att administrera eller reparera ditt system och data efter en systemkrasch. Syftet är att ge ett enkelt sätt att utföra administrativa uppgifter på datorn, som att skapa och redigera hårddiskpartitioner.

      Den levereras med en hel del Linux systemverktyg (parted, partimage, fstools, ...) och grundläggande verktyg (Redaktörer, Midnight commander, nätverksverktyg). Detta Linux-system kan användas för både Linux och Windows-datorer och på stationära datorer samt servrar. Detta räddnings system kräver ingen installation eftersom den kan startas från en CD / DVD-enhet eller USB-minne, men det kan installeras på hårddisken om du vill. Kärnan stödjer alla viktiga filsystem (ext2/ext3/ext4, reiserfs, btrfs, xfs, jfs, vfat, ntfs), samt nätverksfilsystem (samba och nfs).

      Jag använder oftast själv denna cd för att rädda dara från Windows, Linux och Mac.

      Linux
      19 feb. 2020 16:34
    • Gentoo - Tvinga installation och ignorera säkerhetskontroller för emerge

      Mikael

      När du inte kan installera ett Linuxpaket eftersom emerge säger ifrån av någon anledning, så kan det vara bra att känna till hur man tvingar systemet. Det finns några fall där du som administratör vet att det funkar även fast systemet inte tror det.

      Lägg till I_KNOW_WHAT_I_AM_DOING="yes" innan emerge kommandot
      I_KNOW_WHAT_I_AM_DOING="yes" emerge -av chromium

      Jag har själv använt detta när jag ska installera chromium och har lite ram-minne i datorn. Även fast jag la till en större swapfil så ville systemet ändå inte strunta i 3GB minnes kravet.

      Hoppas ni får användning av detta 😉

      Linux
      19 feb. 2020 16:33
    • Installera-Linux guider för nybörjare

      Mikael

      Det är ganska mycket arbete med att skriva en guide från grunden så jag tänkte ta en genväg och länka till guider istället som är bra och är på svenska. Känns dumt att göra om något som redan finns och är bra. Vem vet när jag har tid så kanske jag skriver något eget.

      Linux guider

      Desktop

      Linux Mint - Nivå lätt

      Server

      Gentoo - Nivå svårt Ubuntu Server - Nivå medel

      Om man verkligen vill lära sig Linux på riktigt så kan jag rekommendera Gentoo Handbook. Om du tvingar dig själv att lära dig detta då kommer du både kunna hantera Linux på klienter och servrar. Tyvärr är dokumentationen på engelska men vill ändå visa denna guide.

      Tipsa gärna om fler så lägger jag upp dem här 😉

      Linux
      19 feb. 2020 16:32
    • Konvertera till och från UTF-8 med iconv

      Mikael
      Iconv

      Olika filer har olika teckenkodning och du kan se vilken kodning du har med kommandot file.

      file filenamn.txt

      Om du behöver konvertera en fil från ISO-8859-1 till UTF-8 så kan du använda iconv. Iconv är ett datorprogram och ett standardiserat programmeringsgränssnitt (API) som används för att konvertera mellan olika teckenkodningar.

      iconv -f iso-8859-1 -t utf-8 < filnamn1.txt > filename2.txt

      Man kan även bygga script som convert_iso-8859-1_utf-8.sh för att utföra olika saker med iconv.

      #!/bin/bash if [ $# -gt 0 ]; then folder=${1%/} if [ -d "$folder.backup" ]; then echo "Error: backup folder exists" exit fi cp -r $folder $folder.backup find $folder -type f -exec bash -c ' file={} if [ -n "$(file $file | grep -i iso-8859)" ]; then echo $file iconv -f iso-8859-1 -t utf-8 -o "$file.tmp" "$file" mv "$file.tmp" "$file" fi ' \ \; else echo "Usage: $0 <directory>" fi

      Tänk på att du kan använda iconv för att konvertera en teckenkodning till vilken annan teckenkodning som helst. Detta är mycket användbart om du frågar mig 😉 Ta alltid backup på alla filer innan du kör skript!

      Linux
      19 feb. 2020 16:30
    • Användbara kommandon för Linux

      Mikael
      Terminalkommandon i Linux

      Terminalfönstret är och förblir det mest grundläggande sättet att hantera kommandon i Linux, Unix och liknande system. Samtidigt är det inte alltid så lätt att hitta information om hur man använder de olika kommandona på svenska.

      5.jpeg

      Eftersom Linux har blivit mycket lättare med distributioner som liknar Windows så glömmer folk bort att lära sig grunden i Linux. Styrkan i Linux är just terminalkommandon och den flexibilitet man får. Nästan alla kommandon har växeln --help där man kan få mera hjälp. Vill man få mycket information så använder man kommandot man innan kommandot.

      Tar fram manualen för kommandot ls
      man ls

      Dessa är viktiga att kunna för vanligt bruk

      cat - Visa en fils innehåll i terminalfönstret cd - Ändra vilken katalog i filsystemet du arbetar i cp - Kopierar fil eller katalog df - Visa lista på användning av minnesutrymme, bl.a. hårddisk du - Ta fram storleken på filer eller kataloger history - Se din kommando historik ifconfig - Visa dina nätverksuppkopplingar och ip-address killall - "Döda" (stäng av) dataprocesser, t.ex. program less - Visa en fils innehåll i ett rullbart fönster där du kan rulla upp eller ner med piltangenterna, ls - Visa alla filer som finns på den nuvarande katalogen man - Visa en hjälpfil som beskriver hur man använder ett kommando mkdir - Skapa en ny filkatalog under katalogen där du står mv - Flytta en fil till en ny filkatalog och/eller byt namn på den nano - Enkel och snabb texteditor (Jag rekommendera att man lär sig vim) passwd – Ändra ditt lösenord ping – Sänd ett kontaktmeddelande till en annan dator för att verifiera nätkontakt pwd – Visa namnet och sökpå den katalog där du står rm - Tar bort en fil (Går ej att ångra sig) sudo – Utför ett linuxkommando med rättigheter som om du vore användare root (Superanvändaren) tail – Visa de sista raderna i en textfil (Använd head för de första)

      Kommandon som kan vara värt att känna till

      chmod - Ändra rättigheter på filer eller kataloger chown - Ändra ägare på filer eller kataloger find - Sök i ditt filsystem free - Se hur mycket minne du har grep - Hämta ut bitar av information från kommando iwconfig - Kommando för trådlöst nätverk iwlist - Kommando för trådlöst nätverk kill - Döda en viss process (Funkar att använda istället för killall) mount - Montera ett filsystem från tex en extern enhet ps - Lista aktiva processer rsync - Skapa kopia av en större filmsamling su - Bli en annan användare tar – Skapa arkivfiler och även komprimerade arkivfiler (gzip / bzip) top - Visa körande processer traceroute - Ta fram nätverksväg till en node useradd - Lägger till nya användare till systemet wget - Hämta hem filer

      Mer avancerade kommandon

      alias - Skapa alias för dina kommandon bash - Scripting för att utföra många kommandon på samma gång vim - En avancerad texteditor export - hantera variabler i din shell miljö sort - Sortera data från kommandon

      Det finns mycket kommandon att lära sig. Om du tycker att jag missat något så är det bara att säga till så lägger jag till det.

      Linux
      19 feb. 2020 16:29
    • Klona webbplatser med wget

      Mikael
      Kloning av webbplats

      Wget har förmågan att klona en webbplats. Detta kommando är bra om du vill hämta en lokal kopia från webben och få ner CSS, bilder och Javascript lätt. Observera att det inte alltid blir en garanterad kopia med sidor som har mycket dynamiskt innehåll. Jag rekommenderar därför att man gör en manuell granskning efteråt utan nätverk.

      2 exempel kommandon för att klona webbplatsen wget -E -k -m --trust-server-names https://www.exempel.se wget -E -k -m --compression=gzip --password="password" --trust-server-names --user="user" --compression=auto https://www.exempel.se

      Man måste köra detta på varje domän eller subdomän man vill ladda ner och använda sig av GNU Wget.

      --adjust-extension / -E: Fixa html filändelse på dynamiskt innehåll.
      --compression=auto: Om du försöker spegla en sida där serven svarar med gzip.
      --convert-links / -k: Konverterar länkarna i dokumentet för att göra dem lämpliga för lokal visning.
      -m / --mirror: Växlar som är lämpliga för spegling.
      --password="": Lösenord ifall htpasswd är aktiverat.
      --trust-server-names: Om det här är inställt, kommer det lokala filnamnet baseras på omdirigeringsadressen.
      --user="": Användarnamn ifall htpasswd är aktiverat.

      Om du får problem med robots.txt och rättigheter så kan du lägga till: -e robots=off

      Linux
      19 feb. 2020 16:28
    • Hur man kör Ultimate Boot CD från USB-minne

      Mikael
      Installation av Ultimate Boot CD (UBCD)

      För att köra UBCD från ett USB-minne så behöver ditt usb-minne partitioneras i FAT16 eller FAT32 och formateras innan nödvändiga filer kopieras över till USB-minnet. Läs mer om Partitionera och formatera ditt usb minne.

      Nu måste vi skriva data till mbr på USB-stickan. Filen mbr.bin som behövs för att göra detta hittar du i den extraherade UBCD iso (/ubcd/tools/linux/ubcd2usb/). Ladda ner ison från UBCD och extraherad den. Glöm inte att byta ut X mot rätt enhet. dd if=mbr.bin of=/dev/sdX Montera partitionen på din USB-enhet. Du kan använda ett GUI för att göra detta eller bara via en terminal. I vissa fall så monterar din distribution USB-enheter automatiskt genom att ta bort och stoppa in USB-minnet igen. Kopiera alla filer från den extraherade UBCD-ison till ditt USB-minne. Installera syslinux på ditt USB-minne. Se till att /ubcd/tools/linux/ubcd2usb/syslinux är körbar. Ta bort växeln -i ifall du redan har installerat syslinux på ditt USB-minne innan. cd ubcd chmod a + x tools/linux/ubcd2usb/syslinux64 tools/linux/ubcd2usb/syslinux64 -i -s -d /boot/syslinux /dev/sdX1 Nu kan du starta UBCD från din USB-enhet, om ditt BIOS har stöd för det naturligtvis.
      Linux
      19 feb. 2020 16:24
    • Hur man använder sed kommandot i Linux

      Mikael
      Sed - strömredigerare för filtrering och omvandling av text

      Sed kommandot är som vim ganska knepigt att lära sig men när man får koll på det så kan man underlätta sitt arbete med shell script extremt mycket.

      När man ska manipulera och omvandla texter så är sed ett av de bästa verktygen i Linux. Jag ska försöka använda mig av bra kompatibilitet så att det funkar på så många installationer som möjligt. Därför har jag testat dessa kommandon på asus wrt som har en äldre busybox installation.

      Argument till kommandot

      -e Kör flera editeringar efter varandra. Jag rekommenderar att man kör sed 's/byt/till/; s/byt/till/' fil.txt istället för sed -e 's/byt/till/' -e 's/byt/till/' fil.txt. Blir både kortare och bättre med ; istället för -e.

      -n Stäng av automatisk print till standar ut. Använd sed -n 'p' för att få ut text.

      Kommandon

      För att skicka text till sed (standard input) så finns det olika sätt att göra detta på. Här ser du fyra exempel på detta.

      < fil.txt sed -n '2,3p' sed -n '2,3p' fil.txt cat fil.txt | sed -n '2,3p' printf 'Lite text' | sed -n 's/text/sed/p'

      Printa rad 4 till 6.

      sed -n '4,6p' fil.txt

      Radera rad 2 till 4 och printa sedan.

      sed -n '2,4d;p' fil.txt

      Tre exempel på att byta ut ordet byt till ordet till fast bara på rad 10 till 13. Det första exemplet byter ut det i texten och sedan printar hela texten medans det andra bara printar det som lyckats blivit utbytt. /p är en specialare som bara printar det den matchar på när man byter ut saker eller söker efter dem. Tredje exemplet gör samma som första men bryr sig ej om det är exakt match på stora och små bokstäver.

      sed -n '10,13s/byt/till/;p' fil.txt sed -n '10,13s/byt/till/p' fil.txt sed -n '10,13s/byt/till/I;p' fil2.txt

      Detta fungerar som grep att man letar efter hitta och sedan printar det som matchar. Det andra alternativet gör som den första men lägger till 10 rader efter matchen. Det tredje alternativet begränsar sökningen från rad 4 till 10. Det fjärde exemplet tar rader från försa <p> taggen till sista </p> taggen och sedan söker efter rader med <b> som den sedan tar bort och printar resten. Så en begränsning med {} kan sättas upp med både 4,10 eller ord och taggar.

      sed -n '/hitta/p' fil.txt sed -n '/hitta/,+10p' fil.txt sed -n '4,10{/hitta/p}' fil.txt sed -n '/<p>/,/<\/p>/{/<b>/d;p}' fil.txt

      d är använbart i många fall. Första exemplet är för att ta bort allt efter en match. När man använder ! så blir det tvärt om. Andra exemplet tar bort allt före en match.

      sed -n '/hitta/,$d;p' fil.txt sed -n '/hitta/,$!d;p' fil.txt

      q är riktigt bra om du vill sluta läsa in data. Då kan du genom flera q leta efter ett ställe och sedan ett annat och printa resten. Observera att om du vill ha med sista raden som den stannar på så måste du lägga in p före q.

      sed -n '/hitta/q;/hitta2/q;p' fil.txt sed -n '/hitta/q;p;/hitta2/q' fil.txt

      Här har vi några exempel på saker som skrivs ut 1. Första raden. 2. Femte raden. 3. Sista raden. 4. Sista radens nummer. 5. Sista radens nummer och innehåll. 6. Alla radnummer och innehåll.

      sed -n '1p' fil.txt sed -n '5p' fil.txt sed -n '$p' fil.txt sed -n '$=' fil.txt sed -n '$=p' fil.txt sed -n '=p' fil.txt

      När man har med n inom ' ' så hoppar man över en rad för varje rad. Detta betyder att varannan rad skriver ut radnumret. Den andra exemplet skriver ut varannan rad. Du kan hoppa över 3 rader för varje rad med sista exemplet.

      sed -n '=;n' fil.txt sed -n 'n;p' fil.txt sed -n 'n;n;n;p' fil.txt

      Det finns fall där man måste använda -e istället för ;. Detta när man lägger till text ovanför, under eller byter ut en rad. -ne behövs bara på första. sedan kan du fortsätta som vanligt. Anledningen till detta är att man kan inte lägga några ; tecken efter texten som man lägger till för då läggs den bara till som text istället för att köra nästa kommando.

      sed -ne '/3/aLite ny text under rad 3' -e 'p' fil2.txt sed -ne '/3/cLite ny text istället för rad 3' -e 'p' fil2.txt sed -ne '/3/iLite ny text ovanför rad 3' -e 'p' fil2.txt

      För att förstå N/P/D så är det bäst att kolla på video 2 från 7:44. N lägger in nästa till patten space och P printar första från patten space samt D som tar bort första från patten space.

      För att förstå script, -f och # så är det bäst att kolla video 3 från 4:45.

      För att förstå holding space och x/h/H/g/G så är det bäst att titta på video 4 från 5:37.

      För att förstå holding space och :/b/t så är det bäst att titta på video 4 från 13:05.

      Filmer och sed editorn

      Dessa måste vara de bästa filmerna om man skall lära sig sed.

      Understanding how sed works 1/4

      Understanding how sed works 2/4

      Understanding how sed works 3/4

      Understanding how sed works 4/4

      Tips

      Ibland så kan det vara bra att använda andra avskiljare än / i sed för att det krockar. Ett tecken som jag tycker är bra är | (pipe). Om man behöver använda variabler så kan man lösa det som i andra exemplet.

      sed -n '10,13s|byt|till|;p' fil.txt sed -n "10,13s|$byt|$till|;p" fil.txt

      Man kan göra så många saker med sed och det går inte att ta upp allt. Men efter du har läst detta och även sett på filmerna så kommer du förstå sed mycket bättre än innan.

      Linux
      11 aug. 2022 07:40
    • Byta till Linux från Windows

      Mikael
      Windowsfx (linuxfx)

      Har du funderat på att gå över till opensource för att du är trött på Windows som operativsystem? Det kan vara svårt att börja med en Linux distribution som är avancerad och tar lång tid att lära sig.

      Något som kan vara värt att testa är Linuxfx som gör din migrering till Linux lättare. När du sedan har fått upp smaken så kan du testa en lite svårare variant av Linux. Lär dig mer om Linux via vår länklista.

      Här kan man ladda ner Linuxfx.

      Linux
      30 okt. 2020 14:12
    • Skriva POSIX kompatibla shellskript

      Mikael
      Bashism

      Visst är det härligt att automatisera saker på din dator? Shellskript finns i många former men när vi pratar Linux så brukar folk referera till bash-skalet. Problemet med bash är att det inte följer POSIX-standarden och har massor med extra funktioner som inte stöds i andra eller gamla skal och detta kallar man för bashism. Exempel på skal som är snabba är tex dash och ash.

      När man skriver skript så vill man gärna att det är portabelt så att man kan flytta det mellan olika servrar eller datorer. Jag strävar alltid att göra saker så portabelt som möjligt och då vill man följa POSIX rakt ut.

      Som tur så finns det ett verktyg som heter checkbashisms och går att installera i de flesta Linux distributioner. Använd det genom att köra

      checkbashisms -f -p <ditt skript>

      Så kommer den berätta för dig vad som inte följer POSIX i ditt script. Notera att du ska alltid använda #!/bin/sh i toppen på skriptet.

      Kolla här om du vill läsa mer om bashism.

      Linux
      17 sep. 2020 11:47
    • Använda en ssh SOCKS proxy

      Mikael
      Arbeta via proxy i någon annans nätverk Tunneln

      Det första man måste göra är att sätta upp denna tunnel via ssh. Inget annat speciellt behövs. Observera att detta bara funkar för TCP och ej UDP.

      Du öppnar en SSH-anslutning till en fjärrserver. När man öppnar anslutningen kommer din SSH-klient också att öppna en lokal TCP-port, endast tillgänglig för din dator. I exemplet nedan använder jag lokal TCP-port: 1337. Du konfigurerar din webbläsare Firefox för att använda den lokala proxy istället för att direkt gå ut på internet. Fjärr SSH-servern accepterar din SSH-anslutning och fungerar som en utgående proxy / vpn (SOCKS5).

      Kör följande kommando i din terminal för att aktivera tunneln. När du kör detta kommer ssh att ligga i förgrunden tills du gör CTRL + C för att avbryta det.

      ssh -C -D 1337 -N <användare>@<server>

      Om du föredrar att hålla den igång i bakgrunden, lägg till -f för att forka den till ett bakgrundskommando.

      ssh -C -D 1337 -f -N -p <port> <användare>@<server>

      Du kan se att den funkar genom att köra netstat -nap | grep 1337. För att stänga av så kan du köra kill på process nummer som du får genom att köra ps | grep [1]337.

      Vad detta kommando gör;

      -C: Sparar bandbredd genom att komprimera data i tunneln. -D 1337: öppna en SOCKS-proxy på din lokala port: 1337. Prova ett annat portnummer om porten är upptagen. Om du vill öppna flera SOCKS-proxyer till flera slutpunkter väljer du en annan port för var och en. -f: Kör processen för tunneln i bakgrunden. -N: kör inte fjärrkommandon, användbart för att bara vidarebefordra portar. -p: Om din ssh-server lyssnar på en annan port än 22. -q: tyst läge, skriv inte ut något i terminalen. <din server>: En fjärr SSH-server du har tillgång till Webbklienten

      För att använda proxyn så behöver du en webbläsare. Den bästa webbläsaren för detta är Firefox oberoende av vilket operativsystem du har. Börja med att gå till Inställningar -> Nätverksinställningar -> Inställningar... i Firefox.

      Väl sedan Manuell proxykonfiguration och fyll i SOCKS-värd (127.0.0.1) och port (1337). Bra att bocka i SOCKS v5 samt Proxy DNS när du använder SOCKS v5.

      Felsökning

      Lite vanliga fel som kan uppstå. Du kan alltid felsöka med curl för att se hur det funkar.

      curl --socks5 127.0.0.1:1337 https://www.google.com

      Om det inte funkar så kan det vara bra at kolla så att AllowTcpForwarding / ssh_forwarding är påslaget i din router / server / WSL.

      channel 2: open failed: administratively prohibited:

      Om du får "The connection was reset" i Firefox så kan du ha missat att SOCKS-värd ska vara satt och inte HTTP Proxy / HTTPS Proxy.

      Linux
      21 aug. 2020 11:29
    PrevNext
    1
    2
    3
    4
    5



    Senaste inläggen från UEX

    • Sed - strömredigerare för filtrering och omvandling av text

      Sed kommandot är som vim ganska knepigt att lära sig men när man får koll på det så kan man underlätta sitt arbete med shell script extremt mycket.

      När man ska manipulera och omvandla texter så är sed ett av de bästa verktygen i Linux. Jag ska försöka använda mig av bra kompatibilitet så att det funkar på så många installationer som möjligt. Därför har jag testat dessa kommandon på asus wrt som har en äldre busybox installation.

      Argument till kommandot

      -e Kör flera editeringar efter varandra. Jag rekommenderar att man kör sed 's/byt/till/; s/byt/till/' fil.txt istället för sed -e 's/byt/till/' -e 's/byt/till/' fil.txt. Blir både kortare och bättre med ; istället för -e.

      -n Stäng av automatisk print till standar ut. Använd sed -n 'p' för att få ut text.

      Kommandon

      För att skicka text till sed (standard input) så finns det olika sätt att göra detta på. Här ser du fyra exempel på detta.

      < fil.txt sed -n '2,3p' sed -n '2,3p' fil.txt cat fil.txt | sed -n '2,3p' printf 'Lite text' | sed -n 's/text/sed/p'

      Printa rad 4 till 6.

      sed -n '4,6p' fil.txt

      Radera rad 2 till 4 och printa sedan.

      sed -n '2,4d;p' fil.txt

      Tre exempel på att byta ut ordet byt till ordet till fast bara på rad 10 till 13. Det första exemplet byter ut det i texten och sedan printar hela texten medans det andra bara printar det som lyckats blivit utbytt. /p är en specialare som bara printar det den matchar på när man byter ut saker eller söker efter dem. Tredje exemplet gör samma som första men bryr sig ej om det är exakt match på stora och små bokstäver.

      sed -n '10,13s/byt/till/;p' fil.txt sed -n '10,13s/byt/till/p' fil.txt sed -n '10,13s/byt/till/I;p' fil2.txt

      Detta fungerar som grep att man letar efter hitta och sedan printar det som matchar. Det andra alternativet gör som den första men lägger till 10 rader efter matchen. Det tredje alternativet begränsar sökningen från rad 4 till 10. Det fjärde exemplet tar rader från försa <p> taggen till sista </p> taggen och sedan söker efter rader med <b> som den sedan tar bort och printar resten. Så en begränsning med {} kan sättas upp med både 4,10 eller ord och taggar.

      sed -n '/hitta/p' fil.txt sed -n '/hitta/,+10p' fil.txt sed -n '4,10{/hitta/p}' fil.txt sed -n '/<p>/,/<\/p>/{/<b>/d;p}' fil.txt

      d är använbart i många fall. Första exemplet är för att ta bort allt efter en match. När man använder ! så blir det tvärt om. Andra exemplet tar bort allt före en match.

      sed -n '/hitta/,$d;p' fil.txt sed -n '/hitta/,$!d;p' fil.txt

      q är riktigt bra om du vill sluta läsa in data. Då kan du genom flera q leta efter ett ställe och sedan ett annat och printa resten. Observera att om du vill ha med sista raden som den stannar på så måste du lägga in p före q.

      sed -n '/hitta/q;/hitta2/q;p' fil.txt sed -n '/hitta/q;p;/hitta2/q' fil.txt

      Här har vi några exempel på saker som skrivs ut 1. Första raden. 2. Femte raden. 3. Sista raden. 4. Sista radens nummer. 5. Sista radens nummer och innehåll. 6. Alla radnummer och innehåll.

      sed -n '1p' fil.txt sed -n '5p' fil.txt sed -n '$p' fil.txt sed -n '$=' fil.txt sed -n '$=p' fil.txt sed -n '=p' fil.txt

      När man har med n inom ' ' så hoppar man över en rad för varje rad. Detta betyder att varannan rad skriver ut radnumret. Den andra exemplet skriver ut varannan rad. Du kan hoppa över 3 rader för varje rad med sista exemplet.

      sed -n '=;n' fil.txt sed -n 'n;p' fil.txt sed -n 'n;n;n;p' fil.txt

      Det finns fall där man måste använda -e istället för ;. Detta när man lägger till text ovanför, under eller byter ut en rad. -ne behövs bara på första. sedan kan du fortsätta som vanligt. Anledningen till detta är att man kan inte lägga några ; tecken efter texten som man lägger till för då läggs den bara till som text istället för att köra nästa kommando.

      sed -ne '/3/aLite ny text under rad 3' -e 'p' fil2.txt sed -ne '/3/cLite ny text istället för rad 3' -e 'p' fil2.txt sed -ne '/3/iLite ny text ovanför rad 3' -e 'p' fil2.txt

      För att förstå N/P/D så är det bäst att kolla på video 2 från 7:44. N lägger in nästa till patten space och P printar första från patten space samt D som tar bort första från patten space.

      För att förstå script, -f och # så är det bäst att kolla video 3 från 4:45.

      För att förstå holding space och x/h/H/g/G så är det bäst att titta på video 4 från 5:37.

      För att förstå holding space och :/b/t så är det bäst att titta på video 4 från 13:05.

      Filmer och sed editorn

      Dessa måste vara de bästa filmerna om man skall lära sig sed.

      Understanding how sed works 1/4

      Understanding how sed works 2/4

      Understanding how sed works 3/4

      Understanding how sed works 4/4

      Tips

      Ibland så kan det vara bra att använda andra avskiljare än / i sed för att det krockar. Ett tecken som jag tycker är bra är | (pipe). Om man behöver använda variabler så kan man lösa det som i andra exemplet.

      sed -n '10,13s|byt|till|;p' fil.txt sed -n "10,13s|$byt|$till|;p" fil.txt

      Man kan göra så många saker med sed och det går inte att ta upp allt. Men efter du har läst detta och även sett på filmerna så kommer du förstå sed mycket bättre än innan.

      11 aug. 2022 07:40 • läs mer
    • Windowsfx (linuxfx)

      Har du funderat på att gå över till opensource för att du är trött på Windows som operativsystem? Det kan vara svårt att börja med en Linux distribution som är avancerad och tar lång tid att lära sig.

      Något som kan vara värt att testa är Linuxfx som gör din migrering till Linux lättare. När du sedan har fått upp smaken så kan du testa en lite svårare variant av Linux. Lär dig mer om Linux via vår länklista.

      Här kan man ladda ner Linuxfx.

      30 okt. 2020 14:12 • läs mer
    • Bashism

      Visst är det härligt att automatisera saker på din dator? Shellskript finns i många former men när vi pratar Linux så brukar folk referera till bash-skalet. Problemet med bash är att det inte följer POSIX-standarden och har massor med extra funktioner som inte stöds i andra eller gamla skal och detta kallar man för bashism. Exempel på skal som är snabba är tex dash och ash.

      När man skriver skript så vill man gärna att det är portabelt så att man kan flytta det mellan olika servrar eller datorer. Jag strävar alltid att göra saker så portabelt som möjligt och då vill man följa POSIX rakt ut.

      Som tur så finns det ett verktyg som heter checkbashisms och går att installera i de flesta Linux distributioner. Använd det genom att köra

      checkbashisms -f -p <ditt skript>

      Så kommer den berätta för dig vad som inte följer POSIX i ditt script. Notera att du ska alltid använda #!/bin/sh i toppen på skriptet.

      Kolla här om du vill läsa mer om bashism.

      17 sep. 2020 11:47 • läs mer
    • Arbeta via proxy i någon annans nätverk Tunneln

      Det första man måste göra är att sätta upp denna tunnel via ssh. Inget annat speciellt behövs. Observera att detta bara funkar för TCP och ej UDP.

      Du öppnar en SSH-anslutning till en fjärrserver. När man öppnar anslutningen kommer din SSH-klient också att öppna en lokal TCP-port, endast tillgänglig för din dator. I exemplet nedan använder jag lokal TCP-port: 1337. Du konfigurerar din webbläsare Firefox för att använda den lokala proxy istället för att direkt gå ut på internet. Fjärr SSH-servern accepterar din SSH-anslutning och fungerar som en utgående proxy / vpn (SOCKS5).

      Kör följande kommando i din terminal för att aktivera tunneln. När du kör detta kommer ssh att ligga i förgrunden tills du gör CTRL + C för att avbryta det.

      ssh -C -D 1337 -N <användare>@<server>

      Om du föredrar att hålla den igång i bakgrunden, lägg till -f för att forka den till ett bakgrundskommando.

      ssh -C -D 1337 -f -N -p <port> <användare>@<server>

      Du kan se att den funkar genom att köra netstat -nap | grep 1337. För att stänga av så kan du köra kill på process nummer som du får genom att köra ps | grep [1]337.

      Vad detta kommando gör;

      -C: Sparar bandbredd genom att komprimera data i tunneln. -D 1337: öppna en SOCKS-proxy på din lokala port: 1337. Prova ett annat portnummer om porten är upptagen. Om du vill öppna flera SOCKS-proxyer till flera slutpunkter väljer du en annan port för var och en. -f: Kör processen för tunneln i bakgrunden. -N: kör inte fjärrkommandon, användbart för att bara vidarebefordra portar. -p: Om din ssh-server lyssnar på en annan port än 22. -q: tyst läge, skriv inte ut något i terminalen. <din server>: En fjärr SSH-server du har tillgång till Webbklienten

      För att använda proxyn så behöver du en webbläsare. Den bästa webbläsaren för detta är Firefox oberoende av vilket operativsystem du har. Börja med att gå till Inställningar -> Nätverksinställningar -> Inställningar... i Firefox.

      Väl sedan Manuell proxykonfiguration och fyll i SOCKS-värd (127.0.0.1) och port (1337). Bra att bocka i SOCKS v5 samt Proxy DNS när du använder SOCKS v5.

      Felsökning

      Lite vanliga fel som kan uppstå. Du kan alltid felsöka med curl för att se hur det funkar.

      curl --socks5 127.0.0.1:1337 https://www.google.com

      Om det inte funkar så kan det vara bra at kolla så att AllowTcpForwarding / ssh_forwarding är påslaget i din router / server / WSL.

      channel 2: open failed: administratively prohibited:

      Om du får "The connection was reset" i Firefox så kan du ha missat att SOCKS-värd ska vara satt och inte HTTP Proxy / HTTPS Proxy.

      21 aug. 2020 11:29 • läs mer
    • Virsh

      Ett smidigt cli till qemu. Alla kommandon skrivs efter man har kört virsh

      Anslut till qemu

      connect qemu:///system

      Lista alla instanser

      list --all

      Starta en instans

      start <namn>

      Anslut till consolen på en instans. För att komma ur den så är det CTRL+5 (Svensk tangentbord)

      console <namn>

      23 juli 2020 11:02 • läs mer

    Nyheter

    Final Destination: Bloodlines slår kassarekord2025-05-17 20:02

    Final Destination: Bloodlines, den sjätte delen i den långlivade skräckserien om hur ingen undviker döden vrede, har haft en imponerande start på biograferna och nu spekuleras det kring att filmen kan dra in så mycket som 470 miljoner kronor innan helgen är över. Något som i så fall med råge hade överträffat den tidigare rekordhållaren The Final Destination från 2009, som vid tillfället drog in 280 miljoner kronor under sin första helg på bio.

    Detta nya kapitel som regisserats av Zach Lipovsky och Adam Stein låter oss följa Stefani som plågas av mardrömmar om en olycka från 1968, något hennes mormor överlevde. Ganska snart inser hon att hon själv likväl som hela hennes familj är i fara och en kamp mot tiden inleds för att bryta den dödliga cykeln. Och trumfa över döden.

    Bloodlines har åtnjutit en hel del positivt surr från förhandstittar, inte minst för dess kreativa och groteska scener vilka återigen förvandlar de mest alldagliga situationer till regelrätta dödsfällor. Tony Todd återvänder i sin ikoniska roll som William Bludworth, och hans improviserade farväl i filmen är också hans sista framträdande, då han som bekant gick bort härom året.

    Har du planer på att se Bloodlines och vad tycker du om Final Destination-serien överlag?

    <bild>En minst sagt jobbig situation.</bild>


    Rykte: Bully Remastered kan vara på gång2025-05-17 19:52

    Kan det möjligtvis vara så att en remaster av Bully är på gång till moderna konsoler? Många fans spekulerar kring det efter att det avslöjats i den senaste kvartalsrapporten från Take Two att man just nu planerar eller arbetar med totalt fyra olika remasters, som man planerar att lansera de kommande åren. I rapporten skrev man:

    "four new iterations of previously released titles"


    Två av dessa är med stor sannolikhet Grand Theft Auto IV, som det spekulerats om sedan någon vecka tillbaka och även till viss del bekräftats av insiders. Red Dead Redemption 2 är antagligen också ett av spelen man antyder till, vilket vi kunde rapportera om så sent som igår att det verkar vara på gång till Switch 2.

    Att fans länge trånat efter att få se Bully återvända till rampljuset är inte heller någon nyhet, och något som Rockstar och Take Two med största sannolikhet är väldigt väl medvetna om. Bully har dessutom inte funnits tillgängligt för Switch, vilket gör spelet till en stark kandidat att göra comeback i form av en remaster. Allt är så klart bara spekulationer just nu men hoppas kan vi alltid.

    Hade du varit sugen på en Bully-remaster?

    <social>https://x.com/videotechuk_/status/1923158082529439849</social>


    Bethesda bjuder över Skyblivion-utvecklarna till deras studio2025-05-17 17:00

    Bethesda fortsätter att sätta Skyblivion-utvecklarna i rampljuset. Tidigare fick varje medlem av Skyblivion-projektet en kopia av {The Elder Scrolls IV: Oblivion Remastered} gratis. Bossen över projektet under namnet K Rebel skrev följande på X:

    <social>https://x.com/Rebelzize/status/1923399293840347227</social>

    Förutom ett tack går det även att se bilder från besöket. Det är inte alltid relationen mellan moddskapare och utvecklare är så här positiv. Skyblivion är ett projekt som ämnar att återskapa Oblivion i spelmotorn Bethesda använde för att skapa Skyrim. Till skillnad från remastern kommer världen och betydligt fler spelmässiga system att förbättras och göras om. Det innebär att Remastern och Skyblivion kommer att skilja sig åt på många punkter. Skyblivion är mer av en remake där allt från grottor, världen, uppdrag och spelmässiga inslag förändras och moderniseras. Modden är tänkt att lanseras under 2025 till PC-versionen av Skyrim. Kommer du att spela Skyblivion?

    <bild>Vissa på redaktionen hoppas också på att få besöka Bethesda en vacker dag.</bild>


    Sucker Punch lovar att respektera Japans historia och kultur i Ghost of Yotei2025-05-17 16:00
    Nate Fox berättar hur seriöst de tar den kulturella och historiska aspekten.
    Tom Cruise diskuterar en eventuell uppföljare till Days of Thunder2025-05-17 14:44

    Snart har 40 år hunnit passera sedan Tom Cruises pangsuccé Top Gun tog världen med storm och resulterade i ett av världens bäst säljande soundtrack och en uppföljare 35 år senare som hyllades av kritiker såväl som fans. Tack vare Top Gun: Mavericks framgång, blev det genast diskussioner om ytterligare en uppföljare - något Tom Cruise själv har bekräftat är under utveckling.

    I en intervju med Australia's Today Show berättar han lite om utvecklingen av den tredje filmen, men nöjer sig helt enkelt inte där utan avslöjar även att han planerar en eventuell uppföljare till Days of Thunder och har flera andra projekt under utveckling framgent.

    "Yeah, we're thinking and talking about many different stories and what could we do and what's possible. It took me 35 years to figure out Top Gun: Maverick, so all of these things we're working on, we're discussing Days of Thunder and Top Gun: Maverick."

    Han fortsätter:
    "There's numerous other films that we're actively working on right now. I'm always shooting a film, prepping a film, posting a film. I just finished a film with Alejandro Iñárritu too, who did The Revenant, that was an extraordinary experience and [Christopher McQuarrie] and I are always working on several different films."

    Det är fortsatt oklart när Top Gun 3 når bioduken, men en sak som är säker är att vi har mycket spännande att se fram emot.

    Ser du fram emot Top Gun 3?

    <bild>Tom Cruise har minst sagt svårt att sitta still.</bild>


    Master Chief provar på livet som Doom Slayer2025-05-17 14:03

    Under veckan var det premiär för {Doom: The Dark Ages}, och när en Microsoft-ägd studio släpper ett stort spel finns en tradition av att andra Xbox Game Studios-utvecklare gratulerar till releasen på sociala medier tillsammans med något slags photoshop.

    The Dark Ages var inget undantag och bland de som gratulerat hittar vi Blizzard och Obsidian, men det var det officiella Halo-kontot som fick oss att reagera. Halo Studios levererar nämligen en Doom-inspirerad fanservice-bild med Master Chief och Covenanter - och vi kan väl inte vara de enda som känner att det här nog faktiskt är ett spel som vi behöver?

    Kolla in gratulationen härunder. Hade du varit sugen på ett stenhårt och actionpackat Halo av mer linjär modell, med ett gameplay som drar åt Doom-hållet?

    <social>https://bsky.app/profile/playhalo.bsky.social/post/3lp7ygusel22k</social>
    <social>https://bsky.app/profile/obsidian.net/post/3lp7v5ah6zs2m</social>
    <social>https://www.instagram.com/p/DJrlQGJIZGE/</social>

    <bild>Det här hade vi inte sagt nej till...</bild>


    Enligt rykten kommer Red Dead Redemption 2 släppas till Switch 22025-05-17 12:00
    Bärbara cowbojsare.
    Hideo Kojima säkrar sitt spelarv inför framtiden2025-05-17 09:29
    Testamenterar sina idéer på en USB-sticka.
    Jade Raymond lämnar den egna utvecklaren Haven Studios2025-05-16 16:03
    Och ytterligare en rapport om att deras rånarspel Fairgame$ har försenats.
    Ond bråd spelhelg – vad spelar du?2025-05-16 15:00
    Vi håller buset i schack och retron uppe i varv. Japp, för nu är det spelhelg.
     073-731 76 64   info@uex.se