Les commandes de
base sous linux
ls: Lister les fichiers
-a : afficher tous les fichiers et dossiers cachés
-F : indique le type d'élément
-l : liste détaillée
-h : afficher la taille en Ko, Mo, Go...
-t : trier par date de dernière modification
-g : affiche les informations sur le groupe
Exemple de commande ls –larth
du : taille occupée par les dossiers
La commande "du", pour Disk Usage (utilisation du disque) vous donne des
informations sur la taille les dossiers sur votre disque.
Placez-vous pour commencer dans /usr/games, et tapez "du" :
Option
-h la taille pour les humains
-a : afficher la taille des dossiers ET des fichiers
-s : avoir juste le grand total
Exemples: du -sh
fichiers
cat & less : afficher un fichier
Cat: affiche tout le fichier
Ex: cd /var/log
Puis cat syslog
less: affiche le fichier page par page
Ex: cd /var/log
Puis less syslog
head & tail : afficher le début et la fin d'un fichier
Ex: cd /var/log
Puis head syslog
-n, suivi d'un nombre. Il permet d'afficher le nombre de lignes que vous voulez.
Par exemple, si vous ne voulez que les 4 premières lignes, tapez :
head –n 4 syslog
Ex: cd /var/log
Puis tail syslog
-n, suivi d'un nombre. Il permet d'afficher le nombre de lignes que vous voulez.
Par exemple, si vous ne voulez que les 4 dernières lignes, tapez :
tail –n 4 syslog
touch & mkdir : créer des fichiers et dossiers
touch : créer un nouveau fichier
othelot@othelot-desktop:~$ touch fichierbidon
ls -F
othelot@othelot-desktop:~$ touch [Link]
ls -F
vous pouvez créer plusieurs fichiers en une seule commande. Il vous suffit de les
lister l'un après l'autre, séparés par des espaces.
othelot@othelot-desktop:~$ touch fichieresih1 [Link]
Et si je veux que mon fichier contienne un espace, je fais comment ?
touch "Fichier othelot"
mkdir : créer un nouveau dossier
mkdir mondossier
On peut créer 2 dossiers (ou plus !) en même temps en les séparant là aussi par
des espaces :
mkdir mondossier autredossier
Il y a un paramètre utile avec mkdir : -p. Il sert à créer tous les dossiers
intermédiaires. Par exemple :
mkdir -p infotronique/informatique/esih1
cp & mv : copier et déplacer un fichier
cp : copier un fichier
cp fichier1fichier2
Copier dans un autre dossier
cp fichierbidon mondossier/
Si vous voulez copier fichierbidon dans mondossier sous un autre nom.
cp fichierbidon mondossier/fichiercopie
Mais si je souhaite écrire dans un répertoire en absolu :
cp fichierbidon /var/log/
Copier des dossiers
cp -R animaux autresanimaux
Il vous permet de copier par exemple tous les fichiers image .jpg dans un sous-dossier :
Utiliser le joker *
cp *.jpg mondossier/
Vous pouvez aussi vous en servir pour copier tous les fichiers dont le nom commence par
"so" :
cp so* mondossier/
mv : déplacer un fichier
La commande mv s'utilise pratiquement comme cp :
mv fichierbidon mondossier/
Vous pouvez déplacer des dossiers aussi simplement :
mv animaux/ mondossier/
Vous pouvez aussi utiliser les jokers :
mv *.jpg mondossier/
Renommer un fichier
mv fichierbidon superfichier
Déplacer et Renommer un fichier à la fois
Vous pouvez aussi déplacer fichierbidon dans "mondossier" tout en lui affectant un
nouveau nom :
mv fichierbidon mondossier/superfichier
rm : supprimer des fichiers et dossiers
rm : supprimer un fichier
Il faut l'utiliser avec précaution donc. Commençons par des choses simples,
supprimons ce fichierbidon :
rm fichierbidon
Vous pouvez aussi supprimer plusieurs fichiers en séparant leurs noms par des
espaces :
rm fichierbidon fichiercopie
La commande -i permet de vous demander une confirmation pour chacun des fichiers :
-i : demander confirmation
rm -i fichierbidon
rm: détruire fichier régulier vide `fichierbidon'?
Lorsqu'on vous demande une confirmation de type oui/non comme ici, vous devez
répondre par une lettre :
o : signifie Oui. Sur certains systèmes anglais, il faudra peut-être utiliser "y" de Yes.
n : signifie Non.
-f, c'est un peu le contraire de -i : c'est le mode des gros bourrins
-f : forcer la suppression, quoiqu'il arrive
rm -f fichierbidon
-v : dis-moi ce que tu fais, petit cachotier
rm -v fichierbidon fichiercopie
détruit `fichierbidon'
détruit `fichiercopie'
-r : supprimer un dossier et son contenu
Supprime le dossier "animaux" ainsi que tout ce qu'il contenait (sous-dossiers
"vertebres", et "chat").
rm -r animaux/
rm et le joker de la Mort (qui tue)
NON NON NON NE FAITES JAMAIS CA !!! => rm -rf /*
rm : commande la suppression
-r : suppression récursive de tous les fichiers et dossiers
-f : force la suppression sans demander la moindre confirmation
/* : supprime tous les fichiers et dossiers qui se trouvent à la racine (/) quel que soit
leur nom (joker *).
Le stockage des fichiers
Sur le disque dur, chaque fichier est grosso-modo séparé en 2
parties :
• Son nom
• Son contenu
ln : créer des liens entre fichiers
• Des liens physiques
• Des liens symboliques
Chaque contenu de fichier se voit attribuer un numéro d'identification appelé inode.
Chaque nom de fichier est donc associé à un inode (son contenu).
Créer des liens physiques
Si vous supprimez un des deux fichiers, l'autre fichier reste en place et le contenu sera
toujours présent sur le disque. L'inode est supprimé uniquement quand plus un seul nom
de fichier ne pointe dessus.
mkdir tests
cd tests
Une fois dans ce dossier, créez un fichier avec la commande touch par exemple :
ln fichier1 fichier2
Si vous listez les fichiers du répertoire, vous avez l'impression d'avoir 2 fichiers différents :
ls -l
Créer des liens symboliques
Le principe du lien symbolique est que l'on crée un lien vers un autre nom de fichier.
Cette fois, on pointe vers le nom de fichier et non vers l'inode directement :
Supprimez le "fichier2" que nous avons créé tout à l'heure (sous forme de lien physique) :
rm fichier2
ln -s fichier1 fichier2
ls -l
total 0
-rw-r--r-- 1 mateo21 mateo21 0 2008-07-31 13:55 fichier1
lrwxrwxrwx 1 mateo21 mateo21 8 2008-07-31 14:15 fichier2 -> fichier1
On note 2 choses :
La toute première lettre de la seconde ligne est un "l" (comme link, c'est-à-dire lien).
Tout à la fin de la seconde ligne, une flèche montre clairement que fichier2 pointe vers
fichier1.
Extraire, trier et
filtrer des données
Extraire, trier et filtrer des données
Grep : filtrer des données
La commande grep peut s'utiliser de nombreuses façons
différentes. Pour le moment, nous allons suivre le schéma ci-
dessous :
EX: grep texte nomfichier
Essayons par exemple de rechercher le mot "alias" dans notre
fichier de configuration .bashrc. Rendez-vous dans votre répertoire
personnel (en tapant cd ), et lancez la commande suivante :
grep alias .bashrc
Grep –v ^user(nom utilisateur) /etc/passwd
Extraire, trier et filtrer des données
Créer un fichier : File1
Baseball
Soccer
Rugby
What is a shell
A
At
#: grep what file1
Extraire, trier et filtrer des données
Notez qu'il n'est pas nécessaire de mettre des guillemets autour du mot
recherché, sauf si vous recherchez une suite de plusieurs mots séparés par des
espaces comme ceci :
grep «hello world» monfichier
-i : ne pas tenir compte de la casse (majuscules / minuscules)
$ grep -i alias .bashrc / (grep a file1 et grep – I a file1 )
-n : connaître les numéros des lignes
$ grep -n alias .bashrc / grep –n a file1
-v : inverser la recherche : ignorer un mot
$ grep -v alias .bashrc # grep –v what file1
-r : rechercher dans tous les fichiers et sous-dossiers
grep -r “ bonjour le monde" code/
- Plusieurs parametres
Grep –ni a file1
Notez que le "/" à la fin n'est pas obligatoire. Linux comprendra très bien qu'il
s'agit d'un répertoire sans cela.
Extraire, trier et filtrer des données
Utiliser grep avec des expressions régulières
Extraire, trier et filtrer des données
Utiliser grep avec des expressions régulières
Il faut savoir qu'on doit utiliser l'option -E pour faire comprendre à grep
que l'on utilise une expression régulière.
Notez que vous pouvez aussi utiliser la commande egrep qui est
équivalente à écrire grep -E .
Exemple: $ grep -E Alias .bashrc
$egrep Alias .bashrc
Extraire, trier et filtrer des données
$ grep -E ^Alias .bashrc
le mot doit être placé au début de la ligne"
Résultat : grep ne renvoie rien. En effet, la ligne de tout à l'heure commençait
par un # et non pas par Alias.
$ grep -E ^alias .bashrc
Cette fois la ligne commençait bien par "alias". De même, on aurait pu utiliser
un $ à la fin pour demander à ce que la ligne se termine par alias.
grep -E [Aa]lias .bashrc
Renvoie toutes les lignes qui contiennent "alias" ou "Alias".
grep -E [0-4] .bashrc
Renvoie toutes les lignes qui contiennent un nombre compris entre 0 et 4.
grep -E [a-zA-Z] .bashrc
Renvoie toutes les lignes qui contiennent un caractère alphabétique compris
entre a et z ou entre A et Z.
sort : trier les lignes
La commande sort se révèle bien utile lorsqu'on a besoin de trier le
contenu d'un fichier.
créer un nouveau fichier (avec nano par exemple) appelé "[Link]"
et d'y placer le texte suivant :
François
Marcel
Albert
Jean
Stéphane
patrice
Vincent
Jonathan
$ sort [Link]
sort : trier les lignes
-o : écrire le résultat dans un fichier
Sort – o [Link] [Link]
écrira la liste de noms triés dans [Link]
-r : trier en ordre inverse
L'option -r permet d'inverser le tri :L'option -r permet d'inverser le tri
$Sort –r [Link]
-R : trier aléatoirement
$ sort -R [Link]
-n : trier des nombres
Le tri de nombres est un peu particulier. En effet, la commande sort ne
reconnaît pas si les caractères sont des nombres et trie par défaut
alphabétiquement. Par conséquent, le "mot" 129 précèdera 42, alors que ce
devrait être l'inverse !
sort : trier les lignes
Créez un nouveau fichier "[Link]" et placez-y le
contenu suivant :
36
16
42
129
27
364
$ sort [Link] (essaie)
$ sort –n [Link] (essaie)
wc : (Word Count) compter le nombre de lignes
$ wc [Link]
Pour avoir uniquement le nombre de lignes, le nombre de
mots et le nombre d’octet,
Paramètres
-l : compter le nombre de lignes
$ wc -l [Link]
-w : compter le nombre de mots
$ wc -w [Link]
-c : le nombre d’octet
$ wc -c [Link]
-m : le nombre de caractères
$ wc -m [Link]
uniq : supprimer les doublons
Parfois, certains fichiers contiennent des lignes en double et on
aimerait pouvoir les détecter ou les supprimer. La commande
uniq est toute indiquée pour cela.
Créer un fichier doublons
Pierre
Jacques
Joseph
Pierre
Albert
Bens
Bens
$ uniq [Link]
Uniq
• Vous pouvez demander à ce que le résultat sans doublons soit
écrit dans un autre fichier plutôt qu'affiché dans la console :
• $ uniq [Link] sans_doublons.txt
-c : compter le nombre d'occurrences
uniq -c [Link]
Avec -c, la commande uniq vous affiche le nombre de fois que la
ligne est présente dans le fichier
-d : afficher uniquement les lignes présentes en double
uniq -d [Link]
cut : couper une partie du fichier
Couper selon le nombre de caractères
Par exemple, si vous souhaitez conserver uniquement les
caractères 2 à 5 de chaque ligne du fichier, vous taperez :
$ cut -c 2-5 [Link]
Pour conserver du 1er au 3ème caractère :
$ cut -c -3 [Link]
De même, pour conserver du 3ème au dernier caractère :
$ cut -c 3- [Link]
cut : couper une partie du fichier
• Couper selon un délimiteur
• créer un fichier csv
cut : couper une partie du fichier
Utilisons 2 paramètres :
• -d : indique quel est le délimiteur dans le fichier
• -f : indique le numéro du ou des champs à couper
cut : couper une partie du fichier
cut : couper une partie du fichier
Recherche de fichiers
locate : une recherche rapide
~$ locate [Link]
Votre problème, c'est que les fichiers viennent tout
juste d'être créés et n'ont pas encore été répertoriés
dans la base de données.
Ils ne seront donc pas découverts par locate.
Il faut passer la cette commande « sudo updatedb »
pour mettre à jour la base de donnée
Recherche de fichiers
find : une recherche approfondie
find -name "[Link] ’’
Le -name "[Link]" est un paramètre qui demande à
retrouver un fichier qui s'appelle très exactement
[Link].
Ex: ~$ find /var/log/ -name "syslog"
Nano
• nano est un éditeur de texte, pas un traitement de texte !
NANO
• Le symbole ^ signifie "Ctrl". Ainsi, pour quitter nano il suffit de
taper Ctrl + X.
• Voici les raccourcis les plus importants :
Ctrl + G : afficher l'aide
Ctrl + K : couper la ligne de texte (et la mettre dans le presse-
papier)
Ctrl + U : coller la ligne de texte que vous venez de couper
Ctrl + C : afficher à quel endroit du fichier votre curseur est
positionné (numéro de ligne...)
Ctrl + W : rechercher dans le fichier
Ctrl + O : enregistrer le fichier (écrire)
Ctrl + X : quitter nano
Les paramètres de la commande nano
• Creer un fichier “nano [Link]”
... ouvrira le fichier [Link] qu'on vient de créer. Si le fichier
n'existe pas, il sera automatiquement créé par nano lors du
premier enregistrement.
nano accepte de nombreux paramètres.
J'en ai sélectionné 3 seulement
• -m : autorise l'utilisation de la souris sous nano. En console
• -i : indentation automatique. L'alinéa (tabulations) de la ligne
précédente sera respecté lorsque vous irez à la ligne. Très utile
lorsque vous éditez un fichier de code source.
• -A : active le retour intelligent au début de la ligne