sudo minicom -o -D /dev/ttyACM0
Startar minicom, ett terminalemuleringsprogram för serieportar. Detta fungerar t.ex. för DuinoMite-Mini via USB-porten. Kolla med dmesg vilken device som serieporten hamnar på.
Enradarna är oftast kryptiska men inte avsiktligt tillkrånglade och utför (oftast) nyttiga saker. Denna blogg är ett hobbyprojekt, men bygger även på erfarenheter ur arbetslivet. Nya besökare, se första inlägget.
sudo minicom -o -D /dev/ttyACM0
Startar minicom, ett terminalemuleringsprogram för serieportar. Detta fungerar t.ex. för DuinoMite-Mini via USB-porten. Kolla med dmesg vilken device som serieporten hamnar på.
sudo mphidflash -v 15BA -p 0032 -r -n -w Olimex\ DuinoMite\ Mega\ MMBasic\ Project.hex
Detta flashar en DuinoMite-Mini med en ny version av DMBASIC eller MMBASIC. Innan detta måste man koppla in DuinoMite-Mini:n till Linux-datorn via USB och hålla ned användarknappen samtidigt som man trycker på resetknappen, d.v.s. User+Reset, där User fungerar som en skiftknapp. Då blinkar de gula och gröna lysdioderna omväxlande.
zgrep 'special\.pdf' /var/log/apache2/access.log* | sed -r 's/.*:([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*(\[.*\]).*/\2 \1/' | sort -k3n,3 -k2M,2 -t'/'
De IP-nummer som hämtat en viss fil på webbservern hittas. Loggfilen finns på olika ställen på olika servrar och äldre loggar brukar komprimeras och då behövs zgrep. Olika webbservrar ger olika loggfiler och därför måste enradaren anpassas.
ls *.zip | while read file; do unzip -l "$file" | grep 'zx81.*\.rom' && echo $file; done
I detta fall hittas filer med namn som börjar på 'zx81' och slutar på '.rom' i samtliga zip-filer i aktuell katalog och zip-filens namn skrivs ut efter de funna filerna inom respektive zip-fil.
ls -tr | while read file; do convert $file -flop $file; done
Bilderna spegelvänds i samma tidsordning som de modifierades senast.
scp muzak.wav myusername@mywebsite.se:public_html/abc/80/
Denna rad laddar upp en fil till en SSH-server och med följande raderar man filen:
ssh myusername@mywebsite.se 'rm -f public_html/abc/80/muzak.wav'
Lösenordet får man skriva för hand, men man kan skicka flera filer samtidigt eller ett arkiv som man packar upp.
curl -T muzak.wav ftp://ftp.mywebsite.se/dl/ --user myusername:mypassword
Denna rad laddar upp en fil till en FTP-server. För att radera filen kan man använda:
curl ftp://ftp.mywebsite.se/dl/ -X 'DELE muzak.wav' --user myusername:mypassword
sed '/\.mp3/!d;s|.*href=\"\(\./mp3/.*\.mp3\)\".*|curl -O \"http://www.tefy.se/\1\"|' ../mp3_fysik_lpo1.htm > curl.sh; . curl.sh
sed '/\.mp3/!d;s|.*href=\"\(\./mp3/.*\.mp3\)\".*|curl -O \"http://www.tefy.se/\1\"|' ../mp3_fysik_lpo2.htm > curl.sh; . curl.sh
sed '/\.mp3/!d;s|.*href=\"\(\./mp3/.*\.mp3\)\".*|curl -O \"http://www.tefy.se/\1\"|' ../mp3_fysik_lpo3.htm > curl.sh; . curl.sh
sed '/\.mp3/!d;s|.*href=\"\(\./mp3/.*\.mp3\)\".*|curl -O \"http://www.tefy.se/\1\"|' ../mp3_kemi_lpo1.htm > curl.sh; . curl.sh
sed '/\.mp3/!d;s|.*href=\"\(\./mp3/.*\.mp3\)\".*|curl -O \"http://www.tefy.se/\1\"|' ../mp3_kemi_lpo2.htm > curl.sh; . curl.sh
sed '/\.mp3/!d;s|.*href=\"\(\./mp3/.*\.mp3\)\".*|curl -O \"http://www.tefy.se/\1\"|' ../mp3_kemi_lpo3.htm > curl.sh; . curl.sh
Man kan hämta ner alla mp3-filer till böckerna Fysik Lpo och Kemi Lpo om man har sparat HTML-filen i katalogen ovanför katalogen mp3 som man skall stå i. Man kan hämta en HTML-fil med t.ex. kommandot:
curl -O http://www.tefy.se/mp3_fysik_lpo[1-3].htm
curl -O http://www.tefy.se/mp3_kemi_lpo[1-3].htm
Man måste öppna HTML-filerna för redigering i SeaMonkey och göra en liten ändring som man återställer och spara dem innan man kör enradarna. Resultatet av SeaMonkey-operationen är att ÅÄÖ & åäö byts ut mot HTML-entities: t.ex. Å. Detta behövs eftersom Sed ej verkar klara ÅÄÖ & åäö i den teckenkodning som filerna använder.
pdftk A=mbvim101.pdf B=mbvim102.pdf cat $(i=1; while [ $i -le 11 ]; do echo -n "A$i B`expr 11 + 1 - $i` "; i=`expr $i + 1`; done) output lsg-mbvim1.pdf
Min skanner med arkmatare (Brother MFC-5840CN) kan bara skanna enkelsidigt, men jag vill skanna en hög med 11 blad dubbelsidiga papper till ett dokument. Framsidorna av högen med papper finns skannade i filen mbvim101.pdf. Baksidorna av samma hög finns skannade med sista sidan först i filen mbvim102.pdf (det blir så automatiskt om man bara vänder på högen). Med enradaren ovan så sätts filerna ihop till en pdf-fil med rätt ordning på sidorna. Man kan ändra 11 i raden ovan (på två ställen) till antalet ark för att anpassa till sin egen hög med papper. Det går att få reda på antalet sidor med pdftk så även inmatningen av antalet ark kan automatiseras.
i=0; while [ $i -le 289 ]; do curl http://partiintresserade.se/?page=$i > PI$i.html; i=`expr $i + 1`; done
Raden hämtar ner samtliga sidor mellan 0 och 289 från webbplatsen och sparar dem i HTML-filer. Programmet kan t.ex. användas för att inhämta data för undersökande journalistik samt för samhällsvetenskaplig och historisk forskning.
sed '/\.pdf/!d;s|.*=\"\(.*pdf\)\".*|curl -O \"http://www.ciberdigital.net/books/\1\"|' Index_of_books.html > curl.sh ; . curl.sh
php -r '$_GET[cmd]=718750; $_GET[pid]=2; include "DriveReporterServlet.php";'
Att köra problematiska PHP-skript i terminalfönstret i stället för på webbservern ger bättre felmeddelanden.
ssh login@dator.domän.se "tar cf - ~/" | gzip -9 > backup.tar.gz
Denna rad gör säkerhetskopiering på ett helt konto på en annan dator utan att mellanlagra något i en temporärfil. Resultatet blir en packad fil på den lokala datorn. Fjärrdatorn kan ha Linux eller Solaris.
För STK500:
avrdude -c stk500v2 -p m8515 -P /dev/ttyUSB0 -U hfuse:r:h-fuse.txt:r -U lfuse:r:l-fuse.txt:r
För USB-ASP:
sudo avrdude -c usbasp -p m88 -U hfuse:r:h-fuse.txt:r -U lfuse:r:l-fuse.txt:r -U efuse:r:e-fuse.txt:r
Ovanstående rader för respektive mikrokontrollerprogrammerare lagrar säkringsvärdena i filer som måste tolkas med:
od -d h-fuse.txt | head -1 | sed -e 's/0000000 *//' | xargs -i perl -e '$str= unpack("B32", pack("N",{})); $str =~ s/.*([01]{4})([01]{4})$/$1 $2/; print "$str\n";'
(AVR Fuses HOWTO Guide)
Alternativt för STK500:
avrdude -vv -c stk500v2 -p m8515 -P /dev/ttyUSB0 -F
Alternativt för USB-ASP:
sudo avrdude -vv -c usbasp -p m88
Här får man säkringsvärdena i hexadecimalt i slutet av en längre text.
sed -n 's/\([^ ]*\)\( *\)/"\1";/;/^"[A-Z][^e]/h;/@/G;/@/p' riksdagen.txt|sed 'N;s/\n//;s/;$//' > riksdagen2.txt
Koda om en textfil med e-postadresser och med rubriker med organisationsnamn så att den kan importeras av MySQL.
jar cvfM dos_pascal.jar dos_pascal.img
Denna rad skapar en jar-fil (Java archive) med en hårddiskavbild men utan manifest. Det är precis vad JPC.jar eller JPCApplet.jar (bantad JPC) behöver för att ladda hårddiskavbilden.
dd if=dos_pascal.img of=dos_pascal2.img bs=4096 count=512
Syftet med denna rad är att förkorta hårddiskavbilden för att spara minne vid körning. Om man först gjort defrag med full optimization i JPC (Java PC-emulator) på hårddiskavbilden och sedan chkdsk, så vet man hur mycket man kan förkorta filen. Sätt bs till klusterstorleken. Tänk på att sätta count något större än minimalt så att utrymme finns för temporära filer.
dd if=/dev/zero of=dos_pascal.img bs=1MB count=5
Denna rad används för att skapa en tom hårddiskavbild på 5 MB (5000000 B). Avbilden kan sedan fyllas med filer innefrån Java PC-emulatorn.
/usr/local/jdk1.6.0_06/bin/java -jar Downloads/JPC.jar -fda mem:floppy.img -hda dosprog.img -hdb dir:dosprog -boot fda
Denna rad startar Java PC-emulatorn med den inbyggda FreeDOS 1.1 på A:. C: motsvaras av en hårddiskavbild, och D: motsvaras av en katalog. Syftet är att preparera hårddiskavbilden genom att kopiera filer från katalogen.
sed -i '//s//\\xa0/g;/\\xa0/s/'\''/"/g' MKBTest.pl
Denna byter ut mot \xa0 ty WWW::Mechanize kräver detta. Sedan gör den om enkelcitat till dubbel för de redigerade raderna eftersom escape bara fungerar med dubbelcitat.
Följande gör det omvända:
sed -i '/\\xa0/s/\\xa0/\/g;//s/"/'\''/g' MKBTest.pl