You are on page 1of 5

Filière FAS Mini-guide de la ligne de commande Linux

Mini-guide de la ligne de commande Linux


Comment utiliser un ordinateur sans souris ni fenêtres
Filière FAS - Romuald THION

Table des matières


1 Généralités 2
1.1 Qu’est ce que la ligne de commande ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 A quoi ça sert ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Comment y accéder ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Les commandes de base : qui suis-je, où vais-je, dans quel état j’erre 2

3 La syntaxe du shell 2
3.1 Syntaxe générale des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Les caractères du shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 Redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 La gestion des fichiers 3


4.1 Navigation dans les dossiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.2 Liste des fichiers d’un dossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.3 Déplacement/Copie/Suppression de dossiers et de fichier . . . . . . . . . . . . . . . . . . . . . 3
4.4 Recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5 Des commandes pratiques 4


5.1 Gestion des processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.2 Utilisation du disque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.3 Modification des droits d’un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.4 Autres commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

6 Commandes réseaux 5

Attention
– Linux est sensible à la casse (majuscule/minuscules) : pwd, est une commande existante, PWD ou Pwd
n’existent pas, idem pour les noms de fichiers/dossiers.
– Sous Linux, les répertoires à parcourir pour atteindre un fichier (le chemin) sont séparés par un slash
(</>) alors que c’est un antislash (<\>) sous Windows) ex : /etc/passwd pour le fichier passwd dans
situé dans le dossier /etc
– La touche <tab> complète les noms de fichier/commande.
– man est la commande qui permet d’afficher le manuel, appuyer sur la touche <q> pour sortir de l’aide,
– les commandes sont formatées en fonte système, les arguments obligatoires en italique, les options en
gras,
– les caractères sont désignés par leurs symboles encadrés de chevrons. Exemple : une virgule <,>.

1/5
Filière FAS Mini-guide de la ligne de commande Linux

1 Généralités
1.1 Qu’est ce que la ligne de commande ?
C’est une interface utilisateur en mode texte, où l’on tape des commandes dans un shell. Le shell (appelé
aussi  interpréteur de commandes ) utilisé dans l’environnement de travail est Bash, pour  Bourne Again
Shell , c’est le shell par défaut de la la plus part des distributions Linux (mais il existe de nombreux shells
différents, chacun ayant ses spécificités : A-Shell, C-Shell, Korn-Shell, Z-Shell, Tenex C-Shell...). Les systèmes
d’exploitations disposent tous d’une interface ligne de commande, certains ne disposent pas d’environnement
graphique (ex : Dos 6.22).

1.2 A quoi ça sert ?


Le but du shell est de proposer une interface permettant à l’utilisateur d’agir sur l’ordinateur : le shell
est le programme qui interprète des commandes et les faits exécuter par le système d’exploitation.
On peut donc tout faire avec le shell : créer des fichiers, créer des utilisateurs, se logger à distance,
changer les droits d’un fichier, lancer des programmes, les arrêter, . . .Tout ce qui est faisable en interface
graphique est faisable à la ligne de commande. Ce sont les surtout les utilisateurs réguliers et les puristes
(administrateurs systèmes, vieux de la vieille, geeks, programmeurs, . . .) qui utilisent le plus le shell pour
son efficacité (pas de graphique ni de déplacement de la souris : plus rapide). Le shell est très puissant car
il propose de très nombreux outils qui peuvent être combinés entre eux et car on peut créer des scripts qui
permettent d’automatiser des séquences d’actions.
Au centre IF, le shell servira principalement à débloquer la machine an cas de problème, à se logger depuis
l’extérieur et à exécuter des programmes qui n’existent qu’en version ligne de commande et pas en graphique
et surtout à programmer et exécuter vos programmes.

1.3 Comment y accéder ?


–  Outils de système /Terminal : ouvre un terminal
–  Lancer une application  : bash (cocher  Lancer dans un terminal )
– Clic droit sur le bureau :  Ouvrir un terminal/console 
– <Control>+<Alt>+<F1> à <F6> (<Control>+<Alt>+<F7> pour revenir au graphique) : pour se
logger en texte, le shell par défaut est lancé une fois loggé
– En se loggant à distance sur un poste (avec ssh par exemple sous Linux, avec Putty sous Windows)

2 Les commandes de base : qui suis-je, où vais-je, dans quel état
j’erre
Le prompt du shell donne (par défaut) le nom de l’utilisateur et celui de la machine. Exemple :
[rthion@pc107t-01]$
On peut utiliser :
– whoami : qui suis-je ?
– who -m : un peu plus précis
– w : qui d’autre est la ?
– pwd : dans quel répertoire je suis ?( print work directory)
– ps : liste mes processus
– ps axu : liste tous les processus qui s’exécutent sur la machine
– env : liste mes variables d’environnement
– date : donne la date et l’heure du système
– su nom : devenir quelqu’un d’autre ( mot de passe requis)
– exit : quitte l’instance du shell

