Don't Learn to Hack but Hack to Learn ***** Apprendre l'attaque pour mieux se défendre

jeudi 23 août 2012

Linux-1




Commande de base linix:
 

Si les récentes distributions de Linux permettent de faire abstraction de la saisie d’instructions texte en offrant des environnements graphiques attrayants, il est inenvisageable pour un professionnel de Linux de ne pas connaître le fonctionnement de l’interpréteur de commandes et des principales commandes qui lui sont associées.

Le but de ce titre est de documenter quelques commandes de base Linux que je trouve utiles. Il est important de noter que la syntaxe Linux de quelque commande (peu) se diffère d'une distribution à une autre.
J'utilise Débian si ma syntaxe peut être légèrement différente de la vôtre si vous utilisez une autre distribution. 

pour obtenir le help: 
man <commande>
man ls 
ou
commande -h
ou
commande  --help


 Pour afficher l'utilisateur actuellement connecté :

whoami

Pour
Lister les fichiers d'un répertoire:

ls

-l : affichage détaillé (long)
-a : affichage aussi des fichiers cachés dont le nom commence par un point (all)
-i : affichage des numéros d'inodes (inode)
-d : affichage du nom du répertoire et non de son contenu (directory)
-t : trie l'affichage suivant la date de modification des fichiers (time)
-r : inverse le tri d'affichage (reverse)
-R : affichage du contenu de tous les sous répertoires (recursive)


Pour la liste de tous les répertoires dans un autre dossier utilisez la syntaxe suivante:

ls -l  / home / Ali /

Pour accéder à un répertoire:
cd  nom_répertoire

Ou le chemin d'accès comme par exemple:

cd   / etc / apache2

Pour
Se déplacer dans les répertoires:

cd ..

ou

cd ../..

 Pour accéder directement au répertoire racine /:

cd  /

Pour accéder directement à votre répertoire personnel:

cd  #



Creer un répertoire ou plusieurs répertoires:
mkdir <répertoire ...>
mkdir rep1, rep2, rep3


Supprime les répertoires:
rmdir <répertoire ...>
rmdir rep1, rep2


Dans quel répertoire suis-je actuellement:
pwd


Copie (CoPy) les fichiers source vers destination.
cp <source ...> <destination>
cp linuxtest /home (copie le fichier linuxtest dans le répartoire home

-i : demande confirmation avant écrasement (interactive)
-f : écrase sans demander confirmation (force)
-R ou -r : copie aussi les répertoires (recursive)
 Attention : sans l'option -R (ou -r), la commande cp ne pourra pas copier les répertoires 



copier un fichier avec la commande scp


La commande scp permet de copier un fichier ou un répertoire (-r) du client vers  le serveur ou du serveur vers le client. Le chemin du serveur peut être indiqué en absolu (/home/ali/Repertoire par exemple) ou relatif à partir du répertoire  de base Repertoire.Il est impératif que SSH soit installé sur les deux machines. 



Copie d'un fichier d'une machine1 vers une autre machine2:
scp Login1@machine1:Chemin1/NomFichier1 Login2@machine1:Chemin2


Copie d'un fichier depuis le répertoire courant vers un répertoire du serveur:
scp Fichier login@serveur:Chemin


Copie d'un répertoire, avec éventuellement ses sous-répertoires, vers un répertoire du serveur:
scp -r Repertoire login@serveur:Chemin


exp: scp /home/fct.txt root@192.168.10.5:/home/mohamed


Renomme/déplace (MoVe) les fichiers source vers destination.
mv <source ...> <destination>
mv linux1 linux2
renomme le fichier "linux1" en "linux2"

-i : demande confirmation avant écrasement (interactive)
-f : écrase sans demander confirmation (force)
Créer un ou plusieurs fichiers:
touch <fichier ...>
touch fc1, fc2



Supprime (ReMove) les fichiers passés en arguments.
rm <fichier ...>

rm -Rf nom_répertoire Pour supprimer tous les fichiers et répertoires et sous-répertoires (sans avertissement)

-i : demande confirmation avant suppression (interactive)
-f : supprime sans demander confirmation (force)
-R : supprime aussi les répertoires (recursive)

Recherche d'un fichier:
find <chemin(s)> <critère(s)> <action(s)>
find . -name "fic*" -print

la liste de tous les fichiers depuis l’emplacement courant et commençant par
« fic » est affichée.

- les principaux critères (critère(s)) sont :
  -name '<motif>'
  -size <[+|-]taille>
  -mtime <[+|-]date>
  -user <nom|UID>
  -newer <fichier référence>
- les principales actions (action(s)) sont :
  -print
  -ls
Rechercher une chaîne de caractères dans un fichier:
 grep [Options] modèle [Fichier1...]
exp: grep -i "ab" fic4



-v effectue la recherche inverse : toutes les lignes ne correspondant pas aux critères sont affichées.
-c ne retourne que le nombre de lignes trouvées sans les afficher.
-i ne différencie pas les majuscules et les minuscules.
-n indique le numéro de ligne pour chaque ligne trouvée.
-l dans le cas de fichiers multiples, indique dans quel fichier la ligne a été trouvée.

Trie de ligne:
sort [options] [-k pos1[,pos2]] [fic1...]
exp: sort -k 1 liste trier par ordre alphabétique sur la première colonne.


Options:
-d Dictionnary sort (tri dictionnaire). Ne prend comme critère de tri que les lettres les
chiffres et les espaces.
-n Tri numérique, idéal pour les colonnes de chiffres.
-b Ignore les espaces en début de champ.
-f Pas de différences entre majuscules et minuscules (conversion en minuscules puis tri ).
-r Reverse, tri en ordre décroissant.
-tc Nouveau délimiteur de champ c.
Affiche le contenu des fichiers texte passés en arguments.


Afficher des colonne et et des champs  spécifiques dans un fichier
cut -cCOLONNE [nom_fichier ...]
cut -fliste [-ddélimiteur] [-s] [nom_fichier ...]


-c: ne retient sur chaque ligne que les caractères situés à une position donnée par liste. Par exemple, l'option
-c2 pour la colonne 2
-c1-50 ne garde que les 50 premiers caractères de chaque ligne.
une colonne est la position d'un caractère dans la ligne, le premier caractère est la colonne 1 et ainsi de suite
-f : ne retient qu'une liste de champs (séparés soit par des tabulations, soit par un délimiteur spécifié par l'option -d). Par exemple, l'option -f1,3-5 conduira la commande à ne garder que les champs numéros 1, 3, 4 et 5 de chaque ligne.

