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.

viz https://www.mathworks.com/matlabcentral/answers/1798895-invalid-cross-device-link-18-when-saving-a-file-on-arch-linux/?s_tid=mlc_lp_leaf

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

results matching ""

    No results matching ""