Archiver et décompresser des fichiers avec Kali Linux
La commande tar
Syntaxe :
tar c[vf] [ fic_sortie] [fichier...]
tar x[vf] [ fic_entree] [fichier...]
tar t[vf] [ fic_entree] [fichier...]
Description :
La commande tar archive et restaure les fichiers entrés sur la ligne de commande. ATTENTION, si une archive a été créée avec des chemins absolus, il n’est pas possible de la restaurer ailleurs qu’à son emplacement d’origine.
Options courantes
c création d’un fichier d’archive x extraction de fichiers d’une archive t listage du contenu d’une archive v mode bavard f précise le fichier d’archive à utiliser
Exemple :
root@kali:~# tar cvf /dev/fd0 *
a fic1 1 tape block
a rep1 1 tape block
a rep1/fic11 1tape block
$ tar tvf archive
-rw-r--r--102/100 52 Dec 4 11:26 2013 fic1
drw-r--r--102/100 34 Jul 8 11:26 2013 rep1
-rw-rw-rw-102/100 36 Nov 30 09:07 2013 rep1/fic11
root@kali:~# tar xvf / dev/streamer
x fic1, 52 bytes, 1 tape block
x rep1, 34 bytes, 1 tape block
x rep1/fic11, 36 bytes, 1 tape block
La commande gzip
Syntaxe :
gzip [ -acdfhlLnNrtvV19 ] [-S suffixe] [ nom ... ]
gunzip [ -acfhlLnNrtvV ] [-S suffixe] [ nom ... ]
zcat [ -fhLV ] [ nom ... ]
Description :
gzip réduit la taille des fichiers nommés en utilisant le codage Lempel-Ziv (LZ77). Quand c’est possible, chaque fichier est remplacé par un autre fichier portant l’extension .gz, tout en conservant les mêmes modes de permissions, et les mêmes dates de derniers accès et modification. L’extension par défaut est -gz pour VMS, z pour MSDOS, FAT OS/2, FAT Windows NT et Atari. Si aucun fichier n’est spécifié, ou si un nom de fichier est « – », l’entrée standard est compactée sur la sortie standard.
gzip n’essaiera de compacter que les fichiers réguliers. En particulier, il ignorera les liens symboliques.
Si le nom du fichier compacté est trop long pour son système de fichiers, gzip le tronque. gzip essaie de ne tronquer que les parties du nom du fichier plus longues que 3 caractères. (Une partie est délimitée par des points.) Si le nom n’est constitué que de petites parties, les plus longues d’entre elles seront tronquées. Par exemple, si les noms de fichiers sont limités à 14 caractères, gzip.
msdos.exe sera compacté en gzi.msd.exe.gz. Les noms ne sont pas tronqués sur les systèmes qui ne comportent pas de limites portant sur la longueur des noms de fichiers.
Par défaut, gzip conserve le nom du fichier original et son horodate dans le fichier compacté. Ceux-ci sont utilisés durant le compactage du fichier avec l’option -N. C’est utile quand le nom du fichier compacté a été tronqué ou lorsque l’horodate n’a pas été préservée après un transfert de fichier.
Les fichiers compactés peuvent être restaurés dans leur forme originale en utilisant gzip -d ou gunzip ou bien encore zcat. Si le nom original sauvegardé dans le fichier compacté ne convient pas à son système de fichiers, un nouveau nom est construit à partir de l’original pour le rendre conforme.
gunzip reçoit une liste de fichiers sur la ligne de commandes et remplace chaque fichier dont le nom se termine par .gz, -gz, .z, -z, _z or .Z, et qui commence par le nombre magique correct, par un fichier décompacté sans l’extension originale. gunzip
reconnaît également les extensions spéciales .tgz et .taz comme des raccourcis pour .tar.gz et .tar.Z respectivement. Lors du compactage, gzip utilise l’extension .tgz si nécessaire au lieu de tronquer un fichier possédant une extension .tar.
gunzip peut actuellement décompacter les fichiers créés avec gzip, zip, compress, compress -H ou pack. La détection du format d’entrée est automatique. Quand il utilise les deux premiers formats, gunzip vérifie un CRC 32 bits. Pour pack, gunzip
vérifie la longueur du fichier décompacté. Le format compress standard n’a pas été prévu pour permettre des contrôles de cohérence. Néanmoins, gunzip est quelquefois capable de détecter un fichier .Z défectueux. Si vous obtenez une erreur lors du décompactage d’un fichier .Z, ne supposez pas que le fichier .Z est correct uniquement parce que l’uncompress standard ne se plaint pas. Cela signifie en général que l’uncompress standard ne vérifie pas son entrée, et génère béatement une sortie « dégradée » sans s’en offusquer. Le format -H du compress SCO (méthode de réduction LZH) n’inclut pas de CRC mais permet tout de même quelques tests de cohérence.
Les fichiers créés par zip ne peuvent être décompactés par gzip que s’ils n’ont qu’un seul membre compacté avec la méthode de « dégonflement » (déflation). Cette fonctionnalité n’est prévue que pour faciliter la conversion de fichiers .tar.zip vers le format .tar.gz. Pour extraire des fichiers zip contenant plusieurs membres, utilisez unzip au lieu de gunzip.
zcat est identique à gunzip -c. (Sur certains systèmes, zcat peut être installé en tant que gzcat pour préserver le lien original vers compress.) zcat décompacte soit une liste de fichiers obtenue à partir de la ligne de commandes, soit son entrée standard, et écrit les données décompactées sur la sortie standard. zcat décompactera les fichiers ayant le nombre magique correct qu’ils possèdent le suffixe .gz ou non.
gzip utilise l’algorithme de Lempel-Ziv utilisé par zip et PKZIP. Le taux de compression obtenu dépend de la taille de l’entrée, et de la distribution des sous-chaînes de caractères communes. Typiquement, des fichiers textes du type code source en anglais seront réduits à hauteur de 60-70 %. La réduction est en général nettement meilleure que celle obtenue par LZW (utilisé parcompress), le codage de Huffman (utilisé dans pack), ou le codage de Huffman adaptatif (compact).
Le compactage est toujours effectué, même si le fichier compacté est légèrement plus grand que l’original. L’expansion dans le pire des cas est de quelques octets pour l’en-tête du fichier gzip, plus 5 octets tous les blocs de 32 Ko, ou une expansion de 0,015 % pour les grands fichiers. Notez que le nombre réel de blocs de disque utilisés n’augmente presque jamais. gzipp réserve les modes, permissions et horodates des fichiers qu’il compacte ou décompacte.
Options courantes
-a –ascii
Mode texte ascii ; convertit les fins de lignes en utilisant les conventions locales. Cette option n’est supportée que sur certains systèmes non Unix. Pour MSDOS, CR LF est converti en LF lors du compactage, et LF est converti en CR LF lors du décompactage.
-c –stdout –to-stdout
Écrire la sortie sur la sortie standard ; garder les fichiers
originaux inchangés. S’il y plusieurs fichiers d’entrée, la sortie
consiste en une séquence de membres compactés indépendamment. Pour
obtenir un meilleur taux de compression, concaténez tous les fichiers
d’entrée avant de les compacter.
-d –decompress –uncompress
Décompacter.
-f –force
Forcer le compactage ou le décompactage même si le fichier possède plusieurs liens matériels, ou si le fichier correspondant existe déjà, ou encore si les données compactées sont lues ou écrites à partir d’un terminal. Si les données d’entrée ne sont pas dans un format reconnu par gzip, et si l’option –stdout est fournie, copier les données en entrée sans modification sur la sortie standard : laisser zcat se comporter comme cat. Si -f n’est pas fourni, et s’il ne tourne pas en arrière-plan, gzip
interroge l’utilisateur pour vérifier si un fichier existant doit être écrasé ou non.
-h –help
Afficher un écran d’aide et se terminer.-l –list
Pour chaque fichier compacté, afficher les champs suivants :
-L –license
Afficher la licence d’utilisation de gzip et se terminer
.-n –no-name
Lors du compactage, ne pas sauvegarder les noms et horodates des fichiers originaux par défaut (le nom original est toujours sauvegardé si le nom du fichier a dû être tronqué). Lors du décompactage, ne pas restaurer le nom du fichier original s’il est présent (ne supprimer que le suffixe gzip du nom du fichier compacté), et ne pas restaurer l’horodate originale si elle est présente (prendre celle du fichier compacté). Cette option est activée par défaut lors du décompactage
.-N –name
Lors du compactage, toujours sauvegarder les noms et horodates des
fichiers originaux ; c’est le comportement par défaut. Lors du
décompactage, restaurer le nom du fichier original et son horodate s’ils
sont présents. Cette option est utile sur les systèmes ayant une limite
sur la longueur des noms de fichiers ou lorsque l’horodate a été perdue à
l’occasion d’un transfert de fichier.
-q –quiet
Supprimer tous les avertissements.
-r –recursive
Parcourir la structure du répertoire récursivement. Si l’un des noms de fichiers spécifiés sur la ligne de commandes est un répertoire, gzip descendra dans ce répertoire et compactera tous les fichiers qu’il y trouve (ou les décompactera dans le cas de gunzip)
.-S .suf –suffix .suf
Utiliser le suffixe .suf au lieu de .gz. N’importe quel suffixe peut être donné, mais les suffixes différents de .z et .gz devraient être évités pour éviter une confusion lors du transfert de fichiers sur d’autres systèmes. Un suffixe vide force gunzip à essayer de décompacter tous les fichiers donnés quel que soit leur suffixe, comme dans
gunzip -S « » * (*.* pour MSDOS)
Des versions précédentes de gzip utilisaient le suffixe .z. Ceci a été changé pour éviter un conflit avec pack.
-t –test
Tester. Vérifier l’intégrité du fichier compacté.
-v –verbose
Mode bavard. Afficher le nom et le pourcentage de réduction pour chaque fichier compacté ou décompacté.
-V –version
Version. Afficher le numéro de version et les options de compilation puis se terminer.
-# –fast –best
Réguler la vitesse de compactage en utilisant le chiffre # spécifié, où -1 ou
–fast
indique la méthode de réduction la plus rapide (la moins bonne réduction), et -9 ou –best indique la méthode de réduction la plus lente (la meilleure réduction). Le niveau de réduction par défaut est -6 (c.-à-d. biaisé en faveur d’une forte réduction aux dépens de la vitesse d’exécution.
Exemple :
root@kali:~# gzip fichier.txt
root@kali:~# gzip -d fichier.gz
Commandes d'administration
Souvent quand une personne veut débuter sur la distribution elle n’est pas toujours très bien accueillis à cause de son manque de connaissances. Je pense personnellement d’une manière plus singulière sur le sujet car je pense que les nuls d'aujourd’hui seront les experts de demain.
La réponse fréquente apporter sur les forums au débutant et qu’ils sont trop nuls pour utiliser Kali Linux. Cette réponse va plus frustrer le demandeur que l’éduquer avec la distribution. Si vous êtes assez débutant avec Linux ce parti est fait pour vous car elle va vous apprendre quelque commande de base du terminal.
La commande id
Syntaxe :
id [utilisateur]
Description :
La commande id affiche des informations concernant le numéro d’utilisateur (UID) ainsi que sur les groupes d’appartenance (GID). Si utilisateur est omis, id affiche les informations concernant l’utilisateur courant.
Options courantes
utilisateur nom d’un utilisateur connu du système
Exemple :
root@kali:~# id
root@kali:~# id root
La commande ps
Syntaxe :
ps [-xf] [-t liste] [-u liste]
Description :
La commande ps affiche l’état des processus; si aucune option n’est donnée, ce sont les processus de la session active qui sont affichés.
Options courantes
-x affiche tous les processus du système -f affiche les information au format long -t liste affiche les processus liés aux terminaux de la liste -u liste affiche les processus liés aux utilisateurs de la liste
Exemple :
root@kali:~# ps -x
root@kali:~# ps -ef | head -5
root@kali:~# ps -u root
La commande passwd
Syntaxe :
passwd [utilisateur]
Description :
La commande passwd permet à l’utilisateur de modifier son mot de passe. Si vous êtes root, il vous est alors possible de modifier le mot de passe des autres utilisateurs.
Options courantes
utilisateur nom d’un utilisateur du système
Exemple :
root@kali:~# passwd
Password:
New password:
Re-enter new password:
La commande kill
Syntaxe :
kill [-sig] num_process
Description :
Le signal par défaut de kill est TERM.
Les options -l et -L listent les signaux disponibles. Les signaux particulièrement utiles incluent HUP, INT, KILL, STOP, CONT et 0.
D’autres signaux peuvent être indiqués de 3 façons : -9 -SIGKILL -KILL.
Une valeur de PID négative peut être utilisée pour sélectionner des groupes de processus tout entier ; lisez la colonne PGID de la sortie de la commande ps.
Un PID de valeur -1 est particulier : il indique tous les processus excepté les processus kill et init.
Options courantes
PID […] Envoyer un signal à tous les PID indiqués.
-signal -s signal –signal signal Indiquer le signal à envoyer. Le signal peut être indiqué en utilisant un nom ou un nombre. Le comportement du signal est expliqué dans la page de manuel signal(7).
-l, –list [signal] Afficher les noms de signaux. Cette option a un paramètre facul‐ tatif, qui sera converti en nom de signal s’il s’agit d’un numéro de signal, et vice versa.
-L, –table Afficher les noms de signaux en un tableau bien présenté.
Exemple :
root@kali:~# ps -x
root@kali:~# kill -9 6665
Remarque :
Le numéro du processus (PID) peut être déterminé avec la commande ps La commande kill ne vous permettant pas de tuer les tâches des autres utilisateurs (seul le compte root peut le faire).
La commande who
Syntaxe :
who am i
who
Description :
La commande who affiche les utilisateurs connectés au système. Elle permet aussi de vous informer sur votre connexion.
Options courantes
am i ‘qui suis-je’ en français; information sur votre connexion
Exemple :
root@kali:~# who root
root@kali:~# who am i
Remarque :
ATTENTION, si vous avez utilisé la commande su, who ne vous donnera que les informations de votre connexion initiale.
La commande su
Syntaxe :
su - [utilisateur]
Description :
La commande su permet de changer en cours de session l’utilisateur courant. Par défaut, si utilisateur n’est pas précisé, su essaie de vous connecter root
Options courantes
su charge le profil de l’utilisateur (variables, …) utilisateur nom d’un utilisateur connu du système
Exemple :
root@kali:~# su
Password:
root@kali:~# su administrateur
Password:
La commande which
Syntaxe :
which [commande]
Description :
which retourne le chemin des fichiers qui seraient exécutés dans l’environnement courant si ses arguments avaient été donnés comme com‐ mandes dans un interpréteur de commandes strictement conforme à POSIX. Pour ce faire, which cherche dans la variable PATH les fichiers exécu‐ tables correspondants aux noms des arguments. which ne déréférence pas les liens symboliques. En clair cette commende est très pratique pour trouver le répertoire d’un programme en shell comme un HackTool
Options courantes
commande commande telle que vous la tapez au clavier
Exemple :
root@kali:~# which ls /usr/bin/ls
root@kali:~# which hydra /usr/bin/hydra
Gestion et manipulation de fichiers
Commande cp
Syntaxe :
cp [-i] [-p] fichier1 fichier2cp [-i] [-p] [-r] source1 [source2...] répertoire
Description :
La commande cp copie le contenu de fichier1 dans fichier2 ; ou bien elle copie source1 et source2 (etc…) dans répertoire.
Options courantes
-i mode interactif, demande la confirmation avant écrasement.-p conserve les dates du fichier source.-r copie récursive de répertoires.
Exemple :
root@kali:~# mkdir rep1
root@kali:~# cp -r rep1 rep2
Remarque :
Pour pouvoir copier un fichier/répertoire, vous devez avoir les droits suivants :
droits de lecture du fichier à copier ;
droits d’exécution sur le répertoire contenant le fichier à copier ;
droits d’écriture sur le répertoire de destination
commande mv
Syntaxe :
mv [-f] [-i] source1 [source2...] destination
Description :
La commande mv déplace les fichiers fichier1, fichier2 etc… dans destination.Si destination est un fichier, alors mv a pour action de renommer fichier1 en destination ; si destination est un répertoire, alors mv déplace fichier1 dans ce répertoire.
Options courantes
-i mode interactif, demande la confirmation avant écrasement.-f force la commande.
Exemple :
root@kali:~# touch fic1
root@kali:~# mv fic1 fic2
Remarque :
Pour pouvoir copier un fichier/répertoire, le répertoire cible doit avoir les droits en écriture positionnés, les droits en lecture sur le fichier source, et les droits d’accès dans le répertoire source.
commande rm
Syntaxe :
rm [-f] [-i] [-r] fichier1 [fichier2...]
Description :
La commande rm supprime les fichiers spécifiés sur la ligne de commande. Si vous n’avez pas les droits d’écriture sur fichier1 , alors rm vous demandera de confirmer votre action ; la réponse oui (y) détruira quand même le fichier (sous réserve d’avoir les droits d’écriture sur le répertoire).
Options courantes
-i mode interactif, demande la confirmation avant chaquesuppression.-f force la commande (aucune confirmation).-r récursif (détruit tous les sous répertoires. ATTENTION)
Exemple :
root@kali:~# rm fic1
root@kali:~# rm -i fic*
root@kali:~# rm: File fic1. Remove ( yes/no)? y
Remarque :
Pour pouvoir supprimer un fichier, le répertoire où se trouve le fichier doit avoir es droits en écriture positionnés ; sauf dans le cas où le répertoire aurait les roit suivants :
commande cat
Syntaxe :
cat [fichier...]
Description :
La commande cat visualise et/ou concatène les fichiers spécifiés sur la ligne de commande.Par défaut, cat lit sur l’entrée standard et affiche le résultat sur la sortie standard.
Options courantes :
-A, –show-all : Équivalent à -vET.
-b, –number-nonblank : Numéroter en sortie les lignes non blanches.-eÉquivalent à -vE.
-E, –show-ends : Afficher un « $ » à la fin de chaque ligne.
-n, –number : Numéroter toues les lignes en sortie.
-s, –squeeze-blank : Remplacer les lignes blanches consécutives par une seule ligne blanche.
-t : Équivalent à -vT.-T, –show-tabs : Afficher le caractère TAB (tabulation) ainsi : « ^I ».-u (ignorée).
-v, –show-nonprinting : Utiliser les notations « ^ » et « M- », sauf pour les caractères fin de ligne et tabulation.
–help : Afficher le message d’aide et terminer normalement.
–version : Afficher le numéro de version et terminer normalement.
Exemple :
root@kali:~# nano villes
Sarrebourg
Douai
Couvron
Phalsbourg
Appuyer sur Ctrl+X et O puis valider par Entrée
root@kali:~# cat villes
Sarrebourg
Douai
Couvron
Phalsbourg
root@kali:~# nano pays
France
Belgique
Italie
Appuyer sur Ctrl+X et O puis valider par Entrée
root@kali:~# cat villes pays
Sarrebourg
Douai
Couvron
Phalsbourg
France
Belgique
Italie
commande pg
Syntaxe :
pg [+numlig] [+/chaîne/] [fichier...]
Description :
La commande pg affiche à l’écran les fichiers spécifiés sur la ligne de commande.
Par défaut, pg lit sur l’entrée standard ce qui permet de l’associer à un pipe.
Options courantes
+numlig spécifie le numéro de ligne où doit commencer l’affichage+/chaîne/ commence l’affichage à la première ligne du fichier contenant chaine
Exemple :
root@kali:~# pg villes
Sarrebourg
Douai
Couvron
Phalsbourg
(EOF):
root@kali:~# pg +2 villes
Couvron
Phalsbourg
(EOF):
root@kali:~# cat villes pays| pg +/Couvron/
Couvron
Phalsbourg
France
Belgique
Italie
(EOF):
commande chmod
Syntaxe :
chmod [-R] mode nom [...]chmod [-R] [ ugoa]{+|-|=}[ rwx] nom [...]
Description :
La commande chmod change les droit d’accès aux fichiers spécifiés sur la ligne de commande. Deux manières d’attribuer les droits sont possibles. La première stipule les droits de manière numérique par un calcul des différentes valeurs associées aux droits; la seconde permet de spécifier ces mêmes droits de manière plus symbolique.
Options courantes
-R récursif sur tous les fichiers et sous-répertoires contenus si nom est un répertoire mode c’est la combinaison des droits numériques (voir Remarques) ugoa caractère spécifiant le champ d’application des modifications :
u représente l’utilisateur,
g le groupe,
o les autres,
a regroupe tous ces derniers.
+|-|= indique l’action à accomplir respectivement l’ajout du droit, son retrait, ou bien son affectation. rwx indique le droit proprement dit (r lecture, w écriture, x exécution).
Commande chown et chgrp
Syntaxe :
chown [-R] [-h] utilisateur nom [...]
chgrp [-R] [-h] groupe nom [...]
Description :
La commande chown change le propriétaire des fichiers spécifiés sur laligne de commande. La commande chgrp change le groupe des fichiers spécifiés sur la ligne de commande.
Options courantes
-R récursif sur tous les fichiers et sous-répertoires contenus
Exemple :
root@kali:~# chown root villes
root@kali:~# chown 102 villes
root@kali:~# chgrp news villes
Remarque :
Seul le propriétaire des fichiers traités ou root ont le droit d’utiliser chown et chgrp.
Exercice :
Attribuer à votre répertoire rep1 les droits suivants: rwxrwxr-x
chmod 775 rep1
Commande find
Syntaxe :
find répertoire option1 [option2...]
Description :
La commande find permet de rechercher un fichier dans l’arborescence à partir du point spécifié.
Options courantes:
-name fich recherche sur le nom fich-size n recherche sur la taille en blocs-ctime n recherche sur la date de création-exec cmd {} ; exécute la commande cmd sur les fichiers trouvés-print affiche le résultat de la recherche! négation du critère de recherche
Exemple :
root@kali:~# find $HOME -name "vil*" -print
Exercice :
Rechercher à partir de /home tous les fichiers contenants au moins un chiffre dans leur nom et les afficher.
NB : les erreurs seront enregistrées dans le fichier ERR_find.
root@kali:~# find /home -name "*[0-9]*" -print > ERR_find
commande grep
Syntaxe :
grep [-ilsfv] expression [fichier…]
Description :
La commande grep permet de rechercher expression dans fichier. Elle affiche les noms de fichiers ainsi que les lignes contenant expression.
Options courantes
-i ne tient pas compte des minuscules et des MAJUSCULES-l n’affiche que le nom des fichiers (pas les lignes)-s pas de message d’erreur sur les fichiers inaccessibles-f fich spécifie un fichier contenant les expressions à rechercher-v affiche toutes les lignes, sauf celles qui contiennent l’expression expression chaîne de caractères (ou expression régulière non abordée dans ce cours)
fichier nom des fichiers à traiter
Exemple :
root@kali:~# grep Sarrebourg villes : Sarrebourg
root@kali:~# grep -l Sarrebourg * villes
commande head et tail
Syntaxe :
head [-n] [fichier...]tail [-n|+n] [-f] [fichier]
Description :
La commande head affiche les n premières lignes d’un fichier, alors que tail affiche les dernières lignes d’un fichier. Si n n’est pas précisé, il prend la valeur 10.
Options courantes
-n nombre de lignes à afficher depuis le début/la finde fichier+n affichage à partir de la ligne numéro n-f attente de nouvelles lignes (sortie par Ctrl-c) fichier nom des fichiers à traiter
Exemple :
root@kali:~# head -2 villes
Sarrebourg
Douai
root@kali:~# tail -2 villes
Couvron
Phalsbourg
root@kali:~# tail +2 villes
Douai
Couvron
Phalsbourg
commande ln
Syntaxe :
ln [-s] fichier1 fichier2ln [-s] fichier1 [fichier2...] répertoire
Description :
La commande ln permet de créer des entrées multiples dans l’arborescence d’un système de fichiers pour un même fichier physique.
Ce qui revient à dire que si l’on modifie un fichier, ses liens le sont aussi.
ln permet aussi de faire des liens dans des systèmes de fichiers différents par la méthode des liens symboliques (un peu comme les raccourcis de chez MS).
Si le dernier argument de la ligne de commande est un répertoire, ln crée des liens dans ce répertoire pour tous les fichiers pré-cités (fichier1,fichier2, …).
Option :
-s permet de faire un lien symbolique
Exemple:
root@kali:~# ln villes villes
5
root@kali:~# ls villes*
root@kali:~# ln -s villes villes
10
root@kali:~# ls villes*
Remarque :
Les liens peuvent aussi concerner des répertoires (dans ce cas, ce seront toujours des liens symboliques).
commande sort
Syntaxe :
sort [-ufnr] [-o fic] [fichier...]
Description :
La commande sort trie les lignes des fichiers en arguments et affiche le résultat à l’écran.Par défaut sort effectue un tri par ordre alphabétique; mais les optionssuivantes en modifient les critères.
Options courantes
-u permet de n’afficher qu’une seule fois les lignes multiples-f ne différencie pas les minuscules et MAJUSCULES-n effectue un tri numérique-r ordre décroissant-o fic enregistre la sortie dans fic
Exemple :
root@kali:~# sort villes
Couvron
Douai
Phalsbourg
Sarrebourg
root@kali:~# sort -r villes
Sarrebourg
Phalsbourg
Douai
Couvron
Exercice :
Créer un fichier ‘mat’ contenant les lignes suivantes :
disquette
clavier
souris
ecran
disquette
ecran
claviers
root@kali:~# cat mat
disquette
clavier
souris
ecran
disquette
ecran
claviers
Créer un fichier ‘tri’ contenant un seul exemplaire des lignes de ‘mat’ triées dans l’ordre alphabétique inverse.
root@kali:~# sort -ur -o tri mat
commande wc
Syntaxe :
wc [-lwc] [fichier...]
Description :
La commande wc compte le nombre de lignes, mots, ou caractères d’un fichier texte
Si aucun fichier n’est passé en paramètre, c’est l’entrée standard qui sera lue. Si aucune option (-lwc) n’est précisée, alors wc compte le nombre de lignes, mots, et caractères du fichier.
Options courantes
-l précise que c’est le nombre de lignes qui doit être compté-w précise que c’est le nombre de mots qui doit être compté-c précise que c’est le nombre de caractères qui doit être compté
Exercice :
Compter le nombre d’erreurs de la recherche find
root@kali:~# wc -l ERR_find
Compter le nombre de fichiers présents dans votre répertoire.
root@kali:~# ls | wc -l
Gestion et déplacement à l'aide de commande
Commande ls
Syntaxe :
ls [options] [noms]
Description :
ls liste les répertoires et les fichiers précisés dans noms. Par défaut, la sortie est envoyée à l’écran par ordre alphabétique. Les options déterminent les informations à afficher et la présentation de l’affichage. Sans options, ls n’envoie que le nom des fichiers. Si un noms n’est pas précisé, c’est le répertoire courant qui est listé.
Options courantes:
-R Traitement récursif -a Tous les fichiers (y compris ceux qui commencent par un point) -d Affiche le nom des répertoires sans leur contenu -l Format long (avec beaucoup de détails) nom est le nom d’un fichier ou d’un répertoire (avec ou sans métacaractères)
Remarques :
Au niveau du propriétaire, du groupe, et des autres, il est possible de déterminer un certain nombre de droits :
La lecture (R) : pour un fichier, ce droit permet la lecture du fichier; alors que pour un répertoire, il autorise l’utilisateur à lister son contenu.
L’écriture : pour un fichier, il permet sa modification; alors que pour un répertoire, il permet la création et la suppression des fichiers du répertoire (ATTENTION : cette permission est valable quels que soient les droits des fichiers).
L’exécution (X) : pour un fichier, il autorise son exécution; et pour un répertoire, il permet de se positionner dessous
Commande cd
Syntaxe :
cd [répertoire]
Description :
La commande cd permet de changer le répertoire de travail. Si répertoire n’est pas précisé, alors le nouveau répertoire de travail sera le répertoire de connexion ($HOME).
Option :
répertoire représente le futur répertoire de travail.
Exemple :
root@kali:~# cd /usr/lib/
root@kali:~# cd $HOME/
Remarque :
La commande cd, comme toutes les commandes utilisant des répertoires, permet de spécifier deux types de chemins :
· les chemins relatifs : ils sont relatifs au répertoire de travail, et utilisent notamment le répertoire ‘..’ (répertoire père).
Exemple : cd ../rep1
les chemins absolus : ils faut spécifier toute l’arborescence depuis la racine.
Exemple : cd /home/rep1
Exercice :
Aller dans le répertoire home en utilisant les chemins absolus.
cd /home
Retourner dans votre répertoire de connexion.
cd ../NomUtilisateur
Commande pwd
Syntaxe :
pwd
Description :
La commande pwd permet d’afficher le répertoire de travail.
Option :
La commande pwd n’accepte pas d’option
Exemple :
root@kali:~# cd /usr/lib/
root@kali:~# pwd
/usr/lib/
root@kali:~# cd ..
root@kali:~# pwd
/usr
root@kali:~# cd bin
root@kali:~# pwd
/usr/bin
Commande mkdir
Syntaxe :
mkdir [-p] nouveau_répertoire
Description :
La commande mkdir créé le répertoire spécifié sur la ligne de commande (nouveau_répertoire ). Si l’un des répertoires intermédiaires n’existe pas, la commande retourne un code d’erreur (exit status) sans créer le répertoire (sauf si l’option -p est spécifiée).
Options courantes
-p permet de créer tous les répertoires intermédiaires qui n’existeraient pas. répertoire représente le nom du répertoire à créer. C’est un argument obligatoire
Exemple :
root@kali:~# mkdir /tmp/rep1
root@kali:~# cd /tmp/rep1
root@kali:~# mkdir rep11/rep111
mkdir: Cannot create directory » rep11/rep111″: No such file or directory
root@kali:~# mkdir -p rep11/rep111
Remarque :
Pour pouvoir créer un répertoire, le répertoire d’origine doit avoir les droits en écriture positionnés.
Exercice :
De retour sous votre répertoire de connexion, supprimer le répertoire ‘rep3’
Après être retourné sous votre répertoire de connexion, créer les répertoires ‘rep1’ et ‘rep3’.
root@kali:~# cd
root@kali:~# mkdir rep1 rep3
Aller sous le répertoire de connexion de votre voisin et créer le répertoire ‘rep2’
root@kali:~# cd ../root | mkdir rep2
Commande rmdir
Syntaxe :
rmdir [-p] [-s] répertoire
Description :
La commande rmdir supprime le répertoire spécifié sur la ligne de commande (répertoire ). Si il existe des fichiers ou des sous répertoires, la commande retournera un code d’erreur ( exit status).
Options courantes
-p permet de détruire tous les sous-répertoires vides. -s mode silencieux (aucun affichage). .
Exemple :
root@kali:~# rmdir /tmp/rep1/rep11/rep111
root@kali:~# cd /tmp
root@kali:~# rmdir -p rep1/rep11
rmdir: rep1/rep11: Whole path removed.
root@kali:~# cd rep1
rep1: does not exist
root@kali:~# ls
Remarque :
Pour pouvoir supprimer un répertoire, le répertoire père doit avoir les droits en écriture positionnés. Voir aussi la commande rm -r pour supprimer des répertoires contenants des fichiers.
Exercice :
De retour sous votre répertoire de connexion, supprimer le répertoire ‘rep3’.
root@kali:~# cd
root@kali:~# rmdir rep3
Essayer de supprimer le répertoire ‘rep1’ de votre voisin.
root@kali:~# rmdir ../root/rep1
Erreur due au manque de droits sur le répertoire ../ root même si les droits de rep1 vous permettent d’y ajouter des fichiers ( ls -l)