Linux: quelques instructions

[C] [D] [F] [G] [K] [L] [N] [P] [S] [T] [U] [W] [X]

L'instruction cat:

L'instruction cat me paraît être une instruction passe-partout très utile à utiliser.
Il m'a fallu quelque temps à saisir ses possibilités et encore en suis-le loin de bien les connaître. Elle permet de faire beaucoup de choses sans s'encombrer d'interfaces graphiques souvent utiles mais lourds également.

Si je me réfère à "Learning the Bash Shell" des éditions O'Reilly l'"utilité" cat "copy input to output".

Exemple:


  # cat < file1 > file2

est semblable à cp file1 file2

Commençons par une instruction simple. Vous avez un fichier "mon_fichier".
Tapez l'instruction:

>cat mon_fichier

en étant dans le répertoire qui contient ce fichier et sera alors listé sur écran, c'est-à-dire vers le périphérique de sortie par défaut, le contenu de votre fichier mon_fichier.
Vous ne pourrez naturellement pas l'éditer. Pour cela il faut employer un éditeur comme vi ou vim

Supposons que vous recherchez uniquement les lignes de votre fichier mon_fichier qui contiennent le mot mot_cherché, vous pouvez taper:

# cat mon_fichier | grep mot_cherché

Et ne seront imprimés sur l'écran que les lignes qui contennent le mot "mot_cherché". L'instruction cat permet également de "concaténer" un fichier vers un autre ou, en terme plus simple, de copier un fichier sous un autre nom.

Taper:

#cat mon_fichier > mon_fichier2

Et votre fichier sera copié dans mon_fichier2.

Si vous ne voulez copier que les dix dernières lignes de votre fichiers "mon_fichier", utilisez la fonction "tail":

#tail --line=10 mon_fichier > mon_fichier2

Et vous n'aurez que les dix dernières lignes retranscrites dans mon_fichier2.

On peut encore ajouter à mon_fichiers2 toutes les lignes qui contiennent par exemple "mot_cherché":

# mon_fichier | grep mot_cherché >> mon_fichier2

N'oubliez pas les deux crochets vers la droite ">>" qui indiquent qu'on fait un "append" sur le fichier existant. Avec un seul crochet ">" on aurait substitution des anciennes lignes par les nouvelles importées par l'instruction cat.

L'instruction cut:

Extraits les colonnes d'une entrée (input).

Exemple: dans le fichier /etc/passwd on a des lignes qui ressmblent à ceci:

uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
man:x:13:2::/var/cache/man:/bin/bash
alain:x:500:100:Alain Barthélemy:/home/alain:/bin/bash

avec l'instruction # cut -d: -f1 < /etc/passwd | sort
on extrait le premier domaine ou "field" (-f1) là où les domaines sont délimités par des ":" (-d:) le résultat est ensuite trié.
Résultat:
alain
man
uucp

L'instruction date:

L'instruction sans arguments permet d'afficher la date du jour:

#date
>sam fév 10 21:15:17 CET 2001

Pour fixer la date, par exemple au 11 février 2001 à 22h30, on tape:

#date 021122302001

Ou, si on est en 2001:

#date 02112230

Pour appliquer cette heure à l'horloge hardware, taper ensuite:

#hwclock --systohc

dd:

