Commandes/programmes GNU/Linux, et shell

Documentation, man, info

Shell (bash, etc.)

Commandes : version, qqes infos, infos web
Quelques commandes utiles

Les regEx

  
Quelques commandes utiles (suite)

Documentation & outils

Documentation

Outils "doc"

Man pages sur le web

Aide & man pages en ligne de commande

  • aide Gnome
    • $ yelp
  • man
  • recherche dans les manuels
    • ex : des pages "man" sur ldap, 3 solutions :
      • $ man -k ldap
        • si pb "/usr/share/lib/whatis: No such file or directory" => sol : catman –w   (HP-UX)
      • $ man ldap   (en appuyant 2x sur la touche Tab s'afficheront les choix possibles, grâce au bash-completion)
      • $ apropos ldap
    • des man qui contiennent le mot "dncachesize" :
      • $ man -K dncachesize
    • des man qui concernent PERL
      • $ perl -V:man.dir
    • gman
      • interface simple de recherche dans les pages "man" (gman ayant auparavant indexé les fichiers man), l'affichage de la page man se faisant au choix dans une fenêtre Terminal ou dans un navigateur web.
  • man (largeur du texte)
    • MANWIDTH=80 man la_commande
  • man en couleurs
  • man2text
    • $ man la_commande | col -bx
  • man2html
    • une fois le paquet man2html installé, les "man pages" des commandes peuvent être visualisées en HTML par un serveur Web Apache, en local (par l'URL http://127.0.0.1/cgi-bin/man/man2html), ou par internet (pages en HTML sur le web)
    • man2html permet également de transformer une page man en fichier html :
      • $ cd /tmp ; cp /usr/share/man/man1/find.1.gz . ; gunzip find.1.gz ; man2html find.1 > find_man.htm
  • man en HTML (autre solution)
    • $BROWSER=/chemin/firefox man -H la_commande
  • info   (pour + de détail : $man info)
    • $ info stat   (infos sur la commande stat)
    • $ info grub, $ info -f grub 'Configuration', $ info -f grub -n 'Simple configuration'
    • $ info coreutils   (infos sur les utilitaires/programmes "GNU core")
      • $ info stat   ou :   $ info coreutils 'stat invocation'     (infos sur la commande stat)
      • $ info coreutils "Mode Structure"  (rwx, setuid, etc.)
  • info2html
    • permet d'accéder aux documentations de type "info" par un navigateur internet (Firefox, etc.).
  • info_to_html
    • un info2html amélioré

Shell (interpréteur de commandes)

Liens web

Environnement

  • env et export affichent les variables d'environnement
  • set affiche toutes les variables (locales, environnement etc)

Portée d'une variable d'environnement

  • UNIX95=yes ps -efx
    • => la variable UNIX95=yes est utilisé uniquement pour cette commande
  • export UNIX95=yes ; ps -efx
    • => a variable UNIX95=yes est utilisée pour cette commande et pour toutes les suivantes

script

Permet de garder dans un "fichier_resultat" une trace de ce qui apparaît dans le shell ainsi que tout ce qu'on tape au clavier :
  1. # script fichier_resultat
  2. exécuter une install ou des commandes.
  3. exit ou Ctrl-D

Bash

Programmation

  • Exemples
    • for((i=0;i<10;i++)) do ipcs -l ; done
    • for i in `seq 1 50` ; do touch $i ; done
    • for i in a1 a2 a3 ; do echo -n "partition sd$i : " && mount --guess-fstype /dev/sd$i ; done

Dash (Debian Almquist Shell)

  •  conforme à la norme POSIX, c'est le shell par défaut sous Debian

Commandes

Liens web

Chercher une commande

$ type find
find est /usr/bin/find
$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz

Lancer une commande

Pour exécuter une commande, ouvrir un Terminal et exécuter la commande dans le shell, ou appuyer sur la combinaison de touches : "Alt F2" et taper la commande.

Le résultat de la commande est 0 si elle s'est effectuée avec succès, pour le vérifier, exécuter : "echo  $?".

Quelques infos

Certaines commandes sont intégrées au shell (primitive du shell bash, etc.), d'autres pas ; certaines sont un alias.
Pour distinguer cela, utiliser : "type -a "

Exemples

  • $ type -a ls
  • $ type -a pushd ; type -a popd

Alias d'une commande

Les alias peuvent être définis dynamiquement, ou dans ~/.bashrc (dans le cas du shell Bash).

$ alias   (liste tous les alias : alias grep='grep --color=auto', alias ls='ls --color=auto', etc.)

Vérif d'un alias : type -a ls

Alias simple : alias aide='man -k'   (crée cet alias => exemple d'utilisation : $ aide pwd)

Alias plus complexes

  • $ alias virtualisation='grep -E "^flags.*(vmx|svm)" /proc/cpuinfo > /dev/null && echo "virtualisation ok" || echo "virtualisation pas ok"'
  • $ alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
$ unalias aide   (défait cet alias)

Utilisation de noms contenant des espaces

$ ls -ls "Ubuntu One"
$ ls -ls Ubuntu\ One

Quelques commandes utiles...

Passer root (su) ou exécuter une commande avec les droits root (sudo)

Choix d'un programme par défaut pour le navigateur internet

  • $ sudo update-alternatives --config x-www-browser
  • $ sudo update-alternatives --set x-www-browser /usr/bin/firefox
  • autre solution : "Ouvrir avec" :: Autre application
    • choisir le programme, ou :
    • $ le_navigateur -remote 'openurl (%url, new-tab)'

Disque dur

df, bdf (place disque et partitions), dd (copie physique)

hexdump

  • Exemple, voir le contenu du secteur de boot (MBR) : # hexdump -n 512 -C /dev/sda

kill

  • kill -l    (liste les signaux)
  • kill -1    (ou kill -s HUP ... SIGHUP : stop, relit fich. config (si daemon), & restart)
  • kill -9    (SIGKILL : tue un process sans lui laisser le temps de se terminer)
  • kill -15  (SIGTERM : (ou kill -20) tue un process mais lui laisse le temps de se terminer proprement)
  • killall un_nom

Variantes

  • pkill   (permet de tuer un programme en spécifiant son nom)

ln

  •  ln -ns /media/chemin/dossier raccourci   (crée ce raccourci vers ce dossier)

Ramener un fichier

  • wget -np -nd -m ftp://www.site.com/path/fichier
  • wget -p http://www.unsite.com/unepage.htm
  • wget -r -l 2 -k -p .......      (récursif, autres exemples dans le man)
  • curl

Trouver un fichier

  • locate lefichier   (auparavant, mettre à jour si nécessaire la database par la commande updatedb)
    • exemple : locate mondo > /tmp/tmp1 ; file -f /tmp/tmp1
  • whereis lacommande
  • command-not-found lacommande   (sur SLES)

find

  • Chercher un fichier
    • find . -print | egrep -i "Svchost Informations.exe"   (pour les noms de fichiers avec espaces)
  • Chercher un fichier dans une arborescence de fichiers, et effectuer une action sur les résultats
    • find / -name un_nom_de_fichier | xargs ls -l
    • find / -name un_nom_de_fichier -exec ls -l '{}' ';'
    • find / -name un_nom_de_fichier -exec ls -l {} \;
  • Chercher les fichiers volumineux
    • find / -type f -size +100000c -xdev -exec ll {} \; |sort -n -k 5
  • Chercher des fichiers C et Java, avec une regEx Posix
    • find / -regextype posix-extended -regex &#39;.*\.(c|java)&#39;
  • Chercher un mot dans une arborescence de fichiers
    • find . -name "*.htm" -exec grep -i "mot_cherché" {} \; -print
    • find . -type f -print0 | xargs -0 egrep -i "mots cherchés"   (pour les noms de fichiers avec espaces)
  • Enlever les infos EXIF de photos avec la commande convert
    • $ find -type f -exec convert -strip {} {} \;

cpio

  • Manuel GNU
  • Copier une arborescence de fichiers à l'aide de find et de cpio (l'option m permet de préserver les dates de modification des fichiers transférés)
    • find . -depth -print0 | cpio --null -pdmv nouveau_dossier
  • rpm2cpio un_paquet.rpm | cpio -it   (ou -itv pour les détails)
  • autres exemples cpio (sur initrd, initramfs)

Réparation du système de fichiers d'une partition

awk

  • GNU : awk et gawk, nawk, etc. - user's guide - Regexp
  • Infos fr
  • By example : Part 1, Part 2, Part 3, NixCraft
  • Exemples
    • N'afficher que les pid d'un programme
      • ps auxww | grep le_nom_du_programme | grep -v grep | awk '{print $2}'
    • Lister les programmes utilisant la libc
      • lsof +c0 -d DEL | awk 'NR==1 || /libc/ {print $2,$1,$4,$NF}' | column -t
    • Lister le nb de connexions réseau, classées par état (ESTABLISHED, TIME_WAIT, etc.)
      • netstat -n | grep tcp | awk '{print $6}' | sort | uniq -c
      • netstat -an | awk '/^tcp/ {++S[$NF]} END {for (i in S) print i, S[i]}'
        • $NF = dernier élément de la ligne
    • Lister sans les dates
      • ls -l | awk '{print $1 " " $2 " " $3 " " $4 " " $5 " " $8}'
    • Définir le champ de séparation des données : option -F
      • awk -F '\t' '{print $2}'   (données séparées par des tabulations)
      • awk -F '"' '{print $2}' playlists-num.txt

cut

  • tail -f /var/log/apache2/access.log | cut -d' ' -f1 | sort | uniq -c | sort -gr   (permet de voir en temps réel quelle IP sollicite un max. (IP flooding) son serveur web Apache)
  • cut -c8-16   (extraire les colonnes 8 à 16)

chroot

Réparation d'un s.e. GNU/Linux
  • # mount /dev/hda1 /mnt
  • # mount --bind /dev /mnt/dev
  • # mount -t proc /proc /mnt/proc
  • # chroot /mnt
  • et réparation
Sécurité (il vaut mieux utiliser un container que chroot - tuto)

diff

Infos et outils

  • Infos Wikipedia
  • $ diff fichier1 fichier2   (affiche les différences entre ces fichiers texte)
  • $ diff --side-by-side --suppress-common-lines fichier1 fichier2
  • $ diff -r dossier1 dossier2   (affiche les diff. entre le contenu de ces dossiers et les diff. entre leurs fichiers)
  • $ diff -r --side-by-side --suppress-common-lines dossier1 dossier2
  • hdiff : affiche dans une page HTML les différences entre 2 fichiers, en couleur, côte-à-côte

Exemple

  • Pour voir uniquement les différences côte-à-côte
    • # diff -yEbB --suppress-common-lines fichier1 fichier2

Diff et patch

  • Pour la création de patch au niveau de fichier source, utiliser l'option -u
    • # diff -u fichier_original fichier_modifié
    • # diff -aruN dossier_original dossier_modifié
    • # diff -pruN dossier_original dossier_modifié
      • -a : traiter les fichiers en tant que fichiers texte
      • -p : montre en plus les fonctions concernées
      • -r : récursif
      • -u : sortie en unidiff (unified format)
      • -N : traiter les fichiers absents comme vides
  • Application au fichier original du patch créé
    1. # diff -au fichier_original fichier_modifié > le_patch
    2. # patch fichier_original le_patch

grep

  • Différences entre grep et egrep
  • grep utilise les expressions régulières
  • Les expressions régulières POSIX sont utilisables par l'option -E de grep ou par egrep
  • Exemples de commandes "grep"
    • grep le_mot le fichier
    • grep le.*_m.*ot le fichier
    • egrep  [a-zA-Z]\{12\} /etc/hosts   (cherche les mots comprenants 12 lettres consécutives)
    • grep -R audit /etc         (récursif : -R, -r)
    • find /etc/rc.d -type f -print | grep audit
    • find /etc/rc.d -type f | xargs grep audit
    • egrep 'chaine1|chaine2' fichier
    • grep -E 'chaine1|chaine2' fichier
    • grep -E '^flags.*(vmx|svm)' /proc/cpuinfo | uniq
    • Fichier de config - afficher uniquement les lignes non-commentées
      • grep -v ^# fichier_de_config
    • Fichier de config - afficher uniquement les lignes non-commentées et non-vides
      • grep -vE '^#|^$' fichier_de_config
        grep -vE '^#|^ *$' fichier_de_config
        grep -vE '^(#|$|[ ]*#)' fichier_de_config
    • Afficher également les 2 lignes suivant celle dans laquelle se trouve la chaine de caractères cherchée
      • grep -A 2
    • Afficher 2 lignes autour des chaines de caractères trouvées
      • grep -C 2 chaine fichier
    • Afficher également la ligne précédente
      • grep -B 1 chaine fichier
      • vérifier les "target" vs. les "http:" dans fichier.htm
        • grep "http:" fichier.htm | wc -l
        • grep -B 1 "http:" fichier.htm | grep target | wc -l
    • OpenLDAP - voir les RootDN et RootPW de cn=config
      • slapcat -n0 | grep -E '^olcRootDN|^olcRootPW'
      • slapcat -n0 | grep -C 5 '^\(olcRootDN\|olcRootPW\)'
    • grep --color=auto mot_cherché fichier   (le résultat est colorisé)
    • grep -E "^flags.*(vmx|svm)" /proc/cpuinfo > /dev/null && echo "virtualisation ok" || echo "virtualisation pas ok"
  • Autres exemples/astuces
Variantes
  • pgrep : affiche le PID d'un processus.
  • ICgrep (trac) : International Characters grep (gère le UTF-8), et plus rapide que grep (plus d'infos sur International Characters).

mail

Envoyer un fichier par email
  • $ mail -a un_fichier une_adresse@gmail.com (-a est une option de nail, mail est un lien vers nail sur SLES)

netcat

Exemple, pour transférer le contenu de un_fichier sur une machine distante

  • Sur la machine locale L
    • $ cat un_fichier | nc -l -p un_port_local
  • Sur la machine distante
    • $ nc adresse_IP_de_L le_meme_no_de_port > /tmp/contenu

sed

Liens

Sed permet de filtrer du texte (extraction, substitution de chaînes de caractères), en utilisant des expressions régulières.
  • Manual | Infos fr
  • By example : Part 1, Part 2, Part 3, NixCraft
  • Exemples
    • Vitesse des coeurs CPU
      • cat /proc/cpuinfo | grep "model name" | sed s/.*\ //g
    • Fichier de config - afficher uniquement les lignes non-commentées et non-vides
      • sed -e '/^[ ]*#/d' -e '/^$/d' fichier_de_config

Substituer une chaîne de caractères dans un/des fichier(s)

  • remplacer les "un" par des "deux"
    • sed -i 's/un/deux/g' fichiers*.txt
    • sed -e "s/un/deux/g"<fichier-ori.pdf >fichier-res.pdf
    • find . -name "fichiers*.txt" -exec sed -i 's/un/deux/g' {} \;
    • perl -pi -e "s/un/deux/" fichier.txt
    • perl -pi -e "s|un|deux|" fichier.txt
  • remplacer "CHAINE = une" par "CHAINE = " dans un fichier
    • sed -i 's@\(^CHAINE = \).*@\1 @' fichier.txt
  • ajouter "elevator=noop" en fin des lignes contenant vmlinuz, dans le fichier /boot/grub/menu.lst
    • sed -e 's!/vmlinuz.*!& elevator=noop!g' -i /boot/grub/menu.lst
  • ajouter la balise "ancre HTML" autour des URL dans un fichier (vu ici)
    • sed -s 's#\([^ ]\+\)->.*\(http:[^ ,]\+\)#<a href=\2>\1</a>#' fichier.txt
  • Insérer en 1ere ligne
    • sed -i "1i\\cat /etc/motd" /etc/profile
  • Utiliser les regEx
    • utiliser sed avec l'option -r

Renommer un ensemble de fichiers

  • find -name 'Pic*' -exec sh -c 'mv $1 "$(echo $1 | sed s/\\./_/g | sed s/^_/\\./g | sed s/_-//g)"' {} {} \;

Tar

  • GNU tar
  • Installation
  • Option -C chemin/du/dossier (ou --directory=chemin/du/dossier) pour changer de dossier

Compression

  • Compression de fichier
    • gzip fichier         
    • bzip2 fichier       (6x plus lent que gzip)
  • Compression d'un dossier
    •  tar -cvf - ./dossier | gzip > dossier.tar.gz
    • tar  zcvf  le_dossier_compressé.tgz  le_dossier          (utilise gzip)
    • tar  jcvf  le_dossier_compressé.tbz2  le_dossier         (utilise bzip2)

Décompression - Extraction

  • Décompression de fichier
    • gunzip fichier.gz
    • bunzip2 fichier.bz2         (6x plus lent que gunzip)
  • Décompression & extraction du dossier compressé
    • star -xpz < fichier.tar.gz
    • tar -zxvf  fichier.tgz        (utilise gzip)
    • tar -jxvf  fichier.tbz2       (utilise bzip2) => moyen mnémotechnique : j comme le whisky JB
    • bzip2 -cd fichier.tar.bz2 | tar xvf -   (GNU/Linux, Raspbian)

stat

Indique entre-autres la date de dernier accès au fichier (atime), la date de dernière modification du fichier (mtime), et la date de changement de l'inode (ctime).

stty

Vérification :
# stty -a

Si la touche backspace ne fonctionne pas, par exemple si elle affiche ^?, il faut la "remapper" :
# stty erase la_touche_backspace
ou :
# stty erase ^H

tree

Afficher les dossiers sous forme d'arborescence
$ cd le_dossier && tree
De même, mais dans une page web avec liens clickables
$ cd nidirondel && tree -H http://nidirondel.free.fr -C > tree.htm

xargs

$ find . -type f | xargs grep mot_cherché
$ find /etc/rc.d -type f | xargs grep audit
# find / -name un_fichier | xargs ls -l
$ locate un_fichier | xargs ls -l
$ locate un_fichier | xargs sh -c ' ls -l "$@" '

Alternatives

Permettent d'associer un nom générique, (par exemple : "/usr/bin/vim") à un programme (par exemple : "/usr/bin/vim.gnome")

$ ls -l /usr/bin/vim*
lrwxrwxrwx 1 root root      21 2010-06-16 11:38 /usr/bin/vim -> /etc/alternatives/vim
-rwxr-xr-x 1 root root 2255680 2010-09-28 13:04 /usr/bin/vim.gnome

$ ls -ls /etc/alternatives/vim
0 lrwxrwxrwx 1 root root 18 2010-06-16 11:38 /etc/alternatives/vim -> /usr/bin/vim.gnome

Ici on voit que editor et vim sont associés à /usr/bin/vim.gnome
$ ls -ls /etc/alternatives | grep vim
0 lrwxrwxrwx 1 root root  18 2010-06-16 11:38 editor -> /usr/bin/vim.gnome
0 lrwxrwxrwx 1 root root  18 2010-06-16 11:38 vim -> /usr/bin/vim.gnome

Infos

  • $ man update-alternatives
  • Les liens d'association sont dans /etc/alternatives
    • $ cd /etc/alternatives ; ls -ls | grep -E 'java|www-browser'
    • 0 lrwxrwxrwx 1 root root  40 2010-09-23 11:59 java -> /usr/lib/jvm/java-6-openjdk/jre/bin/java
    • 0 lrwxrwxrwx 1 root root  16 2010-06-10 11:19 gnome-www-browser -> /usr/bin/firefox
    • 0 lrwxrwxrwx 1 root root  18 2011-01-02 19:27 x-www-browser -> /usr/bin/konqueror

Voir les aternatives configurées pour x-www-browser

$ update-alternatives --query x-www-browser
Link: x-www-browser
Status: auto
Best: /usr/bin/konqueror
Value: /usr/bin/konqueror

Alternative: /usr/bin/firefox
Priority: 40
Slaves:

Alternative: /usr/bin/konqueror
Priority: 100
Slaves:
 x-www-browser.1.gz /usr/share/man/man1/konqueror.1.gz

Choisir dans la liste des alternatives configurées pour x-www-browser

$ sudo update-alternatives --config x-www-browser
There are 2 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).

  Sélection   Chemin              Priorité  État
------------------------------------------------------------
* 0            /usr/bin/konqueror   100       mode automatique
  1            /usr/bin/firefox     40              mode manuel
  2            /usr/bin/konqueror   100       mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné

Tentative d'ajout de seamonkey aux alternatives de gnome-www-browser

$ sudo update-alternatives --install /etc/alternatives/seamonkey gnome-www-browser /progs/www/seamonkey/seamonkey 30
update-alternatives: avertissement: /etc/alternatives/gnome-www-browser a été changé (manuellement ou par un script). Bascule vers des mises à jour manuelles uniquement.

Ex pour Java et le navigateur Mozilla


Commandes (quelques commandes et quelques infos)

ls

$ ls --color=none   (ou "--color=never", annule les couleurs le temps de cette commande, utile pour court-circuiter l'alias : ls='ls --color=auto')
  • ls --color=auto n'affiche les couleurs que dans un terminal
  • ls --color=always (ou "--color=all") permet de garder les informations de couleur, même en cas de redirection dans un fichier, ex : ls --color=always > resultat.txt
  • ls --color=tty
$ dircolors   (liste les couleurs. Pour les changer, utiliser LS_COLORS)

Par défaut, avec di=01;34, les dossier sont affichés en bleu foncé, ce qui - sur un fond noir - est fatiguant pour les yeux, je préfère donc di=01;33 qui affiche les dossiers en jaune.

Exemple complet modifié au niveau de di en étape 2:
  1. $ LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
  2.  LS_COLORS=`echo $LS_COLORS | sed -e s"/di=[0-9]*;[0-9]*/di=01;33/"`
  3. $ export LS_COLORS

Article plus complet concernant "LS_COLORS" et "DIR_COLORS"

cat, nl, et tac

$ nl un_fichier   (comme cat, liste le contenu du fichier, mais ajoute des n° de ligne)
$ tac un_fichier   (comme cat, liste le contenu du fichier, mais en sens inverse)

Date

$ date +%Y%m%d-%Hh%M  (sans ces options, le résultat de cette commande est le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit)

Ex d'ajout de date à nom de fichier : uptime > uptime.res-$(date +%Y-%m-%d-%H%M)

Nombres

$ jot -r 3 20   (-r => aléatoire, sinon séquentiel)

Tree

$ tree   (affiche les dossiers sous forme d'arborescence)
$ tree -H http://un-site -C > arbre.htm   (de même, mais en html)

Who

w et "who -a" affichent qui est connecté
"who -r" affiche le run level en cours

Utilisation de noms contenant des espaces

$ ls -ls "Ubuntu One"
$ ls -ls Ubuntu\ One


Vic
Page modifiée le 29 janvier 2023

Page d'accueil du site