exp: cut -c1 /etc/passwd (affichera la première colonne du fichier passwd)
        cut -d: -f6 /etc/passwd  (affichera le 6eme champ du fichier /etc/passwd, dont le séparateur de champs                                    est le caractére double point (``:'').

cat <fichier ...>

exp cat fc ou  cat /etc/passwd

Une option utile de cat est -n qui permet de numéroter les lignes

more <fichier ...>
Affiche page par page le contenu des fichiers texte passés en arguments.
Retourne le type de fichier passé en argument
Affiche le nombre de lignes, de mots et de caractères (Word Count) contenus dans les fichiers
wc <fichier ...>
 passés en arguments.
-l : affiche uniquement le nombre de lignes (line)
-w : affiche uniquement le nombre de mots (word)
-c : affiche uniquement le nombre de caractères (character)
Archiver ou désarchiver:
(format tar)
tar czf monarchive.tar (pour archiver)
tar xzf monarchive.tar r (pour désarchiver)


x: (extract) permet d'extraire certains fichiers d'une archive (lorsque l'on ne spécifie pas les noms des fichiers que l'on souhaite extraire de l'archive, tar les extrait tous).
z: décompacte l'archive
f: extrait un fichier donné (ici le fichier est nom_du_fichier.tar.gz).
c: pour compresser
autre option:
v: est le mode "verbose"


ou (format tar.gz)
tar czf monarchive.tar.gz
tar xzf monarchive.tar.gz

ou (format bzip2)
tar cjf  monarchive.tar.bz2 ou tar cjf  monarchive.tbz
tar xjf  monarchive.tar.bz2


Une autre commande permet de connaître la liste des fichiers contenus dans un fichier .tar.gz ou tgz :
tar tvzf nom_du_fichier.tar.gz

Compresse le fichier au format GNU Zip:
gzip <fichier>


Décompresse le fichier fichier.gz qui est au format GNU Zip:
gunzip <fichier[.gz]>



Retourne le type de fichier passé en argument:
file <fichier>


Modifie les droits d'accès (CHange MODe) aux fichiers passés en arguments suivant le mode:
chmod <mode> <fichier ...>

chmod +x script1.py
chmod 777 script2.py


Liste les processus (programmes en cours d'exécution):
ps
-ef : affiche tous les processus avec des statistiques supplémentaires  
-aux : affiche tous les processus avec des statistiques supplémentaires
Liste les processus de façon arborescente:
pstree
Liste les processus de façon arborescente.
-p : affiche aussi les PID des processus
Envoi un signal au precessus:
kill <signal> <pid>

kill -9 <pid de processus> pour suprimer un processus
killall <nom de processus>


Affiche ou modifie la date système:
date

Affiche le calendrier:
cal [[mois] année]
cal 1987 


On peut combinuer entre les commande: 
exp: cat /etc/passwd | cut -d: -f1 | tee users | wc -l


     cut -d":" -f1,3 /etc/passwd | sort -n | uniq







Aucun commentaire:

Enregistrer un commentaire