Voir man: dd copie un fichier (par défaut, depuis l'entrée standard vers la sortie standard) en permettant de sélectionner la taille de bloc, et d'effectuer des conversions.

dd sert donc à copier des fichiers comme cat et cp.

Exemple: pour créer une disquette d'amorçage, on copie le fichier /boot/vmlinuz sur une disquette vierge qui peut être formatée sous MS-Dos ou sous Linux:

# dd if=/boot/vmlinuz of=/dev/fd0 bs=8192

dd copie le fichier d'entrée (option if, Input File) nommé /boot/vmlinuz dans le fichier de sortie (option of, Output File), par bloc de 8192 octets (option bs, Block Size).

Plus simplement, il existe la commande cp mais qui est, paraît-il, dédaignée par les administrateurs système.

Autre application de la commande dd pour générer un fichier de swap supplémentaire.

# dd if=/dev/zero of=/swap bs=1024 count=8192

Cette commande écrit 8192 bloc de 1024 octets (soit 8Mo) de données issues de /dev/zero dans le fichier /swap. Le périphérique /dev/zero est spécial car toute opération de lecture retourne alors des octets nuls.

On invoque ensuite:

# mkswap -c /swap 8192

... qui va formater la partition /swap en format "swap" dont la taille est égale à 8192 blocs de 1024 octets. L'option -c est optionnelle et permet de rechercher les blocs défectueux pendant le formatage.

Pour mettre en service cette zone de swap:

# swapon /swap

Cette nouvelle zone s'ajoute à l'espace total disponible pour le swap.

Mise hors service de la zone de swap:

# swapoff /swap

df:

L'instruction df délivre des informations sur l'espace du disque dur couramment utilisé: espace disque libre/utilisé, point de montage.

L'instruction dig:

L'instruction dig permet de connaître l'adresse de l'interface du serveur DNS principal du réseau sur lequel on est relié, avec le paramètre "ns":

#dig infonie.be ns

; <<>> DiG 8.3 <<>> infonie.be ns ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2 ;; QUERY SECTION: ;; infonie.be, type = NS, class = IN ;; ANSWER SECTION: infonie.be. 22h48m34s IN NS zeus.infonie.be. infonie.be. 22h48m34s IN NS jupiter.infonie.be. ;; ADDITIONAL SECTION: zeus.infonie.be. 22h48m34s IN A 212.232.0.1 jupiter.infonie.be. 22h48m34s IN A 212.232.0.3 ;; Total query time: 2 msec ;; FROM: terre to SERVER: default -- 192.168.1.37 ;; WHEN: Wed Feb 14 16:41:09 2001 ;; MSG SIZE sent: 28 rcvd: 101

dmesg:

La commande dmesg tapée dans une console permet de récupérer les messages du Boot.

Il faut également ajouter le filtre less car les messages de boot sont généralement long.

#dmesg | less

Une autre solution est d'aller examiner le fichier boot.msg qui se trouve dans le répertoire /var/log, soit via l'application Midnight Commander (taper mc) soit avec l'instruction cat soit avec l'éditeur vi:

#cat /var/log/boot.msg | less
ou #vi /var/log/boot.msg | less

Remarque: pour quitter less saisir q et pour quitter vi saisir :q puis enter.

Dans le même répertoire /var/log/ on trouve d'autres fichiers qui renseignent sur l'état du système dont le fichier /var/log/messages qui accumule tous les messages du système.

Conseil: les fichiers /var/log/fichiers ont tendances à croître et à prendre beaucoup de place. Il est intéressante de faire le nettoyage et de ne garder que, par exemple, les 200 dernières lignes. Dans SuSE, il y a, dans /etc/rc.config, une ligne MAX_DAYS_FOR_LOG_FILES="XX". Remplacer XX par un nombre de jour après lequel les fichiers /var/log/fichiers vont être vérifiés et amputés d'une certaine valeur s'ils dépassent une certaine taille.

Une autre façon de faire:

#tail /var/log/messages --lines=200 > /var/log/mess_tmp
#cat /var/log/mess_tmp > /var/log/messages
#rm /var/log/mess_tmp

du:

La commande du (disk usage) fournit des informations sur la quantité d'espace disque utilisée par chaque sous-répertoire du répertoire indiqué en argument et par chaque fichier.
Sans argument du donne l'espace disque utilisé par chacun des sous-répertoire et la somme de ces espaces disques est indiqué en bas de liste:

#du

..........
12 ./Users
8  ./TheFindByContentFolder/.AppleDouble
12 ./TheFindByContentFolder
51952 .

Si on ne veut que l'espace total occupé par le répertoire courant, ajouter le paramètre -s

#du -s

51956 .

Les tailles sont exprimées ici en octets

Avec le paramètre -a ou --all, on obtient également les statistiques pour tous les fichiers pas seulement les répertoires.

Avec le paramètre -h ou --human les tailles sont affichées de manière facile à lire par les humains (en octet, kiloctets k ou mégaoctets M).

#du -h

12k ./Users
8.0k ./TheFindByContentFolder/.AppleDouble
12k ./TheFindByContentFolder
51M .

#du -hs 51M

Mettre en argument le répertoire dont on veut connaître l'espace disque occupé.

#du -hs /ce_répertoire

fdisk:

Commande qui sert à la manipulation, sous root, des tables de partitions pour Linux. Avec le paramètre -l la commande donne la liste des partitions avec leurs caractéristiques:

#fdisk -l

Disque /dev/hda : 255 têtes, 63 secteurs, 730 cylindres
Unités = cylindres sur 16065 * 512 octets


Périphérique Amorce Début Fin Blocs Id Système
/dev/hda1             1       383   3076416    b  Win95 FAT32
/dev/hda2   *       384       384      8032+  83  Linux
/dev/hda3           385       401    136552+  82  Echange Linux
/dev/hda4           402       730   2642692+   5  Etendue
/dev/hda5           402       730   2642661   83  Linux

En précisant la partition, on peut alors la manipuler:

#fdisk /dev/hda

Commande (m pour aide) :

Si on saisit m, on a:

Action de commande
   a   (Dés)active un indicateur Bootable
   b   Edite le libellé de disque bsd
   c   (Dés)active l'indicateur de compatibilité DOS
   d   Supprime une partition
   l   Répertorie les types de partition connus
   m   Affiche ce menu
   n   Ajoute une nouvelle partition
   o   Crée une nouvelle table de partition DOS vide
   p   Affiche la table de partition
   q   Quitte le programme sans enregistrer les modifications
   s   Crée un nouveau libellé de disque Sun vide
   t   Change l'ID système d'une partition
   u   Change l'unité d'affichage/saisie
   v   Vérifie la table de partition
   w   Ecrit la table sur le disque et quitte le programme
   x   Fonctions supplémentaires (experts seulement)

On peut ainsi manipuler "manuellement" les partitions: création (n), suppression (d), etc.

Les "filtres" (grep, less, tail):

Linux comporte une série de commandes appelées filtres qui servent à manipuler des fichiers textes.A la façon d'un "plombier fou", on peut connecter une suite de filtres l'un à l'autre de façon à manipuler le contenu d'un fichier texte. Un filtre lit un texte transmis d'un fichier ou de l'"output" d'un programme, modifie le texte d'une certaine façon et libère le texte modifié.
L'"output" d'un filtre peut être relié à l'"input" d'un autre filtre de façon à former une chaine de filtres et l'"output" d'un filtre qui n'est pas relié à l'input" d'un autre filtre apparaît sur la console.
Pour envoyer l'"output" d'une commande à un filtre on utilise la barre verticale (pipe) '|' suivie du nom du filtre.
A titre d'exemple, prenons la commande ls -l (qui produit une sortie sur console) liée à la commande "filtre" grep qui recherche dans un fichier d'entrée indiquée les lignes correspondant à un certain motif. Dans ce cas-ci le fichier d'entrée est la sortie de la commande ls -l. L'instruction suivante affiche les noms des sous-répertoires du répertoire courant:

#ls -l | grep '^d'

La commande grep élimine toutes les lignes de sorties sauf celles qui ont un d comme première lettre, càd les répertoires qui sont caractérisés par la présence d'un d en tête de ligne. Le caractère '^' indique à grep de ne regarder que les d qui sont en tête de ligne. Le motif ^d est inclus entre guillemets simples (').

