Lignes de Commande Linux
Lignes de Commande Linux
Lignes de Commande Linux
1. apt-get - Tutoriel pour installer, supprimer et mettre à jour les logiciels (paquets)
11. ls - Lister et afficher des informations sur les fichiers contenu dans un répertoire
16. ps - Connaître les processus actifs ainsi que ces ressources à un moment donné
24. uptime - Savoir depuis combien de temps le système marche sans interruption
Cette commande permet d'installer, supprimer et de mettre à jour les paquets (logiciels) déjà installer ou bien encore
faire la mise à jour de votre système.
Vous avez besoin des droits du compte root pour utiliser cette commande, soit en vous loguant sur le compte root où
en utilisant la commande sudo.
Mise à jour
Le résultat nous affiche que le paquet se nomme bien "lynx" car il peut y avoir des variantes au niveau des noms selon
les systèmes.
Ça aurait pu être "lynx-1.0" ou encore par exemple "lynx-browser"...
Pour installer par exemple le logiciel du nom de "Lynx" depuis les dépôts:
apt-get install lynx
Désinstaller le paquet (logiciel) qui se nomme "Lynx" ainsi que ses dépendances:
ATTENTION: Car d'autres logiciels peuvent aussi utiliser certaines de ces dépendances.
apt-get autoremove lynx
Désisntaller le paquet (logiciel) qui se nomme "Lynx" ainsi que ses dépendances et ces fichiers de configuration:
apt-get autoremove lynx --purge
La commande "cd" (change directories) permet de se déplacer dans les répertoires de l'arborescence du système de
fichier.
Syntaxe:
cd [répertoire]
PS: Utiliser la commande "ls" pour afficher le contenu du répertoire courant et ainsi connaître les dossiers accessibles,
voir ce tutoriel:
ls - Lister et afficher des informations sur les fichiers contenu dans un répertoire
Actuellement nous sommes dans le répertoire "/home/cedric" on va remonter dans le dossier parent "/home" en
ajoutant "..".
root@pc-compaq:/home/cedric# cd ..
root@pc-compaq:/home#
Saisissez seulement le nom du répertoire, dans notre exemple on va retourner dans le répertoire "cedric".
root@pc-compaq:/home# cd cedric
root@pc-compaq:/home/cedric#
Tapez le nom des répertoires séparé par un antislash, ici on va se déplacer dans le dossier "Bureau" situé
"/home/cedric/Bureau/".
root@pc-compaq:/# cd /home/cedric/Bureau/
root@pc-compaq:/home/cedric/Bureau#
chfn -MODIFIER LES INFORMATIONS PERSONNEL D'UN UTILISATEUR
Cette commande vous permet de modifier les informations personnel des utilisateurs contenu dans le fichier
"/etc/passwd".
Syntaxe:
Les options
Exemple
N° de bureau []: 69
root@pc-octetmalin:/home/cedric#
chmod permet de changer les permissions de lecture, d'écriture et d'exécution d'un fichier ou d'un répertoire pour le
propriétaire, son groupe et les autres.
Il existe 3 syntaxes différentes pour données des droits, dans les 3 cas le résultat est le même.
Syntaxe:
PS: Vous pouvez modifier les droits sur les fichiers et répertoires seulement si vous êtes le propriétaire du fichier ou si
vous disposez des droits "root".
Le principe
Il y a 3 types de permission différentes, le droit de lecture, d'écriture et d'exécution.
Et cela peut être définit indépendamment au propriétaire du fichier ainsi qu'à son groupe et pour tous les autres.
Le fonctionnement
On va étudier le fonctionnement en mode Octale, le "chmod" est suivi de trois chiffres, chacun d'eux permettent de
données des droits sur le propriétaire, le groupe et les autres.
Par défaut le créateur d'un fichier ou d'un dossier devient automatiquement le propriétaire mais il est possible de le
changer voir ce tutoriel:
chown - Changer le propriétaire et le groupe d'un fichier ou dossier en ligne de commande
Autre exemple si on veut donner tous les droits au propriétaire d'un fichier, donc la possibilité de lire, écrire et
d'exécuter on va respectivement additionner 4 + 2 + 1 = 7.
Et donner on va donner que le droit de lecture au groupe et aux autres, donc la lecture = 4.
Cela donne comme commande final:
chmod 744 [fichier_ou_répertoire]
Syntaxe:
chmod XXX -R [fichier_ou_répertoire]
chown-CHANGER LE PROPRIETAIRE ET LE GROUPE D'UN FICHIER OU DOSSIER EN LIGNE DE COMMANDE
Changer de propriétaire
Par défault lorsqu'un utilisateur crée un fichier ou un dossier, il en devient propriétaire et fait partie du groupe portant
le même nom.
Par exemple ce fichier appartient a l'utilisateur toto et fait partie du groupe toto, pour voir les paramètres du fichier on
va taper:
root@octetmalin:/home/cedric/test/# ls -l test.txt
Le toto de gauche représente le nom du propriétaire etle toto de droite représente le nom du groupe
La commande chown, qui doit être utilisée avec les droits root, dispose de cette syntaxe :
On peut voir ensuite que "mimi" est bien le nouveau propriétaire du fichier :
root@octetmalin:/home/cedric/test/# ls -l test.txt
Changer de groupe
Comme vous avez dû le remarquez, le fichier appartient toujours au groupe toto.
Comme vous pouvez le voir il suffit de séparer par le symbole deux-points ":"
Le nom de utilisateur à gauche etle nom du nouveau groupe à droite
On vérifie:
root@octetmalin:/home/cedric/test# ls -l test.txt
root@octetmalin:/home/cedric/toto# ls -l
total 16
-rw-r--r-- 1 toto toto 31 2011-06-26 20:32 123.mp3
On vérifie:
root@octetmalin:/home/cedric/toto# ls -l
total 16
La commande cp (cp = copy) permet de faire la copie d'un ou plusieurs fichier mais aussi d'un ou plusieurs répertoire à
la fois et en ligne de commande sous linux (Debian, Ubuntu ...).
Voici la syntaxe de base pour un élément à copier:
cp nom_fichier_à_copier nouveau_nom_de_fichier
cp toto.txt toto.bak
Syntaxe:
cp /répertoire_source/nom_fichier_à_copier /répertoire_destination/nom_fichier
On va par exemple faire une copie du fichier "toto.txt" du répertoire "/home/cedric" vers "/home/titi".
cp /home/cedric/toto.txt /home/titi
Syntaxe:
cp -r /répertoire_source /répertoire_destination
On va par exemple faire une copie du dossier "test" du répertoire "/home/cedric/document" vers le bureau
"/home/cedric/bureau/".
cp -r /home/cedric/document/test /home/cedric/bureau/
dd-PERMET DE COPIER ET CONVERTIR UN DISQUE OU FICHIER
Syntaxe de base:
if=fichier_source
C'est l'abréviation de "Input File", on peut définir comme sources (entrée) un fichier, un répertoire, un blocs du disque,
un périphérique...
of=fichier_cible
C'est l'abréviation de "Output File", l'emplacement cible(de sortie) où l'on va écrire.
Options
bs=taille_des_blocs
C'est l'abréviation de "Block Size", permet de définir la taille des blocs pour copier les données, par défault en octets,
pour Ko ajouter un "K", pour Mo ajouter un "M"...
count=nombre_de_blocs
Permet de définir le nombre de blocs à copier, vous pouvez ajouter un "K" pour "1 000", un "M" ajouter un "1 000
000"...
skip=nombre_de_blocs_à_sauter
Permet de définir une certaine quantité de block à ignorer(sauter) au début du fichier.
ibs=taille_des_blocs_à_l'entrée
Permet de définir la taille des blocs a l'entrée en octets. Par défaut 512 octets. Nécessite "obs".
obs=taille_des_blocs_en sortie
Permet de définir la taille des blocs de sortie en octets. Par défaut 512 octets. Nécessite "ibs".
seek=nombre_de_blocs_à_sauter
Permet de définir un nombre de blocs à ignorer(sauter) au début du fichier dont la taille est fournie par "ibs".
conv=type_1, type_2
Permet de faire une ou plusieurs conversions d'un type vers un autre.
Exemples
On va sauvegarder les 512 premiers octets (bs=512) du disque "sda1" pour le sauvegarder en une seule partie
(count=1) dans le fichier "boot.mbr".
On va découper le fichier "fichier_a_découper" en partie de 10Mo, a chaque ligne on va faire 1000 blocs(count=1K) de
10Ko(bs=10K), pour sauvegarder en le fichier "fichier_a_découper_XXXème_partie", a partir de la 2ème ligne on va
sauter les parties déjà découpé avec "skip=1K".
On va par exemple afficher les lignes contenant le mot "voiture" du fichier "test.txt":
Il peut être utile de connaitre le numéro de ligne de chaque résultat, pour cela il suffit de rajouter l'option "-n".
Exemple:
Comme vous pouvez voir dans l'exemple le numéro de ligne s'affiche au début de chaque résultat.
On retrouve donc le mot "voiture" aux lignes 80 et 120 du fichier "test.txt".
Vous pouvez afficher le nombre de fois qu'une chaine de caractère apparait dans un fichier avec l'option "-c".
Exemple:
Comme vous voyez l'option "-c" nous indique qu'il a trouvé "2" fois le mot voiture.
Pour rechercher par exemple la chaine de caractère "voiture" dans le contenu des fichiers du répertoire courant.
Il est possible d'afficher que le nom des fichiers qui contient une chaine de caractère grâce à l'option "-l".
cedric@pc-sport:/$ grep -l voiture /home/cedric/Desktop/*
/home/cedric/Desktop/test.txt
Comme vous pouvez le voir le mot "voiture" a été trouvé dans le fichier "test.txt" du répertoire
"/home/cedric/Desktop".
Cette option "-r" permet d'exécuter la commande grep dans le contenu du répertoire cible ainsi que dans tous les
sous-répertoires.
Par exemple on va rechercher le mot voiture dans tous les sous-dossiers "/home/cedric".
/home/cedric/octet.txt
/home/cedric/Desktop/test.txt
/home/cedric/Documents/essai.txt
L'exemple nous montre qu'il y à trois fichiers dans trois répertoire différent qui contient la chaine de caractère
"voiture".
L'option "-i" pour ne pas tenir compte des minuscules et des MAJUSCULES
Par défaut la commande "grep" est sensible à la case, c'est à dire que pendant une recherche grep ne pourra pas
trouver un mot qui est écrit en majuscule alors que dans la recherche il a été écrit en minuscule.
kill-TUER UN PROCESSUS EN COURS D'EXECUTION
Tuer un processus
Pour commencer il faut connaitre le PID du processus à tuer, pour ce cela on va utiliser la commande "ps -ax".
Dans notre exemple on va tuer le processus apache2, vous pouvez voir ci-dessous que le PID est "1488".
PS: Vous devez disposer des droits "root" pour exécuter la commande "kill".
kill -9 PID
kill -9 1488
ln-CREER UN LIEN EN DUR OU SYMBOLIQUE (RACCOURCI)
La commande "ln" permet de faire des liens en dur ou de faire des liens symbolique (raccourci).
Ce tutoriel illustre un exemple détaillé pour vous expliquer le fonctionnement des différents liens de la commande
"ln".
Syntaxe:
$ cat fichier-1.txt
Test de www.octetmalin.net
$ ls -l
total 4
$ ln fichier-1.txt fichier-2.txt
$ ls -l
total 8
Comme vous pouvez voir ci-dessus, on ne voit pas de différence entre le fichier source et le lien. Il fond le même poids
"27 Ko" les mêmes droits "-rw-rw-r--" ...
La nouvelle ligne "Essai rajout ligne" apparaît bien dans le lien "fichier-2.txt".
$ cat fichier-2.txt
Test de www.octetmalin.net
La nouvelle ligne "Essai rajout ligne" apparaît bien dans le fichier source "fichier-1.txt".
$ cat fichier-1.txt
Test de www.octetmalin.net
Maintenant je vais créer un lien symbolique du fichier-1.txt vers fichier-3.txt avec l'option "-s".
$ ln -s fichier-1.txt fichier-3.txt
$ ls -l
total 8
Vous pouvez voir ci-dessus que le lien symbolique (raccourci) est clairement détaillé.
On va supprimer le fichier source des deux raccourcis "fichier-1.txt" pour faire un petit test.
$ rm fichier-1.txt
$ ls -l
total 4
On peut toujours afficher le contenu du fichier-1.txt depuis le raccourci fichier-2.txt comme si le fichier source existait
encore.
$ cat fichier-2.txt
Test de www.octetmalin.net
$ cat fichier-3.txt
Le lien permet de synchroniser le contenu de deux fichiers, comme si c'était une copie du fichier source en temps réel,
le principe d'un raid1 (miroir).
Le lien symbolique peut être considérer comme un simple raccourci vers un élément (fichier, logiciel, ...).
ls-LISTER ET AFFICHER DES INFORMATIONS SUR LES FICHIERS CONTENU DANS UN REPERTOIRE
La commande "ls" permet de lister et d'afficher des informations sur le contenu d'un répertoire ou directement sur un
fichier unique.
Syntaxe:
ls [option]... [répertoire]...
Exemple:
cedric@pc-compaq:/home/cedric$ ls
Téléchargements Vidéos
Tous les fichiers qui commencent par un "." sont cachés par le système.
Syntaxe:
ls -a
Exemple:
cedric@pc-compaq:/home/cedric$ ls -a
Exemple:
cedric@pc-compaq:/home/cedric$ ls -i
1572969 Bureau 1572975 Images 1572972 Public
Exemple:
cedric@pc-compaq:/home/cedric$ ls -l
total 36
Exemple:
cedric@pc-compaq:/home/cedric$ ls -lu
total 36
Exemple:
cedric@pc-compaq:/home/cedric$ ls -ail
total 180
Pour afficher par exemple le contenu du répertoire "/home/melanie/Documents/" alors qu'on se trouve dans
"/home/cedric".
Syntaxe:
ls adresse_répertoire
Exemple:
cedric@pc-compaq:/home/cedric$ ls /home/melanie/Documents/
essai.jpg test
cedric@pc-compaq:/home/cedric$
Il suffit de rajouter ">" suivi d'un nom de fichier, par exemple "liste.txt".
Il existe encore pleins d'autres options, pour les afficher utiliser l'option --help.
mkdir-CREER UN NOUVEAU REPERTOIRE EN LIGNE DE COMMANDE
Pour créer un nouveau dossier dans le répertoire courant.
Syntaxe:
mkdir nom_du_nouveau_répertoire
mkdir toto
Syntaxe:
mkdir /destination/nom_du_nouveau_répertoire
mkdir /home/cedric/documents/toto
mount-MONTER LA PARTITION D'UN DISQUE EN LIGNE DE COMMANDE
mount est une commande qui permet de monter les partitions de vos disques et clé
USB.
Monter une partition
Device correspond au nom système du disque, pour cela voir la commande "fdisk".
Pensez à créer l'emplacement de montage (voir "mkdir") de votre disque avant de le monter.
Syntaxe:
Exemple:
On créer le répertoire de montage.
mkdir /mnt/sda1
Syntaxe:
mount -t [type] [device] [emplacement_de_montage]
Voici quelque type de partition comme "msdos" pour du fat16 et aussi le VFAT, FAT32, NTFS ...
Exemple:
Syntaxe:
mount -l
Exemple:
root@octetmalin:/home/cedric# mount -l
Syntaxe:
mount -V
Exemple:
root@octetmalin:/home/cedric# mount -V
La commande mv (move) servira à déplacer un fichier/dossier à un endroit différent ou à le renommer. (mv = move)
Syntaxe:
mv [fichier_répertoire_source] [fichier_répertoire_cible]
mv voiture avion
Dans cet exemple on va renommer un fichier/répertoire du nom de "voiture" en "avion" ce trouvant dans le dossier
"/home/cedric":
mv /home/cedric/voiture /home/cedric/avion
mv voiture /home/cedric/Bureau
On va déplacer tous les fichiers/répertoires du dossier courant vers le répertoire distant "/home/cedric/Bureau/test":
mv * /home/cedric/Bureau/test
passwd-CHANGER LE MOT DE PASSE D'UN COMPTE UTILISATEUR
Pour créer ou changer le mot de passe de n'importe quel utilisateur depuis le compte "root".
Pratique lorsque qu'un utilisateur à perdu le mot de passe de son compte.
Syntaxe:
passwd nom_utilisateur
Exemple:
On va mettre un mot de passe a l'utilisateur "toto", vous devrez saisir deux fois le nouveau mot de passe pour vérifier
qu'il n'y a pas de faute d'écriture.
Exemple: L'utilisateur "riri" va changer son mot de passe, il lui sera d'abord demandé de saisir son mot de passe
actuelle.
riri@pc-sport:/home$
ps-CONNAITRE LES PROCESSUS ACTIFS AINSI QUE CES RESSOURCES A UN MOMENT DONNE
Commande "ps" permet d'afficher les processus actifs ainsi que ces ressources utilisé à un instant t, par utilisateur, par
PID ...
Syntaxe:
ps [options]
Par défaut ps affiche les commandes qui sont actuellement utilisé dans cet invité de commande.
ps
Les options
L'option "-x" permet de visualiser tous les processus actifs de l'utilisateur courant
L'option "-ax" permet de visualiser tous les processus de la machine de tous les utilisateurs
L'option "-aux" permet de visualiser affiche les utilisateurs associés à chaque processus
L'option "-u nom_utilisateur" affiche chaque processus associés à utilisateur
L'option "-p PID" affiche les informations sur un processus
L'option "-t" affiche tous les processus liées a un terminal
PID est l'identificateur unique du processus qui a été définit par le système.
TTY indique le numéro de port du terminal (le "?" indique que la commande n'est pas associée à un terminal)
TIME affiche le temps processeur utilisé par ce processus
CMD affiche le nom de la commande qui utilise ce PID
USER indique le nom de l'utilisateur du processus
START indique l'heure a laquelle le processus a commencé
%CPU affiche l'utilisation du processeur en pourcentage
%MEM affiche l'utilisation de la mémoire vive en pourcentage
RSS donne l'utilisation de la mémoire physique utilisée en kilobytes par le processus (hors swap)
VSZ donne l'utilisation des bibliothèques partagées et la mémoire utilisé pour son fonctionnement
STAT affiche l'état actuel du processus, R comme Run Démarrer...
Exemple:
ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ...
pstree-AFFICHER L'ARBORESCENCES DES PROCESSUS
L'option "-u"
L'option "-p"
Exemple:
pwd-CONNAITRE L'EMPLACEMENT DU REPERTOIRE COURANT OU L'ON SE TROUVE
Assez souvent le prompt remplace l'adresse où vous êtes localisez par le symbole "~" car l'adresse est top longue pour
l'afficher.
La commande "pwd" à justement pour but d'afficher votre localisation dans l'arborescence du système de fichier.
pwd
/home/nom_de_l'utilisateur/Documents
rm-SUPPRIMER UN FICHIER OU DOSSIER EN LIGNE DE COMMANDE
Syntaxe:
rm nom_du_fichier
rm toto.txt
Syntaxe:
rm /répertoire/nom_du_fichier
rm /home/cedric/documents/mimi.txt
Syntaxe:
rm -r nom_du_dossier
rm -r toto
Syntaxe:
rm -r /répertoire/dossier
Par exemple pour supprimer le dossier "toto" placé dans le répertoire "/home/cedric/documents".
rm -r /home/cedric/documents/toto
shutdown - ARRETER OU REDEMARRER LE SYSTEME
Pour arrêter l'ordinateur, il suffit de taper "shutdown" avec l'option "-h" (halt) et d'ajouter "now" pour dire
maintenant.
Syntaxe:
shutdown -h now
shutdown -r now
Pour arrêter ou redémarrer mais pas maintenant (now) mais dans un certain temps, remplacer "now" par "-t" suivie du
temps en secondes.
Syntaxe:
shutdown -r -t XXX
shutdown -r -t 030
tail-AFFICHER LES DERNIERES LIGNES D'UN FICHIER TEXTE
La commande "tail" permet de visionner les dernières lignes d'un fichier texte. Par défaut celui-ci n’affiche que les dix
dernières lignes. Cet outil est le plus souvent utilisé pour voir les fichiers log qui peuvent être très long.
Syntaxe:
01 1111
02 2222222
03 3333333333
04 4444444444444
05 5555555555555555
06 66666666666666666666
07 777777777777777777777777
08 888888888888888888888888888
09 999999999999999999999999999999
10 101010101010101010101010101010
11 111111111111111111111111111
12 121212121212121212121212
13 13131313131313131313
14 1414141414141414
$ tail -n 5 test.txt
10 101010101010101010101010101010
11 111111111111111111111111111
12 121212121212121212121212
13 13131313131313131313
14 1414141414141414
Dans cette exemple on va afficher à partir de la 7ème ligne jusqu'à la fin du fichier, avec l'option "-n +X".
$ tail -n +7 test.txt
07 777777777777777777777777
08 888888888888888888888888888
09 999999999999999999999999999999
10 101010101010101010101010101010
11 111111111111111111111111111
12 121212121212121212121212
13 13131313131313131313
14 1414141414141414
$ tail -c 30 test.txt
313131313
14 1414141414141414
Cette exemple va montrer comment afficher les 3 dernières lignes de tous les fichiers commençant par le mot "test".
$ tail -n 3 test*
12 121212121212121212121212
13 13131313131313131313
14 1414141414141414
gggggggggggggg
hhhhhhhhhhhhhhhh
iiiiiiiiiiiiiiiiii
On va surveiller en continue les dernières lignes d'un fichier avec l'option "-n".
tail nous affichera les nouvelles lignes qui apparaitrons.
Comme c'est souvent le cas dans les fichiers log.
Dans cet exemple on va surveiller les 10 dernières lignes d'un fichier log.
tail -f /var/log/daemon.log
touch-CHANGER L'HORODATAGE DES FICHIERS/REPERTOIRES
Par défaut la commande "touch" met a jour la date de dernier accès et de modification (et/ou création).
Syntaxe:
L'option "-a"
Exemple:
$ ls -lu
$ touch -a fichier-test
$ ls -lu
L'option "-m"
Exemple:
$ ls -l
$ touch -m fichier-test
$ ls -l
L'option "-t"
Cette option permet d'utiliser la date indiquée dans l'argument au lieu de prendre la date actuelle.
Syntaxe:
touch -t [AAMMJJhhmm] fichier
Exemple:
$ ls -l
$ ls -l
L'option "-c"
L'option "-r"
Cette option permet d'utiliser les paramètres d'horodatage d'un autre fichier comme modèle.
Syntaxe:
touch -r [fichier_référence_horodatage] fichier
Exemple:
$ ls -l
On va copier la date du fichier "toto.txt" pour la réutiliser comme modèle pour "fichier-test".
$ ls -l
Syntaxe:
umount [device]
Exemple:
La commande "uptime" permet d'afficher le temps depuis laquelle le système est en marche sans interruption.
Il utilise le fichier "/var/run/utmp".
Syntaxe:
uptime
Exemple:
$ uptime
Options
Exemples
Par exemple pour ajouter l'utilisateur toto, lui créer un répertoire personnel "/home/toto" et lui assigné un bash:
Cela va ajouter une entrée pour toto dans le fichier "/etc/passwd" et "/etc/group".
Pour supprimer le compte d'un utilisateur il suffit de saisir "userdel" suivie du nom de l'utilisateur.
Cela supprimera l'utilisateur du fichier "/etc/passwd" et "/etc/group".
Syntaxe:
userdel nom_utilisateur
Mais pour supprimer le compte et le répertoire personnel de l'utilisateur, rajouter l'option "-r".
Syntaxe:
userdel -r nom_utilisateur
Pour forcer la suppression de l'utilisateur utiliser l'option "-f", marche même quand l'utilisateur est encore connecté.
Syntaxe:
userdel -f nom_utilisateur
Exemple:
userdel -r -f toto