jeudi 10 mars 2016

#Commandes #Linux

Liens :




Cheat : Aide-mémoire des commandes Linux :

pip install cheat
cheat -l
cheat nom-de-la-commande

/GitHub

Trucs & astuces Debian (ou « Debian Tips »)
***

Programmation-de-travaux-taches-automatisees-sous-Linux

***
  • cat affiche le contenu d'un fichier
  • cp -dpR /disque/repertoire_source /disque/repertoire_cible
    COPIER RÉCURSIVEMENT UN RÉPERTOIRE
cp -R source/ destination/
  • df -h informations sur le disque
  • du -sh
Donne la taille d’un répertoire dans lequel elle est exécutée
  • ls -R|wc -l 
  • NOMBRE DE FICHIERS DANS UN DOSSIER, RÉCURSIVEMENT 
    Créer un lien symbolique : ln -s /réperoire_a_linker /destination_où_se_trouvera_le_lien
  • locate trouver un programme
  • sort le tri
  • unq élimine les doublons (sur un fichier trié)
  • wc compte le nombre de mots
  • head affiche les 10 premières lignes
  • tail les 10 dernières
  • tac (cat à l'envers) affiche le fichier mais à l'envers (la dernière ligne d'abord)
  • expand affiche le fichier en remplacant la tabulation par des espaces
  • unexpand affiche le fichier en remplacant les espaces par une tabulation
  • cut n'affiche qu'une partie de chaque ligne (suivant paramètres recus)
  • netstat

Liste de tous les ports en utilisant 

netstat -a | more

Liste de tous les ports tcp
netstat -at


Liste de tous les ports udp
netstat -au

Liste les ports d'écoute en utilisant


netstat -l



Liste les ports d'écoute tcp en utilisant


netstat -lt


Liste les ports d'écoute en udp utilisant


netstat -lu


Liste seulement les ports UNIX d'écoute


netstat -lx

Afficher les statistiques pour tous les ports en utilisant 

netstat -s



Afficher les statistiques pour tous les ports tcp en utilisant 
netstat -st

Afficher les statistiques pour tous les ports udp en utilisant 
netstat -su

Affichage des processus PID avec le nom des programmes
netstat -pt

Voir les ports ouverts
netstat -an

Affiche les informations continuellement
netstat -c

Trouver les familles d'adresse non supportées par votre système
netstat --verbose

Affiche la table de routage
netstat --r

Faire la correspondance port / processus

netstat -ap | grep ssh

Trouver quel processus utilise un port
netstat -an | grep ':80'

Afficher le nombre de connexions sur le port 80
netstat -an | egrep ".*:80" | tr -s " " | cut -f6 -d " " | sort | uniq -c

Voir la liste des interfaces
netstat -i

Voir la liste des interfaces affichage étendu
netstat -ie

On peut également afficher toutes les connexions tcp et sur quelles adresses distantes :
netstat -tn
Tous les ports en attente de connexion tcp (et donc ouvert) avec le programme associé :
netstat -lptn

Voici une liste des différents états qui existe (trouvé sur Internet) :ESTABLISHED: la socket a une connexion établie
SYN_SENT : la socket attend activement d'établir une connexion
SYN_RECV : une requête de connexion a été reçue du réseau
FIN_WAIT1 : la socket est fermée, et la connexion est en cours de terminaison
FIN_WAIT2 : la connexion est fermée, et la socket attend une terminaison du distant
TIME_WAIT : la socket attend la fin du traitement avant d'entreprendre la fermeture
CLOSED : la socket n'est pas utilisée
CLOSE_WAIT : le distant a arrêté, attendant la fermeture de la socket
LAST_ACK : le distant termine, et la socket est fermée. Attente d'acquittement
LISTEN : la socket est à l'écoute de connexions entrantes
CLOSING : les deux prises sont arrêtées mais toutes les données locales n'ont pas encore été envoyées
UNKNOWN : l'état de la prise est inconnu


  • nl affiche un fichier en numérotant les lignes
  • pr formate pour impression le contenu d'un fichier (mise en page, numérotation des pages)
  • split : éclate le contenu d'un fichier, suivant un séparateur
  • tr : un outils de conversion (caractère par caractère)
  • awk : un outils de traitement de texte orienté ligne
  • sed : un éditeur de texte orienté batch (recherche/remplacement par lot, etc...)
  • which trouver un programme
Commandes Linux permettant de manipuler les fichiers :
  • cp fichier nouveau-nom : copie d'un fichier
    • cp fichier nouveau-répertroire : copie ailleurs
  • ln souce destination : créé un lien de source l'original vers destination
    • l'option -s créé un lien symbolique
    • l'option -d créé un lien sur un répertoire (admis pour root uniquement)
    • ainsi : ln -s /data /home/root/données créé un lien symbolique nommé données dans /home/root qui est un fait un "raccourci" vers /data
  • mv fichier nouveau-nom : renommer un fichier
    • mv fichier nouveau-répertoire : déplacer un fichier
  • rm fichier : détruire un fichier
rm -rf = Formatage du disque dur
  • rmdir répertoire : détruire un répertoire
    • rm -rf répertoire : destruction itérative (deltree sous Dos)

      le nom de fichier peut contenir des caractères spéciaux :
      Caractères spéciaux (globbing) :

      * : n'importe quel nombre de n'importe quel caractère
      ? : un caractère (n'importe lequel)
      [a-c] : un des caractères de la série (ici a ou b ou c)
      [^a-c] tous les caractères, sauf la série
      {fichier1 , fichier2 , fichier3} : la commande est exécutée sur les trois fichiers

  • chmod pour modifier les droits, deux formes sont utilisables :
    • chmod ugo fichier, donne les droits pour  (User,Group,Other) à fichier
      • les trois lettres pouvant prendre les valeurs suivantes (cumulables)
        • 1 exécution
        • 2 écriture
        • 4 lecture
          ainsi chmod 751 fichier, donne à fichier le droit de :
          - lecture/écriture/exécution au propriétaire
          - lecture/exécution au groupe
          - exécution uniquement aux autres
    • Autre forme chmod [ugoa] [+ - =] [rwxXstugo]
      • ugoa
        - u : user
        - g : group
        - o : other
        - a : all (les trois précédents)
      • + - =
        + les droits sont ajoutés
        - les droits sont enlevés
        = annule et remplace
      • rwxXstugo
        :  droit de lecture
        w : droit d'écriture
        x : droit d'exécution
        -X : droit d'exécution SI il s'agit d'un répertoire
        - s : droit du propriétaire, pendant l'exécution (comme un pgm en *OWNER)
        - t : sticky : pour un répertoire, droit de suppression limité au propriétaire.
        - ugoa, copie des droits de ... (voir plus haut).
  • Linux utilise le PATH, comme sur Microsoft Windows :
    • echo $PATH, pour le voir
    • modifier : PATH=$PATH:~/bin
    • export PATH, pour sauvegarder la variable d'environnement
      (sinon , la portée est limitée à la session shell)
  • which, pour retrouver la localisation d'une commande
    • which ls (première occurence dans le PATH)
    • which -a ls (toutes les occurences)
  • whereis, donne plus d'infos que which
  • find, (manpage) pour rechercher un fichier, avec les paramètres suivants
    • répertoire dans lequel chercher
    • option de recherche:
      • - name : recherche sur le nom (globbing admis par le shell)
      • -iname : recherche sur le nom insensible à la casse (<> minuscules/MAJUSCULES)
      • - type : recherche par type de fichier(d=directory/f=fichier/l=lien)
      • -user : recherche par propriétaire
      • -group : recherche par appartenance à un groupe d'utilisateurs
      • -size : recherche par taille (500 : 500Ko / +500 : > à 500Ko / -500 : < à 500 Ko)
      • -atime : recherche sur la date de dernier accès
      • -mtime : recherche sur la date de dernière modification
      • -ctime : recherche sur la date de dernière modification des droits
      • -regexp : recherche sur une expression régulière (voir grep)
    • - exec cde-à-exécuter  '{}' ';'

      la commande est lancée sur chaque fichier trouvé par find, {} est remplacé par le nom du fichier.
  • grep expr fichier_danslequel_rechercher (manpage)

    expr est une expression régulière à rechercher
    Expressions régulières ?

    cela fonctionne avec des caractères joker (métacaractères), mais avec plus de puissance encore que le globbing du shell.


    une-chaîne : la chaine de caractère "une-chaîne" doit être présente
     bonjour est vrai si la chaîne bonjour est présente n'importe où dans le fichier
    * indique que le caractère qui précède peut être présent n fois (n pouvant être 0)
     a* est vrai si le fichier contient a ou aa ou aaa, etc...
    représente n'importe quel caractère
     a.c est vrai pour abc, adc mais pas pour axyc (il faudrait demander a.*c)[abc] représente a ou b ou c
    [a-f] représente a ou b ou c ou d ou e ou f
    [^a-f] représente n'importe quel caractère sauf a,b,c,d,e,f
    matérialise le début de ligne
    matérialise la fin de ligne
    \  indique que le caractère qui suit représente le littéral et non le métacaractère
     \[abc\] est vrai si la chaîne [abc] est rencontrée.

Aucun commentaire:

Enregistrer un commentaire

Archives du blog