IOC Robotic's Lab
#!/bin/sh

# petit script qui genere la cle et le certificat d'un site https
DIR=/etc/apache-ssl/ssl-cert
# nom du certif/du site
NAME=$1
SSL=`which openssl`

# check if dir is OK
if [ ! -d $DIR ]; then
        echo "Dir $DIR not found, building it."
        mkdir -p $DIR
fi

Aquesta pàgina és un recull de receptes pels usuaris de màquines en entorn Unix. Normalment són comandes que s'han d'executar des d'una consola.

  • Renombrar fitxers

Renombrar fitxers de forma fàcil. Per exemple es poden fer diverses tasques:

 rename 's/\.bak//' *.bak #Elimina el .bak dels fitxers

 rename 's/\.thumb//' *.jpg #Elimina la part thumb del nom dels jpg
  • Cerca de fitxers i fer alguna acció
 find . -name '*~' -print0 | xargs -0 rm -f

Aquesta comanda te dos parts separades per la barra vertical |. La primera comanda cerca tots els fitxers que acabin en ~ que estiguin per sota el directori on s'executa i els imprimeix on el paràmetre -print0 canvi els salts de línia per espais. Aquesta sortida és direccionada a la comanda xargs que la redirecciona com a argument de la comanda rm

També podem posar, en la comanda mv un target:

 find . -name '*.*' -print0 | xargs -0 mv --target-directory=/home/spamer/Mai
  • Tradueix tots els fitxers fent servir lrelease de QT
 find . -name "*.ts" | xargs lrelease 
  • Genera un comprimit excloent un patró:
 tar cvfj fitxer_comprimit.tar.bz2 --exclude=".svn" directori_a_comprimir/
  • Més exemples de tuberies (pipes)

per canviar un text d'un conjunt de fitxers, en aquest cas el CMakeLists.txt

 find . -name *.cpp -exec sed -e "s/tr(/trUtf8(/g" {} \;
 find . -name CMakeLists.txt -exec sed -e "s/QT4_WRAP_UI(plugin_UIS_H \${plugin_UIS})/QT4_WRAP_UI(plugin_UIS_H ${plugin_UIS} -tr QObject::trUtf8)/g" {} \;

 find . -name CMakeLists.txt -exec sed -i "s/-tr QObject::trUtf8)/-tr QObject::trQtUtf8/g" {} \;

sed -i fa els canvis!!!!!

  • Crear directament pdf de les pàgines 1 a la 20:
 psselect -p1-20 file.ps | ps2pdf - > file-1-20.pdf
  • Redueix la resolució d'un pdf:
 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
  • Fes alguna cosa amb uns fitxers
 for f in *.c; do echo "Processing $f file.."; done
  • Importar eps bé a inkscape
 pstoedit -dt -f sk my_file.eps my_file.sk

The -dt flag is very important, which will convert the postscript fonts to polygons. Now, we need a second program called "skconvert" included in the skencil package.

 skconvert my_file.sk my_file.svg
  • pdftk

El pdftk ens permet fer moltes coses amb els pdfs, per exemple, unir dos pdfs:

 pdftk in1.pdf in2.pdf cat output out1.pdf

 pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf

 pdftk *.pdf cat output combined.pdf
  • Crear un diff de dos directoris
 diff -rupN dir1 dir2

Administració de màquines?