Voir la commande tail.

L'instruction find:

find parcourt les arborescences de répertoires commençant en chacun des chemins mentionnés, en évaluant les expres­ sions fournies pour chaque fichier rencontré.

L'évaluation de l'expression se fait de gauche à droite, en suivant des règles de précédence décrite dans la sec­ tion OPÉRATEURS, jusqu'à ce que le résultat soit connu (par exemple la partie gauche vraie pour un opérateur OU ou fausse pour un opérateur ET).

Le premier argument commençant par `-', `(', `)', `,', ou `!' est considéré comme le début de l'expression, tous les arguments précédents sont des chemins à parcourir.

Exemple:

find /tmp \! -type d -atime +2 -exec rm -f {} \;

On demande à find de parcourir toutes les arborescences du répertoire \tmp et de rechercher tous ce qui n'est pas répertoire (le point d'exlamation ! = négation et le paramètre -type d indique répertoire ou directory).

L'instruction free:

Voir man écrit par Brian Edmonds et traduit par Christophe Blaess, 1997

free affiche les quantités totales de mémoire et de zone de swap libres et utilisées dans le système, ainsi que la mémoire partagée et les buffers utilisés par le noyau.

#free

total used free shared buffers cached
Mem:130532 106564 23968 0 6924 62452
-/+ buffers/cache: 37188 93344
Swap:136544 0 136544

