Le guide de survie les commandes sous Linux
Le guide de survie les commandes sous Linux
Ici on va voire quelque commandes sous Linux, avec des exemples.
Cette page sera complété au fur à mesure que j'avancerais dans la section CTF.
- man
- info
- ls
- pwd
- cd
- cat
- file
- du
- find
- grep
- sort
- uniq
- strings
- base64
- tr
- tar
- gzip
- bzip2
- xxd
- mkdir
- cp
- mv
- nc
- openssl
- nmap
- more
- fichier mémento
La commande : man
C'est l'une des commandes la plus utile, car permet de montrer de la documentation sur les autres commandes, programmation et posix.
Elle est assez simple il suffit de taper 'man nomDuProgramme'.
Il est possible d'avoir par exemples d'avoir la documentation des programmes en français (pas toutes les documentations sont traduites).
Sur une distribution comme sur Ubuntu il suffit d'installer les paquets manpages-fr et manpages-fr-extra avec la commande apt-get install nomDuPaquet.
Une des options utile l'option -L pour localisation permet d'afficher dans une autre langue que celle mis par défaut.
Exemple : 'man -L en ls' affiche la page en anglais, pour mettre la localisation en français il suffit juste mettre en fr.
La commande : info
C'est presque la même chose que man mais en plus détaillé utile dans certain si man n'est pas assez précis
La commande : ls
Cette commande permet de lister les fichiers dans un répertoire
Elle fonctionne de cette façon ls -option
Une des options la plus important est l'option -l, qui permet d'afficher tout les détaille d'un fichier.
Par exemple 'ls -l' affiche 'drwxr-xr-x 2 bob bob 4096 mai 12 2018 photo'
Sinon il peut arriver que sur un système Linux il y a des fichiers cachés, sur Unix et Linux le fichiers cachés comme par un point
Pour lister ce type fichier il faut utiliser la commande -a que veut dire all.
Par exemple 'ls -a' affiche 'drwxr-xr-x 2 bob bob 4096 mai 12 2018 .hentai'
Pour avoir plus de détaille sur la commande ls, il y a l'option -h et ne pas oublier aussi l'utilisation de man et info qui donne plein de détailles et des exemples
La commande : pwd
Cette option affiche juste le chemin complet du répertoire courant.
Exemple je suis dans le répertoire '/home/bob/photo/vacance/' , si je tape pwd, le programme me retourne la réponse '/home/bob/photo/vacance'.
La commande : cd
Cette commande permet de naviguer à travers les répertoires.
Plusieurs méthodes sont possible pour naviguer à travers les répertoires.
Si on connait le chemin complet (chemin absolu) il suffit de taper la commande 'cd nomDesRepertoires'.
Example je connais le chemin complet qui est '/home/bob/document/' donc il faut taper 'cd /home/bob/document' pour accéder au répertoir document.
Si on veut rapidement naviguer dans les répertoire sans tout retaper les chemins on utiliser les chemin relatif par exemple si je suis dans '/home/bob/document' et que je veux aller dans home il faudra descendre de deux répertoire pour descendre d'un répertoire un suffit de taper '../' donc pour deux il faut faire '../../'
Pour illustrer l'exemple voici la commande complète 'cd ../../'
et nous serons dans le répertoire '/home/' pour le taper la commande 'pwd' .
Pour plus d'information sur cette commande vous pouvez taper l'option --help, cd ne possède pas de page man ou info personnel car c'est une commande interne au bash mais il est possible dans la documentation bash 'man $0' de trouver des informations sur cd.
La commande : cat
Cette commande permet de concaténer plusieurs fichiers et les afficher sur l'invite de commande.
Par exemple j'ai un fichier 'lisezmoi', je veux l'afficher donc pour le voir je tape la commande 'cat lisezmoi'
Il une option important qui est -n, qui numérote les lignes cette option est surtout utile quand un scripte nous affiche une erreur un ligne spécifique.
Astuce si le fichier est trop long qui s'afficher sur plusieurs page de l'invite de commande on peut passer par une pipe la commande more qui permettra de faire une pause
Exemple 'cat lisezmoi | more' va afficher le contenu du fichier page par page.
La commande : file
Programme qui permet de détecter d'avoir des informations détailler sur les fichiers, très utile car sur Linux contrairement à des systèmes comme Windows, linux ne se fier à pas l'extension du fichier, il peut aussi avoir des problèmes d'encodage de fichier, file peut aider à résoudre ce genre de problème.
Par exemple sur un fichier texte si on tape 'file lisezmoi.txt' , le programme retournera 'missfont.log: ASCII text' ce qui nous indique que le fichier est codé avec le simple jeu de caractère ASCII.
Sinon, si on fait le test sur fichier binaire par example 'file /bin/ls' on aura comme réponse 'ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=9567f9a28e66f4d7ec4baf31cfbf68d0410f0ae6, stripped', ce qui fait beaucoup d'information comme l'architecture système, le linkage, l'identifiant de construction etc...
La commande : du
C'est une commande qui affiche la taille des fichiers et répertoires pour rendre l'affichage plus compréhensif il est recommandé de mettre l'option -h qui affiche dans un format plus facile à lire pour les humains, pour plus de détails regardez 'man' ou 'info'.
La commande : find
Cette commande find permet de chercher un fichier dans des répertoires, il propose pas mal de méthodes de recherche par nom, type, taille etc..
Par exemple je cherche un fichier qui se nomme ls et je sais qui est dans le répertoire /bin donc il faudrait que je tape la commande 'find /bin -name "ls"', par contre attention si vous choisissez la racine comme point de départ de recherche et que vous avez beaucoup de fichiers la recherche peut être très longue.
Un autre exemple c'est que vous connaissez la taille du fichier et dans quel répertoire il est situé on prend comme exemple un fichier dans bin et de 35064 octets il faudra taper la commande 'find /bin -size 35064c' dans mon cas la réponse est '/bin/cat'.
Pour ample information man et info sont vos amis.
La commande : grep
La commande grep permet de rechercher dans un fichier ou un texte les lignes correspondant au motif donné.
Exemple j'ai fichier avec beaucoup de lignes mais je veux trouver les lignes qui contiennent les lignes le mot 'password' , j'entre la commande 'cat fichier | grep password', les lignes contenant password seront affichés
Pour d'informations lisez man ou info
La commande : sort
La commande sorte trie les lignes d'un fichier et donne les résultats sur la sortie standard.
Exemple j'ai une fichier qui contient sur chaque ligne un nom:yan, toto, alice, albert.
Si je tape la commande 'sort fichier', j'aurais en sortie sur chaque ligne différente: albert, alice, toto yan.
La commande : uniq
Permette d'afficher les lignes unique non successives, attentions si vous voulez voire que les lignes unique d'un fichier, il faudra faire un sort avant de faire la commande uniq.
Exemple, j'ai une seul ligne password, toutes les autres lignes sont en double ou plus.
Pour afficher la seule ligne unique il faut taper la commande 'sort fichier | unique -u et la ligne avec password va s'afficher.
Pour plus d'information, vous pouvez consulter man uniq.
La commande : strings
Permet d'afficher les chaînes de caractères d'un fichier.
Pour plus d'information voir man.
La commande : base64
Encode ou décode le format base64, pour décoder la base64 passer l'option -d.
La commande : tr
La commande tr permet de convertir et/ou d'éliminer des caractères.
Exemple pour remplacer le t de toto par p il faut taper 'echo toto | tr t p' pour plus d'information regardez man ou info.
La commande : tar
Tar est un logiciel d'archivage, toutes les informations des fichiers seront stockés, pour créer une archive il faut passer -c en option, pour l'extraire les fichier il faut passer l'option -xf, pour plus d'informations consultez la man ou info.
La commande : gzip
gzip est un logiciel de compression et de décompression de données, il utilise l'algorithme Lempel-Ziv coding (LZ77), pour décompresser un fichier passez l'option -d sinon pour le compresser passez l'option -c, pour plus d'information regardez man ou info.
La commande : bzip2
gzip est un logiciel de compression et de décompression de données, il utilise l'algorithme Hffman, pour décompresser un fichier passez l'option -d sinon pour le compresser passez l'option -c, pour plus d'information regardez man ou info.
La commande : xxd
Convertit en représentation hexadécimale, sans option convertie en représentation hexadécimale sinon avec -r faire le contraire pour plus d'information voir man et info.
La commande : mkdir
mkdir est une commande pour la création des répertoires sous linux ou unix.
man ou info pour plus d'informations.
La commande : cp
cp est une commande pour copier des fichiers sous linux ou unix.
man ou info pour plus d'informations.
La commande : mv
mv est une commande pour déplacer des fichiers sous linux ou unix.
man ou info pour plus d'informations.
La commande : nc
nc est une commande qui permet d'établir une connections ou de l'écouter qu'elle soit en TCP ou en UDP, par exemple pour vous connecter il faut taper la commande 'nc 127.0.0.1 2200', ici on se connecte au localhost au port 2200, pour faire une écoute il faut faire -l en argument.
Pour plus d'information pour vous pouvez consulter man et info.
La commande : openssl
Outils qui permet de faire des manipulations sur les protocoles réseau chiffrés, par exemple pour se connecter à une connexion ssl, il faut taper la commande openssl s_client -connect 127.0.0.0:2000, ici on se met en mode client et on demande une connections à localhost et sur le port 2000.
Pour plus d'information vous pouvez consulter man, info ou d'autre informations.
La commande : nmap
nmap est un scanner, il permet de scanner une ranger de port sur une adresse donnée, par exemple 'nmap -A 127.0.0.1 -p2000-3000', vas scanner le localhost de l'adresse 2000 à 3000 il vous dira si un port est ouvert ou non avec des informations supplémentaires.
Pour plus d'informations vous pouvez consulter man et info.
La commande : more
more est commande qui permet de faire défiler une sortie écran par écran ou ligne par ligne, il même possible avec la touche v de démarrer un éditeur vi.
Pour plus d'informations vous pouvez consulter man et info.
fichier mémento
Pour vous souvenir des principales commandes sous linux, je vous met à disposition un fichier pdf mémento.