Catégorie : Ligne de commande

18 juin 2015 /

Pour identifier un processus consommant le plus de mémoire:

ps -eo pmem,pcpu,pid,args | tail -n +2 | sort -rnk 1 | head

Pour identifier un processus consommant le plus de CPU:

ps -eo pmem,pcpu,pid,args | tail -n +2 | sort -rnk 2 | head

 

ps -> Liste des processus courants
-e -> Sélectionne l’ensemble des processus
-o -> Spécifie un format utilisateur
pmem,pcpu,pid,args -> format utilisateur définit sur la mémoire,cpu, numéro de pid et commande
tail -n +2 -> Sortie standard à partir de la seconde ligne (pour éviter la sortie des intitulés de colonnes comme %MEM, etc ...)
sort -rnk 1 -> Classer par ordre numérique (n) décroissant (r) suivant la première colonne (mémoire)
sort -rnk 2 -> Classer par ordre numérique (n) décroissant (r) suivant la seconde colonne (cpu)
head -> Sortie des 10 premières lignes

17 juin 2015 /

Si vous utilisez gnome, il existe la commande gnome-screensaver-command pour contrôler le verrouillage de l’écran.

Pour verrouiller son écran dans un environnement Gnome:

gnome-screensaver-command --lock

En plus court:

gnome-screensaver-command -l

Il y a également une autre commande qui verrouille la souris, il suffit de rentrer le mot de passe de la session active pour récupérer sa souris:

xtrlock

Vous pouvez maintenant créer un raccourci clavier (en plus de CTRL + ATL + l) ou alors un bouton pour verrouiller l’écran.

16 juin 2015 /

Pour envoyer un message à un seul utilisateur, on doit d’abord trouver le numéro de terminal  » pts  » que l’utilisateur utilise:

who

ce qui nous donne le résultat:

wall1

On voit que l’utilisateur utilise le pts/3 (ici par rapport à l’heure).

Donc ensuite:

echo "testeuuuu... li la louuuuu" >> /dev/pts/3

wall2

Pour envoyer un message à tous le monde, On utilise la commande Wall.
Le mieux est de créer un fichier avec notre message pour se prémunir d’une éventuelle faute de frappes.

Création du fichier et du message:

echo "Le serveur va être redémarré pour maintenance, déconnectez-vous je vous prie" >> msg_cmd_wall

Envoi du message:

wall < msg_cmd_wall

15 juin 2015 /

La commande source permet de lire et d’exécuter les commandes contenues dans un fichier passé en argument avec l’environnement du shell en cours, puis renvoie le code de retour de la dernière commande exécutée dans le fichier.

En gros, de base, un processus ne peut pas modifier l’environnement de son parent. Il ne peut modifier que son propre environnement. Il peut aussi choisir quel environnement transmettre lors d’un exec.

Quand tu exécutes un script de cette façon « ./script.sh », ton shell devient un fork dans lequel un nouveau shell va exécuter le script. Les variables du script sont placés dans l’environnement du processus fils, pas dans le processus père.

Alors que quand on « source » un fichier, cela demande au shell courant d’interpréter le script qui est passe en argument. Cela ne crée pas de sous-shell. Donc dans ce cas le script modifie bien l’environnement du shell courant.

Note que « .  » est équivalent à « source ».
Au lieu de faire « source script.sh », on peux faire « . ./script.sh ».

Exemple:

. ./script.sh

ou

source ./script.sh

Avec cette commande, on « source » le fichier script.sh contenant des fonctions ou des variables; c’est à dire que les variables contenues dans le fichier « sourcé » deviennent connues pour le shell courant, idem pour les fonctions.

Rappel:

Faites attention,  « ./  » et source ne font pas la même chose.

./script.sh lance le script comme un fichier executable, lancant un nouveau shell pour son execution.
source script.sh lis et execute les commandes/paramètres du fichier passé en argument dans le shell courant

Donc « ./script.sh » n’est pas comme « . script.sh », mais « . script.sh » est pareil que « source script.sh »

 

14 juin 2015 /

Le signe « – » n’est pas en lui-même un opérateur lorsqu’un nom de fichier est attendu, c’est plutôt une option reconnue par certains Unix et Linux. Cela écrit dans la sortie standard (stdout) ou lit dans l’entrée standard (stdin), comme par exemple tar ou cat, mais il y en a d’autre

Voici un exemple avec cat:

echo "salut" | cat -

Cela affichera:

salut

Voici un exemple avec tar:

tar -cvf - /home/starmate | ssh sauvegarde@sauvegarde.home "cat > sauvegarde.tar"

Ici tar va envoyer la création de l’archive dans la sortie standard, qui sera pipée ( | ) via SSH sur le serveur « sauvegarde.home ». Puis son affichage via cat sera redirigé dans un fichier sauvegarde.tar dans le répertoire personnel de l’utilisateur local « sauvegarde ».

Un  » –  » redirige donc la sortie vers stdout ou accepte une entrée de stdin, plutôt qu’un fichier.
Cette méthode est utilisé principalement lorsque l’on juge utile de manipuler des fichiers à travers des tubes.