|
Shell : Les commandes Linux
(premiére partie)
Introduction sur le(s)
shell(s) Linux
Le shell (autrement dit
l'interpréteur de commande) Linux est une étape obligatoire
lorsque l'on travail sur un OS Unix. Il est avant tout un exécutable
qui à pour unique but d'interpréter les commandes de l'utilisateur.
Il en existe plusieurs , les plus connu étant sh "Bourne
shell", bash "Bourne again shell", csh "C Shell",
Tcsh "Tenex C shell", ksh "Korn shell" et zsh "Zero
shell". Chaques distributions de Linux en posséde au moins
un. Par exemple sous un environement KDE on peut y accéder grâce
à Konsole ou sous GNOME avec Terminal..
Navigation
grâce au shell
Cette commande sert à savoir ce qu'il y a dans le répertoire
où l'on se trouve à toute instant.
Dès l'ouverture de l'invite de commande tapez pwd et appuyez
sur entrer.
[Votrepseudo@nomdelordinateur] ~$ pwd
Cette commande aura par exemple cette réponse :
/home/Votrepseudo
Ce qui signifie que vous êtes dans le dossier votrepseudo qui
appartient lui même au dossier /home qui fait partie de l'arborescence
de /.
Cette commande ls est une cousine de la commande dir
sous MS-DOS, comprennez une commande qui nous permet de lister le contenu
du répertoire dans lequel on ce situe.
Taper ls puis appuyez sur
entrer.
[Votrepseudo@nomdelordinateur] ~$
ls
Cette commande aura par
exemple (si vous êtes dans /home/Votrepseudo) cette réponse
:
Musique
Vidéos Bureau Images Documents Modèles Public
monfichiertexte.txt
Cette commande liste tous
ce qui se trouve dans le dossier courant, comprennez dans le dossier
dans lequel vous êtes actuellement. Les dossier sont de couleur
différentes ( selon la distribution de linux que vous avez) de
celle des fichiers. Cela vous permet de connaître l'arborescence
et ainsi de ne pas vous perdre.
Pour aller voir ce qu'il
y a dans le dossier Documents sans pour autant y entrer suffit de tapez
ceci :
[Votrepseudo@nomdelordinateur] ~$
ls Documents
Mais en étant dans
/home/Votrepseudo et sans y bouger vous pouvez consulter le contenu
de n'importe quel répertoire de votre disque dur. Si par exemple
pour vous voir afficher le contenu du dossier media se trouvant à
la racine tapez alors :
[Votrepseudo@nomdelordinateur] ~$
ls /media
La commande ls posséde
des options d'affichage de ces résultats. Voyons ensemble les
principals.
L'option -l :
Cette option affiche en plus du contenu du répertoire que l'on
veux visionner les attributs des dossiers et fichiers présent
.
Par exemple :
[Votrepseudo@nomdelordinateur] ~$
ls -l
Donnera cette réponse
:
total 5392
drwxr-xr-x 2 Votrepseudo Votrepseudo 4096 2008-02-05 21:29 Bureau
drwxr-xr-x 2 Votrepseudo Votrepseudo 4096 2008-02-08 23:24 Documents
drwxr-xr-x 2 Votrepseudo Votrepseudo 4096 2008-02-06 22:58 Images
drwxr-xr-x 2 Votrepseudo Votrepseudo 4096 2008-02-05 21:29 Modèles
drwxr-xr-x 2 Votrepseudo Votrepseudo 4096 2008-02-05 21:29 Musique
drwxr-xr-x 2 Votrepseudo Votrepseudo 4096 2008-02-05 21:29 Public
drwxr-xr-x 2 Votrepseudo Votrepseudo 4096 2008-02-05 21:29 Vidéos
L'option -a : Affiche
les fichiers cachés présent dans le répertoire
en plus des autres ( a comme "all" )
L'option -m :
Affiche le résultat avec des virgules au lieu d'un affichage
en collone.
L'option -t
: Affiche le résultat avec un classement chronologique, comprennez
par date. (t comme "time")
L'option -F
: Affiche les fichiers par type.
L'option -X
: Affiche les fichiers par type d'extension.
L'option -r
: Affiche dans l'ordre inverse le résultat. (r comme "reverse")
L'opion -lu
: Affiche les fichier par date du dernier accès.
Les options de ls peuvent
être combiner pour obtenir ce que vous voulez voir afficher.
Par exemple :
[Votrepseudo@nomdelordinateur] ~$
ls -Xm
Vous affichera un classement
par type et affichera le résultat avec des virgules.
ou
[Votrepseudo@nomdelordinateur] ~$
ls -ltr
Vous affichera le contenu
avec les attributs des dossiers/fichiers par ordre chronologique du
plus vieux au plus rescent.
Si le resultat est trop
grand pour que vous puissiez tout voir à l'écran, ajouter
la commande more comme ceci :
[Votrepseudo@nomdelordinateur] ~$
ls | more Qui ajoutera des pauses entre chaque écran.
La commande cd est trés proche de sa cousine cd
de MS-DOS mais la syntaxe différe légérement. Elle
sert à se déplacer dans l'arborescence de répertoire.
Pour ce rendre à la racine de votre disque dur
il suffit par exemple de taper :
[Votrepseudo@nomdelordinateur] ~$
cd /
le pointeur deviendra alors : [Votrepseudo@nomdelordinateur]
/$
Pour ce déplacer
dans le dossier media tapez :
[Votrepseudo@nomdelordinateur] /$
cd media
Le pointeur deviendra alors
[Votrepseudo@nomdelordinateur] /media$
vous indiquant que vous avez changer de répertoire.
Pour remonter d'un cran
dans l'arborescence des répertoire on utilisera la commande suivante
:
[Votrepseudo@nomdelordinateur] /media$
cd ..
Qui vous placera alors
à la racine / : [Votrepseudo@nomdelordinateur]
/$
ATTENTION à la syntaxe
: ce n'est pas cd.. mais bien cd .. avec un espace entre la commande
cd et les deux points ( La précision dans l'écriture des
commandes est de mise)
Pour aller directement
dans le répertoire de l'utilisateur il suffit de tapez :
[Votrepseudo@nomdelordinateur] /$
cd ~
Et vous reviendrez à
[Votrepseudo@nomdelordinateur] ~$
Notez que si vous êtes
loggué en tant que root vous reviendrez à /root avec cette
commande.
Création
et suppression de répertoire
Pour créer un répertoire on utilise la commande
mkdir
Par exemple pour créer le répertoire/dossier
"mondossier" dans votre répertoire utilisateur tapez
:
[Votrepseudo@nomdelordinateur] ~$
mkdir mondossier
Vous pouvez utilisez l'option -p pour créer directement
plusieur dossier et sous dossier.
Par exemple : Vous voullez créer d'un coup un dossier
"mail" dans un dossier "internet" qui sera dans
le dossier "mondossier" qui eux même n'existe pas. Vous
pourrez tapez ceci pour y arriver :
[Votrepseudo@nomdelordinateur] ~$
mkdir -p mondossier/internet/mail
Revient à taper
:
[Votrepseudo@nomdelordinateur] ~$
mkdir mondossier
[Votrepseudo@nomdelordinateur] ~$ cd mondossier
[Votrepseudo@nomdelordinateur] /mondossier$ mkdir internet
[Votrepseudo@nomdelordinateur] /mondossier$ cd internet
[Votrepseudo@nomdelordinateur] /mondossier/internet$ mkdir mail
Pour Supprimer un dossier
vide, on utilise la commande rmdir (mais il faut que le répertoire
soit vide...)
Si vous avez envie de supprimer
le répertoire mail dans le dossier internet que vous avez créer,
tapez ceci :
[Votrepseudo@nomdelordinateur] /mondossier/internet$
rmdir mail
Il est possible aussi de
le supprimer le dossier mail à partir de ~ comme ceci :
[Votrepseudo@nomdelordinateur] ~$
rmdir mondossier/internet/mail
Copier,
coller et supprimer des fichiers
Pour copier un fichier
ou un répertoire d'un dossier à un autre on utilise la
commande cp. On peut tout aussi créer une copie d'un fichier
avec un autre nom.
Par exemple si je veux
faire une copie de text.txt, et donner le nom de text2.txt sans changer
de dossier je vais tapez :
.[Votrepseudo@nomdelordinateur]
~$ cp text.txt text2.txt
Cette commande va créer
une copie conforme de text.txt dans le même répertoire
avec un nom différent.
Si à présent
on veux copier le fichier text.txt dans le répertoire "mondossier"
il faudra taper :
[Votrepseudo@nomdelordinateur] ~$
cp text.txt mondossier
Il faut biensûr que
text.txt ainsi que le dossier "mondossier" existe et qu'ils
soient dans le répertoire courant. Sinon pour faire la même
opération quand vous êtes ailleur sur l'arborescence par
exemple à la racine tapez ceci :
[Votrepseudo@nomdelordinateur] /$
cp /home/Votrepseudo/text.txt /home/Votrepseudo/mondossier
La syntaxe générale
de la commande est donc cp fichier_a_copier destination
ATTENTION : La commande
cp écrit le fichier là où on l'envois, s'il existait
déjà un fichier text.txt dans "mondossier",
le nouveau remplacera l'ancien... vous pouvez donc perdre des donnés
de cette maniére. heureusement, il existe des option à
cette commande pour éviter ce genre de chose.
L'option -i :
Cette option nous avertit de l'existence d'un fichier de même
nom et nous demande si l'on veux ou non le remplacer.
Exemple si l'on répéte
la copie de fichier text.txt alors que l'on a modifié sa copie
dans "mondossier" la modification sera écraser directement.
Si l'on veux éviter cela il faut tapez ceci :
[Votrepseudo@nomdelordinateur] ~$
cp -i text.txt mondossier
La réponse sera
alors celle ci :
cp : écraser `mondossier/text`?
Tapez "y" pour
oui (yes) et "n" pour non. L'opération de copie sera
faite dans le cas où un fichier portant le même nom n'existe
pas.
Pour déplacer un
fichier on utilise la commande mv (move). l'action réaliser sera
de copier le fichier en question vers un autre dossier, et de le supprimer
de son dossier d'origine. Cette fonction sert aussi à renommer
un fichier ou un dossier.
Exemple : Pour renommer
text.txt en text3.txt qui ce trouve dans "mondossier" tapez
ceci :
[Votrepseudo@nomdelordinateur] /mondossier$
mv text.txt text3.txt
Pour déplacer le
fichier text3.txt du dossier "mondossier" dans le dossier
"internet" tapez ceci :
[Votrepseudo@nomdelordinateur] /mondossier$
mv text3.txt internet
La syntaxe de cette commande
est donc mv fichier_a_déplacer destination
pour un couper/coller et mv fichier/dossier_a_renommer
nouveaunom.
Pour renommer par exemple
les dossier "internet" en "web" on tapera ceci :
[Votrepseudo@nomdelordinateur] /mondossier$
mv internet web
Cette commande posséde
des options qui sont les suivantes :
L'option -i :
Affiche une demande de confirmation de deplacement pour chaque fichier
ou répertoire.
L'option -u :
(update) Permet de ne pas remplacer un fichier existant avec le même
nom s'il a la même date de modification ou si elle est plus réscente
que son remplaçant que l'on veux déplacer.
L'option -b :
(backup) Va sauvegarder le fichier existant avant de déplacer
son remplaçant
Par exemple : Si nous avons
modifier le fichier text.txt qui se trouve dans le répetoire
utilisateur ~ et que l'on veux déplacer celui ci dans "mondossier"
où il existe une copie de text.txt original. Si on tape ceci
:
[Votrepseudo@nomdelordinateur]
~$ mv -b text.txt mondossier
On trouvera une sauvegarde
de text.txt original sous le nom de text.txt~ dans le répertoire
mon dossier. Que l'on pourra renommer avec cette commande par exemple
:
[Votrepseudo@nomdelordinateur] /mondossier$
mv text.txt~ text4.txt
La commande rm (remove) permet d'effacer des fichiers
et des dossiers. Cette commande peut être dangereuse si l'on est
pas prudent; Mieux vaut ne pas être loggué sous le compte
root pour éviter les soucis.
La syntaxe est simple : rm fichier_a_supprimer
Exemple : Vous voullez
effacer le fichier text.txt qui ce trouve dans le dossier "mondossier"
tapez alors ceci :
[Votrepseudo@nomdelordinateur] /mondossier$
rm text.txt
Cette commande posséde
elle-aussi des options :
L'option -i
: Demande de confirmation avant de supprimer.
L'option -d
: Permet de supprimer un dossier qu'il soit vide ou non. (ATTENTION
à son utilisation)
L'option -r
: Permet de supprimer un dossier et ses sous-dossiers (ATTENTION)
L'option -f :
Permet de supprimer les fichiers et dossiers protégés
en écriture sans demande de confirmation (Utilisation dangereuse)
Rechercher
un fichier
Pour rechercher un fichier
on utilise la commande find. C'est une commande trés puissante
et des fois un peu longue à taper.
Syntaxe : find
Repertoirederecherche optionsderecherche
Comme vous pouvez le voir,
la premiere chose que l'on indique à find c'est à partir
d'où chercher le fichier, on indiquera alors le répertoire
dans lequel elle cherchera (Par exemple ce sera / si c'est dans tout
le disque dur, ce sera /home/Votrepseudo si vous pensez qu'il est dans
votre dossier utilisateur...)
La deuxieme chose que l'on
indique c'est si l'on cherche un fichier (dans ce cas on écrira
-name) ou un dossier (dans ce cas on écrira
-type d -name) suivit du nom du fichier
ou du dossier (Il en existe bien d'autre mais nous ne les aborderons
pas pour l'instant).
Ensuite il faut indiquer
à find ce que l'on veux faire du résultat. Ici on ne fait
que rechercher, on utilisera donc l'option -print pour afficher le résultat.
Par exemple : Si l'on veux
chercher le(s) fichier text.txt dans le répertoire utilisateur
et afficher le résultat on tapera ceci :
[Votrepseudo@nomdelordinateur] ~$
find /home -name "text.txt" -print
La commande vous répondra
par exemple :
/home/Votrepseudo/mondossier/text.txt
Si à présent
vous chercher le dossier web par exemple tapez ceci :
[Votrepseudo@nomdelordinateur] ~$
find /home -type d -name "web" -print
La commande vous répondra
par exemple :
/home/Votrepseudo/mondossier/web
Tout ceci n'est qu'un exemple
de l'utlisation de la commande find. Sachez tout de même que pour
recherchez dans tout votre disque dur, il vous faudra vous loggué
en tant que root. Les recherches dans votre dossier utilisateur quand
à elles ne poserons aucun soucis.

|