3 La syntaxe du shell
3.1 Syntaxe générale des commandes
nom_de_la_commande [-option(s) | --options longues] arguments

2/5
Filière FAS Mini-guide de la ligne de commande Linux

– les arguments entre crochets [ ] sont facultatifs, ce sont des options


– les arguments séparés par un | indique une alternative.
– les identifiants commençant par $ représentent les variables d’environnement connues (ex : $USER),
– les identifiants contenant des espaces doivent être encadrés par ’ ’ ou ” ”.
– les arguments entre quotes ‘ ‘( altGr 7 sur les claviers français) insère le résultat d’une commande.
exemple : echo ‘date‘.

3.2 Les caractères du shell


– <\> : déspécialise un caractère spécial (ceux de ce paragraphe)
– <’>, <”> , ou <‘> : délimitation de chaı̂ne
– < ;> : enchaine les commandes
– <&> : lancement en arrière plan

3.3 Redirection
Une redirection permet soit de diriger un flux de sortie (sortie standard : c’est l’écran) vers un fichier
(<>>, <>>>), (pratiquement cela sert à enregistrer dans un fichier ce qui va s’afficher à l’écran après avoir
tapé une commande), soit de prendre comme flux d’entrée un fichier <<> (le programme lit dans le fichier
au lieu d’attendre des frappes du clavier).
– <|> : lancement de deux programmes communiquant via tube : on envoie la sortie du premier sur
l’entrée du second
– <<> : redirection d’entrée
– <>>, <>>> : redirection de sortie
– < > : répertoire personnel
– < ?> : un caractère, n’importe lequel
– <*> : 0 ou n caractères, quels qu’ils soient
– <[xyz]> : un caractère, parmi x,y et z
– <[ !xyz]> : un caractère, sauf x,y et z

4 La gestion des fichiers


4.1 Navigation dans les dossiers
A chaque instant, le shell se trouve dans un dossier du systèmej, d’où sont exécutées les programmes. On
parle de répertoire courant.
– pwd permet de savoir dans quel répertoire le shell se trouve actuellement.
– cd ou cd permet de retourner dans son répertoire personnel.
– cd répertoire changer de répertoire courant. l’argument répertoire peut soit être un chemin absolu avec
un slash au début du chemin. C’est à dire qui ne dépend pas du répertoire courant (ex : /usr/share).
Ou ce peut être un chemin relatif, c’est à dire qui dépend du répertoire courant (ex : Documents).

4.2 Liste des fichiers d’un dossier


– ls permet de lister le nom des fichiers et des sous-répertoires présents dans le répertoire courant.
– ls répertoire permet de lister le nom des fichiers et des sous-répertoires présent dans ”répertoire”.
– ls -l affiche les résultats d’une façon plus complète.
– ls -a affiche les fichiers cachés (dont le nom commence pas un point).
– ls -F indique le type du fichier c.a.d fichier, répertoire ou lien symbolique.
– ls -ltr affiche les fichiers en ordre de date inversée.
– ls ˜ afficher le contenu du dossier personnel

4.3 Déplacement/Copie/Suppression de dossiers et de fichier


– rm fichiers permet d’effacer un ou plusieurs fichiers.
– rmdir répertoires permet d’effacer un ou des répertoires vides.
– rm -r répertoire permet d’effacer un répertoire et son contenu. À utiliser avec précaution.
– mkdir répertoire permet de créer un répertoire.

3/5
Filière FAS Mini-guide de la ligne de commande Linux

– mv fichier nouveau nom fichier renomme fichier sous le nom nouveau-fichier dans le même répertoire.
– mv fichier répertoire déplace fichier dans le répertoire ”répertoire”.
– mv -i permet au système de demander une confirmation si le fichier de destination existe déjà.
– mv répertoire nouveau nom répertoire renomme un répertoire dans un autre répertoire.
– cp fichier nouveau nom fichier copie fichier sous le nom nouveau-fichier dans le même répertoire.
– cp fichier répertoire copie fichier dans le répertoire ”répertoire” (même nom).
– cp -p fichier répertoire copie fichier dans le répertoire ”répertoire” en conservant le même nom et les
mêmes permissions que le fichier d’origine.
– cp -i permet au sytème de demander une confirmation si le fichier de destination existe déjà.
– cp -r répertoire répertoire1 copie récursivement répertoire et ses sous-répertoires dans répertoire1 en
conservant la même structure.
– rename expression perl fichiers renomme plusieurs fichiers d’un coup grâce à une expresison régulière

