Příkazy pro Linux
Skripty a příkazy pro bash a Linux
Zmenšení PDF pomocí přesamplování vložených obrázků
Podle http://www.peteryu.ca/tutorials/publishing/pdf_manipulation_tips
gs -sDEVICE=pdfwrite -dMaxSubsetPct=100 -dPDFSETTINGS=/ebook -sOutputFile="outfile.pdf" -dNOPAUSE -dBATCH input.pdf
Podobně podle http://www.ehow.com/how_6823473_reduce-pdf-file-size-linux.html:
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=setting -sOutputFile=output.pdf input.pdf
Quality level settings are “/screen,” the lowest resolution and lowest file size, but fine for viewing on a screen; “/ebook,” a mid-point in resolution and file size; “/printer” and “/prepress,” high-quality settings used for printing PDFs.
Ořezání PDF bez zvětšení velikosti výsledného souboru
Podle http://tex.stackexchange.com/questions/42236/pdfcrop-generates-larger-file. Použito ve fancy-preview :http://user.mendelu.cz/marik/fancy-preview/fancy-pdfcrop
#!/bin/bash
(
gs -dNOPAUSE -q -dBATCH -sDEVICE=bbox $1 2>&1 | grep '%%BoundingBox'
pdftk $1 output - uncompress
) | perl -w -n -e '
if (/BoundingBox:\s+(\d+\s+\d+\s+\d+\s+\d+)/) {
push @bbox, $1; next;
}
elsif (/pdftk_PageNum\s+(\d+)/) {
print "/MediaBox [$bbox[$1-1]]\n";
}
elsif (/MediaBox/) {next;}
print;
' | pdftk - output $2 compress
Výpis adresářů setříděný podle velikosti
du | grep -i -e '\.\(/[^/]\+\)\?$' | sort -n | less
Spojení více samostatných PDF do jednoho souboru
Např. spojení dvou souborů do jednoho:
pdftk pg_0002.pdf pg_0009.pdf cat output out.pdf
Hromadné přejmenování souborů
Příkaz přidá na konec názvu všech pdf souborů text “_p”, tj. třeba soubor “soubor.pdf” je přejmenován na “soubor_p.pdf”
for i in *.pdf; do mv $i ${i/.pdf/_p.pdf}; done
Grep + editor
Příkaz zajistí otevření souborů v podadresářích první úrovně, které obsahují slovo black
grep black */??????.tex | cut -d: -f1 | sort| uniq | xargs emacs
Najdi + nahrad pomoci vimu
vim -c "%s/stare/nove/gc|wq" soubor.tex
Volba set fencs=cp1250
ve .vimrc zajisti otevirani v cp1250.
Vymaz vseho krome *.tex, *.png, *.jpg
ls | grep -v -E "png|jpg|tex|pdf" | xargs rm
rm !(*.png|*.jpg|*.tex|*.pdf)
LVM (zvetseni oddilu)
lvextend --size 5G /dev/vg00/tmplv
resize2fs /dev/mapper/vg00-tmplv
Tisk oboustranny z prikazove radky
lpr -P LaserJet-p2015d -o InputSlot=Default -o PageSize=A4 -o Duplex=DuplexNoTumble soubor.pdf
Vypis radku z textoveho souboru, ktere maji lichy pocet uvozovek
export IFS=$'\\n'
filename=a.txt; for i in $(grep \" $filename); do pocet=$(grep -o \" <<<"$i" | wc -l); if [ $((pocet%2)) -eq 1 ]; then grep --color=always \" <<< "$i"; echo $pocet; fi; done | less -R
Otočení PDF nastojato
Například pro zobrazování PDF s prezentací ve čtečce bez nutnosti otáčet PDF ve čtečce.
pdftk talk.pdf cat -E output DFDE_2014.pdf
nebo
pdf270 talk.pdf --frame true
Spojení videostopy a audiostopy
avconv -i audio.mp3 -i video.webm -c copy output.avi
Spojení videostopy a audiostopy, zpoždění audiostopy o 0.4s
avconv -i video.webm -itsoffset 0.4 -i audio.wav vysledek.webm
Nahrávka obrazovky
Viz http://ubuntuforums.org/showthread.php?t=1392026, předtím přesměrovat audiovstup a výstup pomocí pavucontrol
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x800 -i :0.0 -acodec flac -vcodec libx264 -preset ultrafast -crf 0 -threads 0 output.mkv
nebo
recordmydesktop --width 640 --height 480 -x 1400 -y 320 --device=pulse --no-cursor --full-shots --fps 20 --overwrite -o output.ogv
Vypnutí gest rukou na tabletu
Aby tablet reagoval jenom na dotek perem
xsetwacom -v --set 'Wacom Intuos PT M Finger touch' gesture off
anebo
xsetwacom -v --set 'Wacom Intuos PT M Finger touch' Touch off
Velká písmena ve jménech souborů na malá
Podle http://www.tecmint.com/rename-multiple-files-in-linux/
rename 'y/A-Z/a-z/' *.JPG
Automatické spuštění příkazu při změně souboru
Podle https://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes
while inotifywait -e close_write slidy.md; do bash prikaz; done
Automatické spuštění příkazu při změně souboru a refresh pomocí F5 v jiném okně.
Před spuštěním je potřeba zjistit id okna, kde je potřeba autoamticky stisknout F5 pomocí xdotool selectwindow
id=56623134; while inotifywait -e close_write slidy.md; do bash prikaz; SAVE=`xdotool getactivewindow`; xdotool windowactivate $id; xdotool key F5; xdotool windowactivate $SAVE; done
Tečka vedle kurzoru
Vedle kurzoru tečka v barvách LDF pro sdílení obrazovky v MS Teams, kdy není vidět kurzor. Program find-cursor. V Gnome se pro zvýraznění kurzoru dá použít Ctrl po povolení příslušné funkcionality
find-cursor --repeat 0 --follow --distance 1 --line-width 10 --size 10 --color '#0A5028'
Wacom a citlivost pera
Nastavení rozumné citlivosti pera, pokud má člověk rád lehkou ruku při psaní, ale chce mít citlivost na tlak. Podle ArchWiki.
xsetwacom set "Wacom Intuos PT M Pen eraser" PressureCurve 0 30 60 100
Automatické schovávání kurzoru myši při neaktivitě
Podle askubuntu
nohup unclutter -idle 0.5 &
Počítadlo (začátek online výuky, přestávka)
Do určené hodiny
termdown "15:00" -T "Matematika, kombi" --no-figlet -t "Hned to bude ..." -a
10 minut přestávka
termdown "10m" -T "Přestávka" --no-figlet -t "Hned to bude ..." -a
SSH tunel skrz univerzitní firewall na server za firewallem
Oteřít tunel příkazem
ssh -N -L 2222:um.mendelu.cz:22 login_cornus@cornus.mendelu.cz
a potom v dalším okně
ssh login_serve@localhost -p 2222
nebo scp nebo
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar /opt/snowflake/snowflake.jar
Pripojit NAS
sudo mount -t cifs //10.18.52.96/home /mnt/ERC/ -o username=unod,uid=1000
Matlab neukládá mlx. soubory
Chybova hlaska Invalid cross device link, je potreba udelat temp soubnor na stejnem disku.
clear all
tempdir
setenv('TMPDIR','/media/marik/a689e9c3-9d2d-4eb9-a089-ced1cceab0f6/temp/')
clear all
tempdir
Python instalace knihovem
pip install jupyter-book Compyrtment pandas numpy scipy sympy sphinx-notfound-page ghp-import
Převod hromady png na jedno PDF
Oneliner pro převod všech png souboru z adresare na jedno PDF, kde jsou obrazky v rastru 5x4.
for f in $(ls *\.png); do convert "$f" "_temp_$f".pdf; done ; qpdf --empty --pages _temp_*.pdf -- _temp_merged.pdf; pdfnup --nup 5x4 _temp_merged.pdf ; mv _temp_merged-nup.pdf output.pdf; rm _temp*.pdf