(Dernière modification le 16 décembre 2011 à 11:39)

linuxCertaines commandes Linux sont très pratiques, voir indispensables.

Parce qu’il est impossible de retenir toutes les commandes, je vous propose à travers ce billet celles que j’utilise le plus souvent, ou qui sont tout simplement intéressantes et peu courantes. Voici mon mémo ou memento personnel, en libre accès.

Ce billet est régulièrement mis à jour, n’hésitez pas à revenir, les dernières commandes ajoutées sont en haut.

Comprendre et débuter avec IPTables

Tutoriel

Raccourcis clavier pour bash

Liste ici

Forcer la vitesse d’une carte réseau

Avec ethtool :

/usr/sbin/ethtool -s eth1 speed 100 duplex full autoneg off

Avec mii-tool :

/sbin/mii-tool -F 100baseTx-FD eth0

Entrées et sorties d’un script

Voir cette documentation

Connaître la version d’une distribution

lsb_release -rd

chkconfig et les run level

Debian Like (Ubuntu, etc.)

0 : Arrêt
1 : Mode maintenance
2 à 5 : Mode multi utilisateur complet avec serveur graphique si installé.
6 : Redémarrage

Attention : inittab a été remplacé par Upstart sous Ubuntu

RedHat Like (CentOS, Mandriva, etc.)

0 : Arrêt
1 : Mode maintenance
2 : Mode multiutilisateur (sans la couche réseau)
3 : Mode multiutilisateur (avec la couche réseau)
4 : Inutilisé
5 : Mode multiutilisateur avec serveur graphique
6 : Redémarrage

Plus d’infos : lien 1, lien 2

Pour lister les run level d’un service :

chkconfig --list nom_du_service

(Pensez à installer chkconfig via apt/yum si non installé)

Pour définir les run level d’un service :

chkconfig --level 23456 nom_du_service on

notice : remplacer « 23456″ par les run level souhaités

Connaître la version d’une distribution Debian

more /etc/debian_version

Tunnel SSH avec translation de port local (local forwarding)

ssh -L <port_local>:<hote_cible>:<port_destination> user@server -pXX

(xx = port ssh, à préciser si différent de 22)

Exemple :

ssh -L 9089:localhost:3389 xhark@109.238.2.200 -p443

Cela aura pour effet de rediriger toutes les requêtes arrivant sur le port 9089 de votre machine local vers le port 3389 de la machine distante. Dans cet exemple, il s’agit d’une connexion sur un serveur Windows ayant OpenSSH écoutant sur le port 443. Le but est de réaliser un tunnel SSH pour prendre le contrôle en bureau à distance (RDP) sur le port par défaut 3389.

Tunnel SSH avec translation de port dynamique (dynamic forwarding)

ssh -D <port_local> <utilisateur>@<hote_cible> -pXX

Exemple :

ssh -D 8080 xhark@109.238.2.200 -p443

Dans cet exemple nous ouvrons un tunnel dynamique qui permettra de surfer à travers le tunnel SSH via un proxy de type Socks.

Afficher l’historique des connexions SSH

last | more

Terminer une session shell (logout en terminal)

combinaison des touches : ctrl+D

Archive .tar

Extraire (dans le dossier courant) :

tar xvf archive.tar

Archive .tar.gz

Compresser :

tar zcvf archive.tar.gz mon_rep/

z : compresser en utilisant gzip
c : creation
v : bavard (liste les fichiers à l’écran)
f : fichier
Extraire :

tar zxvf archive.tar.gz

A lire également et CCM

Décompresser un BZ2 :

tar xjvf archive.tar.bz2

Compresser en ZIP

zip -r nom_du_fichier.zip repertoire_ou_fichier

r : récursif

Décompresser une archive ZIP

unzip nom_du_fichier.zip -d dossier_de_destination

Droits (chmod)

Tableau de correspondance binaire,logique et décimal :

Binaire --- Logique --- Décimal
000 -------- (---) ------- 0
001 -------- (--x) ------- 1
010 -------- (-w-) ------- 2
011 -------- (-wx) ------- 3
100 -------- (r--) ------- 4
101 -------- (r-x) ------- 5
110 -------- (rw-) ------- 6
111 -------- (rwx) ------- 7

Plus d’infos sur le chmod chez Linux-France

Pour tout ce qui concerne SUID, GUID et le Sticky Bit voir ici.

Arbre des processus

ps axjf

Résume les commandes linux importantes :

info coreutils

Documentation rapide sur une commande :

whatis ma_commande

Rechercher un fichier avec locate

locate monfichier

Pour mettre à jour votre base de recherche :

updatedb

Rechercher un fichier avec find

find /chemin -iname 'monfichier'

Exemple :

find / -iname '*.conf'

Localiser une commande

whereis ma_commande

Lister tous fichiers du répertoire courant

ls -all

Afficher le répertoire courant

pwd

Lister seulement les adresses IP des interfaces réseau

ifconfig | grep 'inet'

Lister les processus

ps aux | grep 'nom du processus recherché'

 

pstree

Réaliser et compresser un dump mysql (GZ)

mysqldump -u utilisateur base_mysql | gzip > /repertoire/de/destination/mondump.gz

Plus d’infos ici

Accéder à un partage Windows / Samba

mkdir /mnt/windows
mount -t cifs //adresseip/monpartage /mnt/windows -o user=utilisateur,pass=motdepasse

Envoyer un email en bash

Sans pièce jointe :

 echo -e "Corps du mail\nCeci est un retour a la ligne" | mail -s "Sujet du mail" votre@email.tld

Avec un fichier en lieu et place du corps du mail (ici aussi) :

mail -s "Le sujet de mon message" votre@email.tld < piece_jointe.ext

Pièce jointe avec un echo + mutt :

echo -e "Corps du mail\nCeci est un retour a la ligne" | mutt "votre@email.tld"  -b "destinataire-en-copie@email.tld" -s "Sujet du mail" -a piece_jointe.ext

ou avec mutt + pièce jointe (sans echo) :

mutt -s "Sujet du mail"  -a  piecejointe  < "Contenu du mail"

Mémo de scripts shell / bash

Introduction aux scripts bash

Initiation à bash

Ecriture de scripts bash

Utiliser Bash

Test Constructs

Les filtres (grep, cut, tr, sed)

Script de backup de sites web

Informations relatives au système (matériel)

Je vous recommande de prendre connaissance de cette page.

Autres commandes à garder sous le coude

Voir chez CrouCrou

Toutes les commandes ?

Par ailleurs, si vous recherchez toutes les commandes fondamentales :

Sans bien sûr parler commandes dites « de base » : reboot, ping, nslookup, etc.

Systèmes AIX

Voir le mémo chez System-Linux.eu

Afficher le répertoire courant

pwd

Auteur : Mr Xhark

Fondateur du blog et passionné par les technologies je partage mes découvertes quotidiennement.