Ubuntu ... et plus ...

Commandes systèmes

  • 32 ou 64 bits ?

    cat /proc/cpuinfo | grep 'clflush size'

  • Afficher le % de la mémoire utilisée

    ps aux | awk '{sum +=$4} END {print sum "%"}'

  • Afficher le résultat d'une commande dans un navigateur

    php Tableau3.php |bcat

  • Afficher les pages man dans le navigateur

    export BROWSER=/usr/bin/firefox
    puis :
    man -H printf

  • Autoriser le X en ssh -X root@machine

    ajouter avant xhost +localhost

  • Cacher les répertoires snap Ubuntu

    cd ~
    echo snap >> ~/.hidden

  • Changer de gestionnaire de fenêtres

    switchdesk

  • Colorized grep

    Pour afficher les résultats d’un grep en couleur et tout le fichier :
    egrep --color 'Eigen|$' flexible.c

  • Comparaison de répertoires, fichiers, ...

    utiliser le programme : meld

  • Connaître le nombre de processeurs

    cat /proc/cpuinfo | grep processor | wc -l

  • Créer un fichier pour fortune

    créer le fichier toto contenant les phrases séparées par %
    puis créer le fichier binaire :
    /usr/sbin/strfile toto toto.dat
    puis enfin tester :
    fortune toto

  • Définir le rappel des commandes

    set -o vi

  • Détection de la carte graphique/audio

    inxi -G -A

  • Informations système/hard/soft

    Plusieurs commandes de base:
    uname -a
    sudo lshw
    sudo lshw -short
    sudo lshw -html > lshw.html
    lscpu
    lsblk
    lsusb
    lspci
    lsscsi
    sudo hdparm /dev/sda1
    sudo fdisk -l

    sudo dmidecode -t memory

  • Lister les répertoires

    ls -l ~/python | grep ^d | tr -s ' ' |cut -d' ' -f9

  • Localiser un programme

    type nom-du-prog

  • Modèle de processeur

    cat /proc/cpuinfo | grep model | cut -c14-

  • Montage du répertoire public de la machine toto<br> Démontage

    sudo mount -t cifs -o user=LAAS/landag //toto/public /mnt
    sudo /sbin/umount.cifs /mnt

  • Monter/Démonter le répertoire du télépone (android) sous linux

    mkdir ~/mtp
    Pour monter le répertoire du téléphone :

    jmtpfs ~/mtp

    Pour démonter le répertoire :
    fusermount -u /media/mtp

  • Pour afficher les ressources d'une appli X

    appress XMgr par exemple ou editres

  • Pour imprimer des caractères japonais

    se mettre dans le repertoire cnprint
    cnprint -jis fichier.jap

  • Pour spécifier un port avec sftp

    sftp -oPort=nnn (sans blancs, car option prise dans ssh_config)

  • Problème de DISPLAY

    export DISPLAY=:0;update-manager

  • Propriétés XTerm et UXTerm

    XTerm*faceName: Bitstream Vera Serif Mono
    XTerm*faceSize: 14
    UXTerm*faceName: Bitstream Vera Serif Mono
    UXTerm*faceSize: 14
    UXTerm*background: black
    UXTerm*foreground: white

    xrdb ~/.Xdefaults

  • Propriétés des fenêtres

    xprop, xlswins

  • Quelle commande est lancée

    hash commande

  • Rafraîchir les ressources X

    xrefresh

  • Rappel d'une commande du bash

    !(numero)

  • Recherche de « gros » fichiers

    find . -type f -size +100M -printf "%p %s\n"

  • Remplacer les espaces par des underscore dans les noms de fichiers

    find ./ -depth -name * * -exec rename 's/ /_/g' {} \

  • Renseigne sur le package de cat

    rpm -qif /bin/cat

  • Système

    uname -m

  • Sécurité

    Se méfier de telnet machine 25 (connection sur le port 25)

  • Taille des fichiers+répertoires qui commencent par A

    du -s A* | awk '{SUM += $1} END {print SUM/(1024)}'

  • Test de la webcam

    Plusieurs manières:
    mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=640:height=480

    xawtv -nodga

    vlc v4l2://

  • Touches raccourcis

    Fermer le serveur X : Ctrl-Alt-Backspace (avant Jaunty), Alt-Syst-K (après Jaunty)
    Accès console ttyx depuis interface graphique : Ctrl-Alt-Fx
    Accès console ttyx depuis ttyy : Alt-Fx
    Retour au premier serveur X (2ème ...8, etc) : Alt-F7
    synchro des disques : Alt-Syst-s
    Stoppe les prog gentiment : Alt-Syst-e
    Tue tous les programmes : Alt-Syst-i
    Disque principal en lect. seule : Alt-Syst-u
    Redémarrage brutal de l'ordi. : Alt-Syst-b
    Arrêt brutal de l'ordi. : Alt-Syst-o
    Pour Gnome :
    Menu de fenêtre : Alt-Espace
    Menu Applications : Alt-F1
    Lancer une commande : Alt-F2
    Fermer l'application ouverte : Alt-F4
    Déplacer la fenêtre : Alt-F7
    Redimensionner la fenêtre : Alt-F8
    Verrouiller l'écran : Ctrl-Alt-l
    Afficher les fichiers cachés : Ctrl-h

  • Transformer un fichier TXT en PDF

    enscript my_text_file.txt -o - | ps2pdf - output.pdf

  • Utilisation de git

    1) modification d’un fichier
    gvim toto.c

    2) indexage des fichiers modifiés
    git add nomfichier1 nomfichier2

    3) sauvegarde sur le serveur
    git commit -a
    git commit nomfichier1 nomfichier2

    4) annuler les derniers changements: (Attention !)
    git reset –

    5) Annuler les modifications d’un fichier avant un commit
    git checkout nomfichier

    6) Télécharger les nouveautés du serveur
    git pull

    7) sauvegarder sur le serveur
    git push

  • Version OS installée

    Pour Ubuntu : cat /etc/lsb-release
    Pour RedHat : cat /etc/redhat-release

  • Version du noyau

    uname -a

  • Vérifie le fichier de ressources

    xrdb $HOME/.Xdefaults

  • Vérifier une adresse email

    vrfy

  • copier de manière aléatoire les fichiers dans un répertoire

    shuf -ze *.mp3 |xargs -0 cp -t /media/landag/

  • kmenuedit

    editer les menus de Kde

  • meld problème caractères chinois japonais dans terminal

    dans le terminal :
    lancer

    gsettings set org.gnome.meld detect-encodings "['utf8','latin1']"

  • remplacer une adresse email dans tous les fichiers .php d'un répertoire et de ses sous-répertoires.

    Si l'adresse à remplacer est georges@6ma.fr, et que la nouvelle adresse est michel@6ma.fr
    find . -name *.php -print | xargs sed -i 's/georges@6ma.fr/michel@6ma.fr/g'

  • set -x

    permet d'afficher les commandes d'un script

  • surveiller la mémoire et plus ...

    gnome-system-monitor

