Liste des commandes UNIX/LINUX les
plus utilisées:
le tableau contient le nom de la
commande, l'équivalent sous DOS, NT et une brève explication
Les commandes les plus utilisées sont décrites à la fin du tableau.
UNIX | DOS | NT | action |
at | ? | at | execute une action à une heure définie |
awk | tableur | tableur | langage de programmation pour traiter des fichiers |
cat | type | type | liste le contenu d'un fichier |
cd | cd | cd | changement de repértoire |
chgrp | ? | ? | change un fichier de groupe |
chmod | ? | cacls ou Explorateur | propriétés | change les droits d'accès à un fichier |
chown | ? | cacls | changement de propriétaire d'un fichier |
cp | copy | copy | copie de fichiers |
cut | ? | ? | coupe une chaine (surtout utilisé dans les scripts) |
date | date | date | affiche/modifie la date |
df | dir | dir | affiche l'espace disponible |
diff | ? | comp ou FC | affiche la différence entre 2 fichiers |
du | dir ? | dir ? | indique l'espace disque utilisé |
egrep | find | find | recherche dans un fichier |
find | find | find | recherche de fichiers |
ftp | ? | ftp | transfert de fichiers |
grep | find | find | recherche dans un fichier |
history | doskey | flèche arrière au clavier | liste des dernières commandes utilisées |
kill | ? | gestionnaire des tâches | arrêter un process |
sh ou ksh ou rsh ou ... | command | cmd | appel d'un shell (interpréteur de commandes) |
ln | ? | raccourci vers un fichier | crée un lien sur un fichier |
lp ou lpr | lpr | redirection vers l'imprimante | |
lpstat | print /d:lpt1 | print /d:lpt1 ou gestionnaire d'impression | information sur les imprimantes |
ls | dir | dir | liste des fichiers |
mail; mailx | ? | ? | affiche et envoie des messages |
man commande | help ou help commande | commande /? | aide sur une commande |
mkdir | md | md | crée un dossier |
more | type |p | type |p | affiche un fichier page à page |
mv | move | move ou couper (explorateur) | deplace un fichier |
passwd | ? | gestionnaire des tâches | changer le mot de passe |
ps | mem /c /p | mem /c /p ou gestionnaire des tâches | listage des process |
pwd | chdir | chdir | affiche le chemin du dossier en cours |
rlogin user | ? | gestionnaire des tâches | changement d'utilisateur |
rlogin -l user machine | ? | ? | connexion sur une autre machine |
rm | del | del | détruit un fichier |
rmdir | rd deltree | deltree | détruit un dossier |
rsh -l user machine | ? | net... | exécute une commande sur une machine distante |
rusers | ? | ? | liste les utilisateurs connectés au reseau |
set | set | set | afficher les variables d'environnement |
sh | command | cmd | appel du shell de base (Bourne shell sous Unix) |
sort | ? | sort | trie les ligne d'un fichier |
tar | backup | backup | sauvegarde |
tee | ? | ? | duplique un flux de données |
telnet | ? | telnet | connection à un autre système |
vi | edlin edit | edit | éditeur système |
w ou who ou whoami | ? | net ... | liste les utilisateurs connectés au système |
write | ? | net send | envoie un message à un utilisateur du système |
Si vous tapez la commande: ls -la sous votre "home directory"
vous voyez plusieurs fichiers dont le nom commence par le caractère
"point" (.) exemple:
.forward, .profile ou .cshrc ; il s'agit de fichiers
dit de "configuration". Tous les fichiers de ce type sont lus par le système
à la connexion et leur contenu est exécuté. Si vous
souhaitez personnaliser votre environnement Unix, vous devrez intervenir
dans l'un de ces fichiers.
Rediriger son courrier électronique vers une autre adresse:
lorsqu'un message arrive, il est possible de le rediriger automatiquement
(to forward en anglais) vers une autre adresse; il suffit de créer
un fichier .forward contenant l'adresse de redirection.Exemple,
ré-expédier le courrier à l'adresse toto@free.fr:
- créer sous son "home directory" le fichier .forward
contenant l'adresse "toto@free.fr" à l'aide de la commande:
echo "toto@free.fr" > .forward
la commande ECHO affiche à l'écran le texte situé
entre les quotes; le signe supérieur (>) envoie ce texte dans le
fichier qui figure à droite du signe >
Annuler la redirection du courrier:
Il suffit de supprimer le fichier .forward à l'aide
la commande: rm .forward
ou de le déplacer à l'aide la commande: mv
.forward ex_forward
Changer l'interpréteur de commandes ou Shell:
on peut appeler n'importe quel shell disponible en tapant son nom,
exemple; rsh pour utiliser le shell RSH mais si l'on doit
l'utiliser de manière permanente, il est préférable
de le faire démarrer à la place du shell par défaut
afin de ne pas superposer inutilement des process. Pour modifier le shell
par défaut, il faut avoir les droits de "super-user" ou administrateur
et modifier le fichier passwd généralement situé
dans le dossier /usr
Extrait du fichier "/etc/passwd" :
herbe:x:2411:240:/export/home/qualbois/herbe:/bin/csh
- chaque information est séparée de sa voisine par le
caractère (:)
- le 1er champ contient le login
- le 3eme contient le n° de l'utilisateur
- le 4eme contient le n° du groupe auquel appartient l'utilisateur
- le 5eme indique le répértoire par défaut (home
directory)
- le 6eme indique le shell utilisé; si ce champ est vide, le
système appelle le shell par défaut qui est différent
selon les systèmes.
Environnement de l'utilisateur
selon le shell utilisé, le système scrute le home directory
de l'utilisateur à la recherche d'un fichier de configuration; pour
le shell SH, le système recherche le fichier .profile ;
pour le shell CSH, le sytème recherche le fichier .cshrc
;
Personnellement, j'en suis resté à l'utilisation du shell
CSH. Les exemples suivants font tous appel à ce shell.
Modifier le prompt:
le prompt est le texte qui s'affiche en permanence lors d'une connexion
au système à l'aide de telnet. Contrairement aux systèmes
DOS-Windows, Unix n'affiche pas automatiquement le dossier en cours d'utilisation.
Pour afficher le chemin complet du dossier en cours, ajouter ces 2 commandes
dans le fichier .cshrc :
alias cd 'cd \!*;set prompt = "$cwd""> "'
cd .
Ajouter un dossier dans le path:
Le path est une variable qui contient la liste des dossiers dans lesquels
le système doit rechercher les fichiers ou les commandes. Pour y
ajouter un dossier, ajouter cette commande dans le fichier .cshrc
:
set path = ($path /export/home/qualbois/herbe/vnc)
ou bien:
set path = ($path $HOME/vnc)
( $HOME est une variable contenant le home directory )
Créer des alias
Si vous trouvez que les commandes du système manquent de poésie
et que vous voulez recréer vos propres commandes, vous pouvez utiliser
les alias. La syntaxe de cette commande étant très différente
d'un shell à un autre, tapez la commande man
alias pour obtenir la syntaxe exacte. Exemple avec CSH, remplacer
la commande ls -la | more par la lettre L:
alias L 'ls -la | more'
si cette commande est stockée dans le fichier .cshrc,
ells est disponible en permanence; il suffit de taper la lettre L pour
l'exécuter
L'aide en ligne:
Elle disponible (généralement en anglais sauf quelques
rares versions de Linux) avec la commande:
man commande (manuel)
ex:
man man
Rechercher un fichier (find):
la commande find est sensible à la casse (majuscules-minuscules).
Pour rechercher le fichier "toto" dans tous les sous-dossiers du home directory:
find $HOME -name "toto" -print
pour rechercher le fichier "toto" sans savoir si la 1ère lettre
est une majuscule dans tous les sous-dossiers du répertoire /usr:
find /usr -name "*oto" -print
Rechercher une chaine de caractères dans un fichier (voir
aussi egrep et
fgrep )
exemple pour obtenir des informations sur l'utilisateur
"herbe" contenues dans le fichier /etc/passwd:
grep herbe /etc/passwd
résultat: herbe:x:2411:240:/export/home/qualbois/herbe:/bin/csh
Créer un dossier:
mkdir dossier(mkdir
signifie make directory)
Supprimer un dossier:
rm -r dossier
(rm signifie remove; l'option -r signifie
recursive)
Supprimer un fichier:
rm fichier
Supprimer tous les fichiers du répertoire
courant:
rm -r *
Supprimer tous les fichiers commençant
par "toto":
rm -r toto*
Afficher un fichier page par page:
more fichier (appuyez
sur les touches "Entrée" ou "barre d'espace" pour le défilement)
Copier un fichier:
cp /chemin1/fichier1 /chemin2/fichier2
Copier un fichier dans le repértoire
courant:
cp /chemin/fichier .
(le point fait partie de la commande)
Copier tous les dossiers "fils" et fichiers
du dossier /tmp dans le répertoire courant:
cp -r /tmp .
Imprimer un fichier sur l'imprimante par défaut:
lp fichier
(lp signifie Line Printer)
Obtenir la liste des imprimantes et leur état:
lpstat -a (l'option
-a signifie All)
Imprimer un fichier sur l'imprimante "laserjet4":
lp -d laserjet4 fichier (
l'option -d signifie Destination)
Lister les fichiers du répertoire courant:
ls
Lister les fichiers du répertoire /tmp
:
ls /tmp
Lister les fichiers contenus dans le sous-dossier
"VNC" du répértoire courant:
ls ./VNC (le
point à gauche du slash indique que le dossier VNC est un sous-dossier
ou dossier "fils")
Lister les fichiers du répértoire
"parent":
ls ../
(les 2 points à gauche du slash indiquent le dossier supérieur
ou dossier "père")
Lister les fichiers et leurs droits:
ls -la
exemple de résultat:
drwxrwxrwx 40 herbe qualbois
3584 Apr 23 14:34 .
drwxrwxr-x 32 root
other 1024 Jan 11 14:11 ..
-rw-r--r-- 1 herbe
qualbois 1201 Nov 25 1998 .acrorc
-rw-r--r-- 1 herbe
qualbois 1443 Mar 16 2000 .cshrc
-rw-r--r-- 1 herbe
qualbois 168 Sep 3 1997 .cshrc.14
drwxr-xr-x 16 herbe qualbois
512 Apr 23 14:24 .dt
La 1ère colonne contient les droits de
chaque fichier codés sur 10 caractères;
la 3eme contient le nom du propriétaire
du fichier
la 4eme contient le nom du groupe de travail
la 5eme contient la taille du fichier exprimée
en octets
la 6eme contient la date de la dernière
modification
la 7eme contient le nom du fichier ou dossier
Décodage de la 1ère colonne:
si la 1ère lettre est un D, il s'agit
d'un dossier (directory); si c'est un L, il s'agit d'un lien; si c'est
un tiret (-), il 'agit d'un fichier.
Les autres lettres vont par triplet dans l'ordre
RWX.
R indique un droit de lecture (Read).
W indique un droit d'écriture (Write).
X indique un droit d'exécution.
Le 1er groupe de 3 lettres (de la 2eme à
la 4eme ) indique les droits du propriétaire du fichier.
Le 2eme groupe de 3 lettres (de la 5eme à
la 7eme) donne les droits des membres du groupe de travail.
Le 3eme groupe de 3 lettres (de la 8eme à
la 10eme) donne les droits de tous les autres utilisateurs du systèmes.
L'utilisateur peut changer les droits de ses propres
fichiers; l'administrateur du système peut changer les droits de
tous les fichiers.
Changer les droits d'un fichier:
On utilise la commande chmod: chmod
groupe(s)+droits fichier
les groupes sont indiqués comme ceci:
u pour le propriétaire
(user)
g pour groupe
o pour autres utilisateurs
(other)
Pour donner tous les droits sur le fichier
"toto":
chmod ugo+rwx toto
Pour retirer tous les droits au groupe et aux
autres utilisateurs:
chmod go-rwx toto
Autre syntaxe pour chmod:
On peut compacter la commande en remplaçant
les lettres RWX par une valeur numérique et additionner ces valeurs
en fonction des droits à attribuer..
R vaut 4
W vaut 2
X vaut 1
Ainsi, pour donner tous les droits au fichier
"TOTO", il suffit d'exécuter:
chmod 777 TOTO (7
= 4(R) + 2(W) + 1(X) )
pour donner les droits de lecture et d'écriture
au propriétaire et aucun droit aux autres utilisateurs:
chmod 600 TOTO
pour donner les droits de lecture et d'écriture
au propriétaire, les droits de lecture au groupe et aucun droit
aux aux autres utilisateurs:
chmod 640 TOTO
Lister les process en cours d'exécution
Chaque fois que vous tapez une commande ou que
vous démarrez un programme, au moins un process est exécuté.
Il arrive que certains process ne se terminent pas correctement. Il est
donc nécessaire de vérifier régulièrement l'état
des tâches. On utilise la commande:
ps -options
exemple, lister les process lancés par
l'utilisateur herbe:
ps -u herbe
ou
ps -fu herbe
Sous ces 2 formes, la commande "ps" n'affiche
que les commandes appartenant à l'utilisateur "herbe" mais
on peut avoir besoin de connaitre l'état d'une commande ou programme
sans savoir à priori qui est le "propriétaire" de cette tâche.
On utilise la commande "ps" sous cette forme pour lister tous les process
en cours.:
ps -aux
Comme ils sont souvent trop nombreux pour être
affichés à l'écran, il vaut mieux écrire:
ps -aux | more
Si l'on connait une partie de la réponse,
il est plus efficace de filtrer le résultat de la commande en "pipant"
la commande grep;
exemple, on veut savoir combien de fois le shell
SH est exécuté simultanément:
ps -aux | grep sh
Résultat:
12709 pts/7
0:00 sh
756 pts/3
0:00 sh
4848 pts/10 0:00
sh
27562 pts/20 0:00 sh
La 1ère colonne indique le n°
du process.
Stopper un process
On utilise la commande "kill" avec l'option
-9. Exemple, arrêter le process n° 756:
kill -9 756
Changer son mot de passe:
passwd et
répondez aux questions!