4.4 Recherche
– find rep -name mot -print : permet de trouver des fichiers dont le nom contient mot depuis le
repertoire rep spécifié. find est une des commandes les plus puissantes d’Unix. On utilise aussi locate
ou whereis. L’argument -print n’est qu’un exemple pour demander l’affichage des fichiers trouvés. Il
est possible d’utiliser bien d’autres critères de recherche (dates...) et d’exécuter bien d’autres actions
(supprimer, déplacer,archiver...)
– grep expression fichiers : permet de rechercher toutes les occurences de ”l’expression” dans le contenu
des fichiers
– grep -i expression fichier(s) permet de faire une recherche sans casse

5 Des commandes pratiques


5.1 Gestion des processus
– nom_commande exécute une commande en avant-plan. Le shell attends la fin de l’exécution pour présenter
le prompt.
– <ctrl-C> la touche <ctrl-C> termine le job courant (celui qui s’exécute en avant-plan) et fait revenir
le shell en avant-plan.
– <ctrl-Z> la touche <ctrl-Z> suspend le job courant (celui qui s’exécute en avant-plan),et fait revenir
le shell en avant-plan.
– bg commande continue en arrière-plan (background) la dernière commande suspendue ou celle spécifiée
en argument
– commande & exécute une commande en arrière-plan. Elle est équivalente à la succession commande ;
<ctrl-Z> ;bg. L’usager peut lancer immédiatement d’autres commandes. Bien sur les affichages écran
risquent de se mélanger...
– La commande kill permet d’arrêter ces mêmes tâches.
– top affiche en continu les processus actifs et l’état de la mémoire.

5.2 Utilisation du disque


– df -h donne l’espace disque utilisé et libre sur les différentes partitions.
– du nom du répertoire donne l’espace utilisé du répertoire et des sous-répertoires
– du -h résultat human readable et -s : donne la somme sans détails.

5.3 Modification des droits d’un fichier


Les droits d’accès sur les fichiers se décomposent en trois blocs 3 caractères rwx | rwx | rwx.
– Le premier bloc fixe les droits r,w et x de propriétés pour le propriétaire (u) du fichier.
– Le deuxième bloc fixe les droits r,w et x accordés aux utilisateurs faisant partie du groupe (g) auquel
appartient le fichier
– Le dernier bloc fixe les droits r,w et x des autres utilisateurs (o),
– Exemple rwx | r-x | − − − signifie que le propriétaire à tous les droits, les membres du groupes
peuvent lire et exécuter et les autres n’ont aucun droit.

4/5
Filière FAS Mini-guide de la ligne de commande Linux

Dans chaque partie, le premier caractère correspond au droit de lecture (r), la deuxième caractère cor-
respond au droit d’écriture (w), le troisième caractère correspond au droit d’exécution ou d’accès (x). Si à la
place d’un des caractères nous ne voyons qu’un tiret -, c’est que le droit n’est pas accordé.
La permission des fichiers s’effectue par la commande chmod permission fichiers. Pour identifier la catégorie
de l’usager par la lettre u pour le propriétaire du fichier, la lettre g pour le groupe d’utilisateur, la lettre o
pour les autres utilisateurs. et la lettre a permet de faire référence à tous les utilisateurs. + signifie que c’est
une permission supplémentaire et pour en supprimer une il suffit de remplacer le signe + par -.
Exemples :
– chmod a+w test : Tous les utilisateurs obtiennent le droit d’écrire pour le fichier test.
– chmod go-wr test : Le groupe utilisateur et les autres (sauf le propriétaire) n’ont plus le droit d’écrire
et de lire pour le fichier test
La commande chown permet de modifier le propriétaire d’un fichier. Sur la majorité des systèmes, son
usage est réservé au super-utilisateur.

5.4 Autres commandes


– diff fichier1 fichier2 affiche les différences entre deux fichiers.
– ln -s fichier à lier lien symbolique permet de lier un fichier distant à un lien symbolique (alias).
– alias, donne la liste des alias, alias identifiant alias=’commandes’, permet de créer un alias

6 Commandes réseaux
– ping machine : envoie une requête echo et attend la réponse pour savoir si la machone machine est
connectée couche réseau
– traceroute machine : variante du ping qui permet de connaı̂tre l’ensemble des relais par lesquels
passent les données
– nc machine port : netcat (TCP/IP swiss army knife) englobe un panel d’outil travaillant couche
transport
– nmap (et ses nombreuses options incroyables) : un outil génial qui offre une variété de possibilités
gigantesque (attention, beaucoup sont réservées au super utilisateur), cf. man nmap
– ifconfig (dans /sbin) : affiche les informations de vos interfaces réseaux ( jusqu’à la couche réseau)
– route (dans /sbin) : affiche les informations de routage
– ssh -l login machine : permet de se logger de façon sécurisée sur machine en utilisant l’identifiant login
– wget url : permet de télécharger en ligne de commande le contenu situé à l’adresse url.

5/5

You might also like