LaTeX : a TeX macro package

  • Afficher une variable dans LaTeX

    par exemple pour afficher le contenu de textheight écrire : \the\textheight, exemple :
    \documentclass[]{article}
    \usepackage[francais]{babel}
    \textwidth=16cm
    \textheight 24cm
    \begin{document}
    \the\textheight
    \end{document}

  • Convertir LaTeX en HTML (tout dans la même page)

    latex2html -no_navigation -split 0 Fichier.tex

  • Correction orthographique

    detex fichier.tex | spell

  • Objet vide qui facilite la mise en page (LaTeX)

    strut out mathstrut

  • Pour Imprimer en mode paysage avec les fichiers *.dvi : pour l'ecran

    xdvi -paper a4r fichier.dvi

  • Pour Imprimer en mode paysage avec les fichiers *.dvi : pour l'imprimante

    dvips -t landscape fichier.dvi

Vim / Gvim

  • Compter les occurrences de ‘toto’

    :%s/toto//gn

  • Pour insérer le signe # de la ligne courante à la ligne marquée x

    :.,'xs/^/#/
    explication :
    .'x désigne le ""range"" de la ligne courante à la marque x
    s/^/#/ remplace le début de ligne par #

  • Remplacer tous les toto par titi jusqu'à la marque a

    :.,'as/toto/titi/g

    Remarque : le ""g"" à la fin indique de remplacer toutes les occurrences de la ligne"

