Commandes usuelles

Un article de MemoWiki.

Sommaire

Surveillance du système

Liste des process actifs pour un compte utilisateur

user1@d64app1:~$ ps aux |grep www-data
www-data  2730  0.1  2.6 207656 20632 ?        S    Jan05   0:15 /usr/sbin/apache2 -k start
www-data  2731  0.1  2.6 207112 20136 ?        S    Jan05   0:11 /usr/sbin/apache2 -k start
www-data  2733  0.1  2.6 207612 20584 ?        S    Jan05   0:14 /usr/sbin/apache2 -k start
www-data  2734  0.0  2.2 200640 17244 ?        S    Jan05   0:07 /usr/sbin/apache2 -k start
www-data  2735  0.0  2.7 208096 21244 ?        S    Jan05   0:08 /usr/sbin/apache2 -k start
www-data  2872  0.2  2.1 203472 16624 ?        S    Jan05   0:19 /usr/sbin/apache2 -k start
www-data  2874  0.1  2.6 203488 20016 ?        S    Jan05   0:09 /usr/sbin/apache2 -k start
www-data  2876  0.1  2.7 207644 20780 ?        S    Jan05   0:17 /usr/sbin/apache2 -k start
www-data  2877  0.1  2.0 202444 15664 ?        S    Jan05   0:13 /usr/sbin/apache2 -k start
www-data  2878  0.0  2.6 207616 20532 ?        S    Jan05   0:07 /usr/sbin/apache2 -k start
user1    3952  0.0  0.1   7236   840 pts/0    R+   00:00   0:00 grep www-data

Afficher les derniers message système en continu

tail -f /var/log/messages

Renommer un ensemble de fichiers

 $for i in *.JPG; do mv -f "$i" "${i/.JPG}".jpg; done

Copie de fichiers avec scp

Machine source: machine1 Machine destination: machine2 Dans cet exemple, nous avons ouvert une session sur machine2

scp -r user@machine1:/foo/bar/* /foo/bar

Cette commande copie de manière recursive (avec le contenu des sous-repertoires) tous les fichiers du chemin /foo/bar de machine1 vers /foo/bar de machine2 Si le nom des repertoires comporte des espaces, il faut les saisir de la manière suivante dans la commande scp:

scp -r user@machine1:/foo/bar\\\ suite/* /foo/bar

Gestion des paquets RPM (Redhat, Fedora)

Installer un nouveau package RPM

rpm -iv nom_du_package	

Supprimer un package RPM

rpm -e nom_du_package	

Vérifier si un package RPM est installé

rpm -qa | grep -i chaine_a_chercher

crontab - les travaux planifiés

Attention, les variables d'environnement de l'utilisateur ne sont pas prises en compte dans la crontab. Il faut préciser les chemins absolus des commandes et redéfinir les variables d'environnement dans les scripts à lancer.

Afficher la crontab en cours

crontab -l

Editer la crontab

crontab -e

Syntaxe

# crontab syntax
#* * * * * commande à executer
#- - - - -
#| | | | |
#| | | | +----- Jour de la semaine (1 - 7) (Lundi = 1)
#| | | +------- mois (1 - 12)
#| | +--------- Jour du mois (1 - 31)
#| +----------- heure (0 - 23)
#+------------- minute (0 - 59)
#

exemples

  • 30 0 1 1,6,12 * -- 00:30 les 1er Janvier, Juin & Décembre
  • 0 20 * 10 1-5 -- 20:00 du Lundi au Vendredi en Octobre
  • 0 0 1,10,15 * * -- midnight on 1st ,10th & 15th of month
  • 5,10 0 10 * 1 -- A 00:05,00:10 tous les Lundi & le 10 de chaque mois

désactiver l'envoi de mail

/dev/null 2>&1 à la fin de la ligne de commande

Générer un fichier journal

30 18 * * * rm /home/utilisateur/tmp/* > /home/utilisateur/cronlogs/clean_tmp_dir.log
Outils personnels