Voir aussi la commande top.

L'instruction grep:

La commande grep est un "filtre" recherche dans un fichier d'entrée indiquée les lignes correspondant à un certain motif.
Voir les "filtres.

L'instruction kill:

Cette commande permet d'envoyer des signaux aux processus.

kill envoie le signal indiqué aux processus mentionnés. Si on ne précise pas de signal, TERM est envoyé (ou le paramètre -15). Ce dernier clotûrera proprement les processus qui ne l'interceptent pas.

La commande kill -15 peut cependant être désactivée (ou interceptée) par le programme, par exemple pendant une action critique qui ne peut pas être interrompue. On peut alors tuer un processus de façon radicale (donc sans mise en ordre, suppression des temporaires, ...) en utilisant le paramètre -9:

#kill -9 PID_processus

Pour connaître le PID du processus, utiliser la commande ps aux.

Si on est dans un gestionnaire de fenêtre et qu'on est confronté à un "plantage" qui bloque tout, transférez-vous dans une autre console (la nième par exemple)en tapant ctrl alt Fn. Loguer vous alors en root et faites un "kill".
Revenez ensuite au gestionnaire de fenêtre en tapant alt F7

L'instruction ln:

Cette instruction permet de créer des liens entre fichiers.

Exemple: vous avez un répertoire /cible vers lequel on veut créer un lien à partir du répertoire utilisateur home/bibi. Tapez:

#ln -s /cible /home/bibi/lien

On crée ainsi un répertoire virtuel qui est un lien vers le répertoire /cible.

Le paramètre -s indique qu'on crée un lien dit symbolique. Je n'entre pas dans les détails, voir le man pour plus de détails.

Si on n'indique pas, en second argument, un nom de lien spécifique, le lien prendra le nom du répertoire cible.

#ln -s /cible

Cette instruction créera le lien /home/bibi/cible

Une des applications est de déplacer des répertoires volumineux dans une partition qui offre encore de l'espace libre:

#mv /depart /destination #mv = transférer un fichier

Une fois le fichier transféré, on crée un lien symbolique entre le répertoire qui contenait le fichier transféré et le nouvel emplacement de ce répertoire:

#ln -s /destination /depart

tout se passe comme si le répertoire /depart existait toujours sauf qu'il est maintenant virtuel et qu'il ne sert plus que de pointeur vers le répertoire destination.

Si on veut, dans KDE, accéder directement à un répertoire à partir du bureau à la façon Windows ou Mac, on se met dans le répertoire Desktop de son compte personnel:

#cd /home/bibi/Desktop

Ensuite on crée un lien vers le répertoire /cible, par exemple un sous-répertoire du compte bibi, /home/bibi/cible:

ln -s /home/bibi/cible

Sur le bureau apparaît alors un icône qui permet d'accéder directement au répertoire /home/bibi/cible.

Pour enlever un lien, on peut le faire via l'application Midnight Commander et la touche F8 pour "Effacer" ou manuellement avec l'instruction rm:

#rm /lien

L'instruction ls:

La commande ls affiche l'ensemble des fichiers contenus dans le répertoire indiqué.

alain@portable:~ > ls
Desktop Program.kdelnk kmail.kdelnk quanta.kdelnk
Mail html pictures wp8.kdelnk