Traitements divers

  • Afficher une table mysql avec de nombreuses colonnes

    Pour afficher les éléments de la table avec 1 colonne par ligne ...
    SELECT * FROM users WHERE id = 1\G;

  • Changement de codage de fichiers

    recode utf8..iso-8859-15 toto.txt

  • Changer l'extension de plusieurs fichiers

    for i in *.gzip
    do base=`basename $i .gzip`
    mv $i $base.gz

  • Comptage mysql

    $query = "SELECT count(id) from table where toto='1'";
    $result = mysql_query($query) or die (mysql_error());

    $resultat=mysql_fetch_row($result);

    echo $resultat[0]; // affichage du résultat

  • Conversion de fichiers audio

    sox

  • Convertir bmp en jpg

    for i in *.bmp
    do f=$(basename $i .bmp)
    convert $f.bmp $f.jpg
    done
    Pour choisir le taux de compression : man convert

  • Convertir tous les bmp à jpg avec une compression 95%

    mogrify -format jpg -quality 95 *.bmp

  • Couper les lignes au 120ème caractère

    fold -bsw120

  • Débogage de code php sur localhost

    voir les messages dans :

    cat /var/log/apache2/error.log

  • Faire une page HTML à partir de programmes

    enscript -E -C -G -j -whtml --color --toc -ptoto.html c/*.c

  • Fichiers modifiés il y a moins de 10 mn

    find . -mmin -10 -print

  • Grep récursif

    find . -type f -name *.txt |xargs grep -i "Phys"

  • Impression d'un fichier sur 2 colonnes

    pr -2 fichier

  • Impressions Postscript

    certains fichiers ps récupérés sur le Web ne s'impriment pas (ou plutôt ce sont les commandes qui s'impriment), souvent c'est parce qu'il manque la première ligne %!PS-Adobe-2.0

  • Modifier les extensions de fichiers

    for i in *.PSD
    do mv $i `basename $i PSD`psd
    done

  • Modifier les noms de fichiers

    for i in $(ls *.mp4) do mv $i `echo $i| tr -d "o_"` done

  • Optimisation python

    python -m profile -s time monscript.py

  • Pour afficher plusieurs fichiers simultanément sur plusieurs colonnes

    pr -m fich1 fich2 fich3 ...

  • Pour choisir le taux de compression

    man convert

  • Pour effacer récursivement des fichiers

    find . -name \*.aux -print0 | xargs -0 rm -rf

  • Pour effacer récursivement des fichiers

    find . -name *.bck -print -exec rm -f {} \

  • Pour modifier les tabs (newform)

    cat clustersz.c |newform -i-3 |more

  • Rassembler plusieurs pdf en 1

    pdfjam Lacroix_Falgarde_2019.pdf Lacroix_Falgarde_2019.pdf --nup 1x2 --outfile merged.pdf

  • Recherche de deux mots dans un fichier

    egrep "section|Toulouse-III" mcf9800913A.txt |more

  • Remplacer TOTO par 2013/TOTO dans tous les fichiers normaux

    find . -type f -name * -print | xargs sed -i 's/TOTO/2013\/TOTO/g’

  • Transformation d’un A5 en 14, élimination du blanc

    ./pdf_crop.sh PV001.pdf 0 840 600 1200

    avec le script pdf_crop.sh :

    #!/bin/bash

    if [ $# -lt 5 ]
    then
    echo "Usage: `basename $0` "
    echo "Notes:"
    echo " - all coordinates are absolute; no calculation of width/height necessary"
    echo " - use 'gv' to determine the coordinates"
    exit 65
    fi

    file="$1"
    xmin="$2"
    xmax="$3"
    ymin="$4"
    ymax="$5"

    base="${file%.*}"
    outfile="${base}_cropped.pdf"

    echo "writing to: $outfile"

    gs \
    -o $outfile \
    -sDEVICE=pdfwrite \
    -c "[/CropBox [$xmin $ymin $xmax $ymax] /PAGES pdfmark" \
    -f $file


    gs -o outputA4.pdf -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFIXEDMEDIA -dPDFFitPage -dCompatibilityLevel=1.4 PV001_cropped.pdf

  • Tris de lignes dans un fichier

    comm, uniq, sdiff, strings, ...

  • YTNEF décoder les fichiers «winmail.dat», les pièces sont extraites dans le répertoire courant

    ytnef -f . winmail.dat

Octave : a high-level interactive language for numerical computations

  • Charge un vecteur depuis un fichier

    a = load(toto.txt)

  • Créer une matrice b 9x9 à partir d'un vecteur a 81x1

    b=reshape(a,9,9)

Divers logiciels

  • Analyse de programmes compiles

    nm, dis, dump, error, gprof, lorder, m4, mcs, prof

  • Chargement/Déchargement de fichiers web

    curl

  • Conversion RTF vers HTML

    rtftohtml
    initialiser la variable RTFLIBDIR=/appli/Outils/rtfhtml/...etc...

  • Copie d'écran sous linux

    ksnapshot

  • Débogage

    VIBRATOM :
    ddd CALC (ne pas oublier de mettre le flag -v)

  • Gestion audio

    xplaycd, xmixer, xplaymidi

  • Gravure en utilisateur normal

    k3b

  • Générer les tags d’un programme

    ctags -x fichier.c

  • Installation de BioPerl

    perl -MCPAN -e install Bundle::BioPerl

  • Lecture des fichiers WMV

    mplayer

  • Lister les biblio. associées a un prog.

    ldd nom-du-prog

  • Outils sur CALMIP

    insight, toolchest

  • Transfert de fichiers via interface graphique

    konqueror
    fish://user@host.fr

  • Variables d’environnement c++

    CXX, ...

Navigateurs

  • Firefox : interrogation du cache

    faire :
    about:global ou
    about:cache

Conversion de données

  • Conversion d’un fichier fichier.pdf en fichier.gif

    1) pdf -> jpg
    gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r400 -sOutputFile=fichier.jpg fichier.pdf
    2) jpg -> gif
    convert fichier.jpg fichier.gif

  • Enlever l'entête du fichier toto

    base64 -d toto > toto.doc

  • Transformer les pages man en txt (exemple pour la commande indent)

    man indent | col -b > indent.txt

  • Trouver le codage de fichiers

    find . -exec file '{}' \

Postscript

  • Autre méthode pour 2 pages en 1

    dvips -h 2page nom.dvi
    (attention : 2page est un fichier d’entête spécial dans $HOME/bin)

  • Changer le niveau de postscript

    ps2ps -dLanguageLevel=1 dynamic.ps dynamic2.ps

  • Création d'un ficher .eps

    latex foo.tex
    dvips -f -E foo.dvi > foo.eps

  • Imprimer ascii sur postscript en landscape

    a2ps fichier.txt -1 -r -f8 -Plaser6

  • Imprimer ascii sur postscript en portrait

    a2ps fichier.txt -1 -R -f8 -Plaser6

  • Imprimer fichier .eps

    (cat fichier.eps ; echo showpage) |lpr

  • Imprimer recto-verso sur l'imprimante

    dvips -P duplong -o cargese2.ps cargese.dvi ; lpr -P photocop cargese2.ps

  • Pour mettre plusieurs pages sur une

    exemple pour 2
    psnup -2 fichier-initial.ps > fichier-final.ps

  • Copie de fichiers entre machines

    scp -r OGeSi/ landag@omron.laas.fr:../../local/users/landag/CCRT/

VMD : a molecular visualization program

  • lecture de fichiers gaussian

    utiliser formchk puis cubegen (lisible avec vmd)

  • mesure des angles

    taper 3

  • mesure des distances

    taper 2

  • pour tracer la cellule

    pbc box (fenêtre tcl/tk)

Commandes obsolètes ... ou pas ...

  • Contrôle de l'activité

    gkrellm

  • Hardware browser

    hwbrowser

  • Rendre javaws plus verbose ...

    javaws -verbose http://localhost/SwingCounterWS/SwingCounterWS.jnlp 2>&1 | tee javaws.log

  • Capture d'écran

    xwpick

  • Client whois amélioré

    jwhois

  • Mise à jour RedHat 9

    yum update

  • Pour démarrer xfig.ow en PORTRAIT

    xfig.ow -P