====C====
* **cal**
Cette commande affiche un calendrier dans le terminal.
__utilisation__ :
cal (--> Affiche le calendrier du mois en cours)
cal -m avril (--> Affiche le calendrier du mois d'avril)
* **cat**
Affiche le contenu d'un fichier texte.
__utilisation__ :
cat fichier1.txt (--> Affiche le contenu de "fichier1.txt")
cat -n fichier1.txt (--> Affiche le contenu de "fichier1.txt", préfixe chaque ligne par son numéro. Attention numérote également les lignes vides)
cat -b fichier1.txt (--> Affiche le contenu de "fichier1.txt", préfixe chaque ligne par son numéro. Ne numérote pas les lignes vides)
* **cd**
Permet de se déplacer dans les dossiers
* **chgrp**
Change le groupe propriétaire d'un fichier
__utilisation__ :
chgrp groupe1 texte1.txt (--> "groupe1" devient le groupe propriétaire de "texte1.txt")
* **chmod**
Permet de changer les droits d'accès d'un fichier ou d'un dossier.
soit
__utilisation__ :
Les droits d'un fichier ou d'un dossier ce présente sous cette forme :
rwx(u) rwx(g) rwx(o) (u = user, g = group, o = other)
La commande prend une valeur selon les droits qu'on veux donner au fichier.
r (read) = 4, w (write) = 2, x (exécuter) = 1
Si je veux donner à "fichier1.txt" les droits suivants :
- Lecture, écriture et exécution au propriétaire.
- Lecture et exécution au groupe.
- Lecture aux autres
Je calcule la valeur de mon chmod :
- Propriétaire : 4 + 2 + 1 = **7**
- Groupe : 4 + 1 = **5**
- Autres : **4**
La commande sera donc :
chmod 754 fichier1.txt
La commande peux également s'utiliser de manière plus aisée :
__ex__ : soit un fichier texte appartenant à Olivier et avec les droit suivant --> texte1.txt rwx rx r
* droit de lecture, écriture et exécution pour Olivier
* droit de lecture et exécution au groupe olivier
* droit de lecture à "autres"
Si je veux ajouter le droit d'écriture au groupe et retirer le droit de lecture à "autres" la commande sera :
chmod g+w o-r texte1.txt
Attention mal utilisée, cette commande peut être très destructrice
* **chown**
Change le propriétaire d'un fichier.
__utilisation__ :
chown olivier.olivier texte1.txt (--> l'utilisateur olivier et le groupe olivier deviennent propriétaires de "fichier1.txt")
* **cp**
Permet de copier un fichier
__utilisation__ :
cp fichier1.txt fichier2.txt (--> Fait une copie de "fichier1.txt" et la nomme "fichier2.txt")
----
====D====
* **date**
Cette commande affiche la date dans le terminal.
__utilisation__ :
date (--> Date du jour et heure)
date +%s (--> Affiche le nombre de secondes écoulées depuis le 1er janvier 1970)
date -u (--> Affiche la date au format UTC)
* **df**
Cette commande permet d'afficher la taille des partitions et périphériques attacher au système.
__utilisation__ :
df
df -h (Affiche le résultat avec des taille lisible par les humains - multiple de 1024)
du -H (Affiche le résultat avec des taille lisible par les humains - multiple de 1000)
* **du**
Cette commande permet d'afficher la taille des dossiers d'une hiérarchie.
__utilisation__ :
du /home/olivier/Document
du -h /home/olivier/Document (Affiche le résultat avec des taille lisible par les humains)
du -h -s /home/olivier/Document (Affiche uniquement la taille totale des dossiers avec un résultat lisible par les humains)
----
====E====
* **echo**
Affiche un texte.
__utilisation__ :
echo "Hello World !"
----
====F====
* **find**
Permet de chercher des fichiers ou des dossiers. Commande assez complexe par son nombre d'options.
__utilisation__ :
find /home/olivier -name *.txt -print (Recherche tous les fichiers txt présent dans /home/olivier)
Recherche à partir d'une expression rationnelle :
find /home/olivier/Documents -iname "[abc]*.txt" -print
Recherche par type :
find /home/olivier/Documents -name exemple -type f -print (Recherche les fichiers portant comme nom exemple)
find /home/olivier/Documents -name exemple -type d -print (Recherche les dossiers portant comme nom exemple)
find /home/olivier/Documents -name exemple -type l -print (Recherche les liens portant comme nom exemple)
Recherche sur un critère de temps :
find /home/olivier -atime 1 -print (Affiche l'ensemble des fichiers ouvert depuis moins de 1 jour)
find /home/olivier -amin 10 -print (Affiche l'ensemble des fichiers ouvert depuis moins de 10 minutes)
find /home/olivier -ctime 1 -print (Affiche l'ensemble des fichiers dont les droits on été modifiés depuis moins de 1 jour)
find /home/olivier -cmin 10 -print (Affiche l'ensemble des fichiers dont les droits on été modifiés depuis moins de 10 minutes)
find /home/olivier -mtime 1 -print (Affiche l'ensemble des fichiers modifiés depuis moins de 1 jour)
find /home/olivier -mmin 10 -print (Affiche l'ensemble des fichiers modifiés depuis moins de 10 minutes)
Rechercher des fichiers ou documents vides
find /home/olivier -empty -print (cherche tous les fichiers ou dossiers vides dans /home/olivier)
Recherche multi-critères :
find /home/olivier -empty -name linux* -type f -print (cherche tous les fichiers vides dont le nom commence par linux dans /home/olivier)
----
====G====
* **grep**
Permet de faire une recherche dans un ou plusieurs fichiers.
__Utilisation__ :
grep "^a" texte1.txt (cherche toutes les lignes commençant par a dans texte1.txt)
grep "olivier" texte1.txt (cherche toutes les lignes contenant le mot olivier dans texte1.txt)
grep "^a$" texte1.txt (cherche toutes les lignes ne contenant que la lettre a dans texte1.txt)
grep "^$" texte1.txt (cherche toutes les lignes vides dans texte1.txt)
grep -i "olivier" texte1.txt (recherche non sensible à la case peux donc donner comme résultat "olivier", "Olivier", "olIvIer"...)
__Inversion de la recherche__ :
grep -v "olivier" texte1.txt (recherche toutes les lignes ne comportant pas le mot "olivier" - v inverse la recherche)
__Nombre de lignes__ :
grep -c "olivier" texte1.txt (donne le nombre de lignes comportant le mot "olivier")
__Numéro des lignes__ :
grep -n "olivier" texte1.txt (affiche les numéros et les lignes comportant le mot "olivier")
__Recherche dans l'ensemble des fichiers__ :
grep "olivier" * (affiche les lignes des fichiers comportant les mots comprenant "olivier")
grep -w "olivier" * (affiche les lignes des fichiers comportant l'expression exacte "olivier")
grep -wl "olivier" * (affiche uniquement le nom des fichiers comportant l'expression exacte "olivier")
grep -wlr "olivier" * (affiche uniquement le nom des fichiers comportant l'expression exacte "olivier" de manière récursive)
----
====H====
* **head**
Affiche les dix premières lignes d'un fichier texte.
__utilisation__ :
head fichier1.txt (--> Affiche les dix premières lignes de "fichier1.txt")
head -n2 fichier1.txt (--> Affiche les deux premières lignes de "fichier1.txt")
----
====I====
* **id**
Affiche son login, son groupe principal et ses autres groupes.
----
====L====
* **ls**
Liste le contenu d'un dossier.
* **less**
Permet de lire un document texte page par page.
__utilisation__ :
less texte.txt
Nous pouvons passer page par page à l'aide de la touche **espace**.
Pour pouvoir naviguer plus librement dans le document, nous utiliserons les touches **b** (retour arrière) et **f** (continuer à la page suivante).
La touche **/** permet de faire une recherche dans un document. Enfin la touche **n** permet dans le cadre de cette recherche de passer à l’occurrence suivante.
----
====M====
* **man**
Affiche le manuel d'une commande.
__utilisation__ :
man date (--> Affiche le manuel de la commande date)
* **mkdir**
Permet de créer un dossier vide.
__utilisation__ :
mkdir dossier1 (--> crée un dossier "dossier1")
* **mv**
Permet de déplacer ou de renommer un fichier.
__utilisation__ :
mv fichier1.txt dossier1/ (--> Déplace "fichier1.txt" dans "dossier1") --> chemin relatif
mv fichier1.txt fichier2.txt (--> Renomme fichier1.txt en fichier2.txt)
----
====P====
* **pwd**
Affiche le répertoire dans lequel on se situe (chemin absolu).
----
====R====
* **rm**
Supprime un fichier.
__utilisation__ :
rm fichier1.txt (--> Supprime le fichier "fichier1.txt")
rm -d dossier1 (--> Supprime le dossier "dossier1") --> équivalent de **rmdir**
rm -r dossier1 (--> Supprime des dossiers récursivement --> le dossier1 et son contenu)
rm -rf dossier1 (--> Supprime des dossiers récursivement et sans confirmation !)
Attention mal utilisée, cette commande peut être très destructrice
* **rmdir**
Supprime un dossier vide
__utilisation__ :
rmdir dossier1 (--> Supprime le dossier vide "dossier1")
----
====S====
* **stat**
Permet d'afficher les statistiques d'un fichier (Emplacement, taille, droit, date de création, de modification...)
__utilisation__ :
stat texte.txt
* **strings**
Permet d'afficher des chaînes de caractères renvoyées par un exécutable.
__utilisation__ :
strings ls
(Il faut être dans /bin)
* **su**
Permet de devenir le Super Utilisateur (root).
__utilisation__ :
su
Il faut connaître le mot de passe root, et donc celui-ci doit être activé.
* **sudo**
Permet de prendre temporairement l'identité du Super Utilisateur (root).
__utilisation__ :
sudo nom_de_la_commande
sudo -k (permet de vider le cache et d'oublier donc le mot de passe qui sera redemandé à la prochaine commande sudo)
----
====T====
* **tail**
Permet d'afficher les dix dernières lignes d'un fichier (exemple un log).
__utilisation__ :
tail fichier.log
Nous pouvons passer l'option **n20** par exemple pour afficher les 20 dernières lignes.
L'option **f** permet de garder le fichier ouvert afin de continuer à le scruter.
* **touch**
Permet de créer un fichier texte vide.
__utilisation__ :
touch fichier1.txt (--> crée le fichier vide "fichier1.txt")
* **type**
Cette commande permet de savoir si une commande est de type interne ou externe.
__utilisation__ :
type echo (--> interne)
type date (--> externe)
----
====W====
* **wc**
Permet d'afficher le nombre de lignes, de mots et d'octets d'un fichier.
__utilisation__ :
wc fichier.txt