Le contenu des répertoires est trié par ordre alphabétique (majuscules en tête!).
Un fichier dont le nom commence par un point ('.') n'est affiché que si l'option -a est fournie.

alain@portable:~ > ls -a
. .dvipsrc .mc .uitrc.vt102 .zsh
.. .emacs .muttrc .uitrc.xterm Desktop
.X.err .exrc .nc_keys .urlview Mail
.Xdefaults .gimprc .profile .vimrc Program.kdelnk

Avec l'option -1, on affiche un fichier par ligne:
Avec l'option -d, on n'affiche pas le contenu du répertoire.
Avec l'option -l, on affiche le type du fichier, les permissions d'accès, le nombre de liens physiques, le nom du propriétaire et du groupe, la taille en octets et l'horodatage (de la dernière modification).

alain@portable:~ > ls -la
total 221
drwx------ 15 alain users 1259 avr 11 22:53 .
drwxr-xr-x 3 root root 56 avr 11 21:00 ..
-rw-r--r-- 1 alain users 8958 avr 12 08:21 .X.err
-rw-r--r-- 1 alain users 5742 avr 11 21:00 .Xdefaults
-rw-r--r-- 1 alain users 1305 avr 11 21:00 .Xmodmap
lrwxrwxrwx 1 root root 10 avr 11 21:00 .Xresources-> .Xdefaults

d indique qu'on a affaire à un répertoire, l à un lien, les permissions (owner, group, other) sont indiqués par les lettres r (read), w (write) et x (executable).

L'option -r inverse l'ordre de tri, l'option -t trie en fonction de la date, l'option -u en fonction de la date de dernier accès

L'instruction mount:

Dans un système Unix, l'instruction mount permet d'attacher un périphérique de stockage à l'arborescence générale.
Les systèmes Linux se basent en effet sur une structure virtuelle à laquelle sont attachés les différents périphériques.

Monter la disquette en format FAT32 (format Microsoft archaïque)dans le répertoire /floppy:

#mount /dev/fd0/ -t vfat /floppy

Monter un disque dur consacré à Windoxs sur le point de montage /mnt/windows:

#mount -t vfat /dev/hda2 /mnt/windows

Remarque: hda2 peut être hda1 ou hda3, etc. Vérifier avec fdisk -l.

Ces lignes permettent de retrouver l'arborescence du disque dur Windows dans le répertoire Windows. Il est indispensable que le répertoire /mnt/windows existe.

Monter le CD-Rom dans le répertoire /cdrom

#mount /dev/cdrom -t iso9960 /cdrom

Dans SuSE (et d'autres distribution), les partitions Linux sont montées automatiquement au démarrage. Si on va voir dans le répertoire /etc/ on trouvera un fichier nommé fstab. C'est le fichier qui indique au système les fichiers à monter.

/dev/hdb1 /boot ext2 defaults 1 2
/dev/hdb2 swap swap defaults 0 2
/dev/hdb3 / ext2 defaults 1 1

/dev/hdc /cdrom auto ro,noauto,user,exec 0 0

/dev/fd0 /floppy auto noauto,user 0 0

/dev/hda1 /mnt/windows vfat noauto,users,umask=000 0 0

La première colonne donne la nature du périphérique.
La deuxième indique le répertoire sur lequel le périphérique doit être monté. Ce répertoire doit être préalablement créé.
La troisième colonne indique le type de fichier (ext2: Linux, vfat: Windows, iso9660: CDRom, auto: au choix)
La quatrième colonne donne les options de montage: auto: montage automatique au démarrage (par défaut), noauto: pas de montage automatique au démarrage, ro: read only (cdrom), user: ne peut être démonté que par l'utilisateur qui a monté le périphérique. Cela évite que des sans-gêne démonte le périphérique sur lequel on travaille, users: peut être démonté par n'importe qui,exec: est exécutable (cdrom), umask=000: accès permis par tout le monde.

Lorsque le périphérique est encodé dans /etc/fstab, il suffit de taper:

#mount /periph ou mount /dev/periph pour le monter.

Pour le démonter, taper:

#umount /periph ou umount /dev/periph pour le monter.

L'instruction nohup:

Cette commande permet de pouvoir lancer une commande et de la continuer en arrière-plan même si on doit se déconnecter (pratique pour des commandes qui prennent du temps et des ressources pendant la journée, par exemple le téléchargement d'un fichier sur internet):

#nohup ma_commande &

Attention! N'oubliez pas le & sinon le travail ne passe pas en tâche de fond.

L'instruction pwd:

Affiche le nom du répertoire de travail en cours.

root@terre:/var/log > pwd
/var/log

L'instruction ps:

La commande ps (processus status) permet de visualiser tous les processus en cours d'exécution.

#ps

PID TTY TIME CMD
4102 tty2 00:00:00 bash
4109 tty2 00:00:00 startx
4110 tty2 00:00:00 tee
4118 tty2 00:00:00 xinit
4121 tty2 00:00:00 kwm
4213 tty2 00:00:00 kbanner.kss

Avec le paramètre -a:

PID TTY STAT TIME COMMAND
4086 tty1 S 0:00 login -- root
4087 tty2 S 0:00 login -- alain
4088 tty3 S 0:00 /sbin/mingetty tty3
4089 tty4 S 0:00 /sbin/mingetty tty4
4090 tty5 S 0:00 /sbin/mingetty tty5
4091 tty6 S 0:00 /sbin/mingetty tty6

On obtient ainsi le PID (process ID), le terminal (TTY) auquel le processus est rattaché, l'état du processus STAT (la valeur est S si le processus est inactif, R s'il est en cours d'exécution, T s'il est arrêté, Z si c'est un zobie, D s'il est inactif et ne peux pas être arrêté), ensuite vient le temps système TIME utilisé par le processus et enfin le nom du processus COMMAND.

Pour avoir des informations sur les utilisateurs, ajouter le paramètre u:

#ps au

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
bibi 4102 0.0 1.0 2316 1384 tty2 S 09:42 0:00 -bash
bibi 4109 0.0 0.7 2084 1040 tty2 S 09:42 0:00 sh /usr/X11R6/bin
bibi 4213 0.0 2.7 6560 3548 tty2 SN 09:42 0:00 /opt/kde/bin/kban
bibi 4239 0.0 3.0 6512 3976 tty2 S 09:42 0:00 knotes -knotes_re

Pour n'avoir que les processus d'un utilisateur, jouter son nom:

#ps au bibi

Le paramètre -x vous donne les informations suivantes:

#ps x

PID TTY STAT TIME COMMAND
4102 tty2 S 0:00 -bash
4109 tty2 S 0:00 sh /usr/X11R6/bin/startx
4110 tty2 S 0:00 tee /home/alain/.X.err
4118 tty2 S 0:00 xinit /home/alain/.xinitrc --

Pour avoir toutes les informations, taper:

# ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 360 208 ? S 09:06 0:04 init
root 2 0.0 0.0 0 0 ? SW 09:06 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW 09:06 0:00 [kupdate]
root 4 0.0 0.0 0 0 ? SW 09:06 0:00 [kpiod]

Ajoutez le filtre less si vous voulez voir la liste des processus page par page:

#ps aux | less

La commande grep permet de filtrer la liste des processus. Par exemple Netscape:

# ps aux | grep netscape

bibi 4261 0.0 10.8 22688 14156 tty2 S 09:43 0:03 /opt/netscape/netscape -irix-session-management

Voir également la commande kill car la commande ps permet de rechercher le PID d'une instruction pour pouvoir la "killer".

L'instruction su:

La commande su, comme "super-utilisateur", permet à un simple utilisateur de se connecter soit en root (à condition de connaître le mot de passe) soit en tant qu'autre utilisateur existant sur la machine:

#su
#password_root

Pour quitter:

#exit

Pour se connecter sur le compte d'un autre utilisateur:

#su nom_autre_utilisateur
#password

Egalement, pour quitter:

#exit

Aucune session supllémentaire n'est ouverte. Très logiquement, les droits suivent la commande su.
Cette commande est pratique si vous devez faire une action qui demande les droits de roots et que vous ne voulez pas ouvrir une autre session ou quitter le gestionnaire de fenêtre.

Les instructions shutdown, halt, reboot:

Trois commandes pour éteindre ou redémarrer la station Linux:

Toutes ces commandes doivent se faire en root obligatoirement. Un utilisateur normal n'a pas la permission d'éteindre la station.

#shutdown -r now

Cette instruction redémarre le système.

#shutdown -r sec

Redémarre après sec secondes.

Cette instruction peut être remplacée par:

#reboot

#shutdown -h now

Cette instruction éteint le système. Elle peut être remplacée par:

#halt

L'instruction tail:

Cette commande permet d'afficher les dernières lignes d'un fichier quelconque.
L'option n permet de préciser le nombre de lignes souhaitées:

#tail -n 25 texte.txt

On peut également écrire:

#tail --line=25 texte.txt

Le paramètre -f ou --follow continue d'afficher la fin du fichier même si ce dernier est modifié, notamment si de nouvelles informations se rajoutent. Cette options est pratique pour suivre les fichiers de log:

#tail -f /var/log/messages

L'instruction top:

Cette commande permet de visualiser l'activités des processus, de connaître la mémoire utilisée, l'activité du processeur ... de façon dynamique puisque le tableau est rafraichi périodiquement.

12:18pm up 12 min, 2 users, load average: 0.15, 0.07, 0.04
55 processes: 54 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 2.0% user, 1.1% system, 0.0% nice, 96.8% idle
Mem: 130532K av, 65680K used, 64852K free, 0K shrd, 4140K buff
Swap: 136544K av, 0K used, 136544K free 28296K cached

PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
551 root 6 0 14572 14M 1540 S 0 0.9 11.1 0:06 X
739 bibi 12 0 1048 1048 868 R 0 0.9 0.8 0:00 top
1 root 0 0 196 196 168 S 0 0.0 0.1 0:04 init
2 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kflushd
3 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kupdate

On a les mêmes informations qu'avec la commande ps aux.

En mode graphique, voir aussi les commandes ktop et gtop.

L'instruction type:

La commande type permet d'afficher le chemin complet de l'exécutable:

alain@terre:~ > type awk
awk is /usr/bin/awk

On peut aussi taper (instruction which):

alain@terre:~ > which awk
/usr/bin/awk

L'instruction uptime:

Cette commande donne en console des informations intéressantes sur la situation du système:

#uptime

Voilà ce que vous obtenez:

10:42am up 1:36, 2 users, load average: 0.00, 0.00, 0.00

L'instruction whatis:

whatis recherche les mots indiqués dans un ensemble de bases de données contenant les descriptions des commandes système (décrit brièvement une instruction).

alain@portable:~ > whatis lsof
lsof (8)             - list open files

L'instruction xwininfo:

Instruction que j'ai découvert par hasard en consultant la conférence linux@lists.linuxbe.org. Si on tape l'instruction, dans un gestionnaire de fenêtre comme kde, on peut lire:

alain@terre:~ > xwininfo

xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.

Le poinreur de la souris est remplacé par une petite croix et si on clique, bouton gauche, en la positionnant sur une fenêtre, on obtient la sortie suivante:

xwininfo: Window id: 0x1c0000b "Konsole"

Absolute upper-left X: 4
Absolute upper-left Y: 47
Relative upper-left X: 4
Relative upper-left Y: 24
Width: 582
Height: 318
Depth: 16
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x21 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +4+47 -438+47 -438-403 +4-403
-geometry 582x318+0+23

Donc, toutes les informations concernant cette fenêtre sont affichées.

En tapant:

# xwininfo|awk '/id:/{print$4}'

... on obtient:

0x1c0000b

... c'est-à-dire l'id de la fenêtre après avoir cliqué dessus.

Je ne parle pas de awk que je connais mal. Ceci est purement à titre d'exemple.

Si on tape:

# xwininfo | grep 'id:'

... on extrait (grep) de l'affichage produit par la commande xwininfo la ligne qui contient "id:".