Saviez-vous qu'il existe littéralement des centaines de commandes Linux? La chose intéressante est que la plupart des gens n'ont besoin d'utiliser qu'un très petit sous-ensemble de ces commandes. Vous trouverez ci-dessous une liste de commandes Linux qui décompose certaines des commandes les plus couramment utilisées par catégorie.
Informations système
# Afficher les informations du système Linux.
uname -a
# Afficher les informations du Kernel.
uname -r
# Afficher la version de Redhat qui est installé.
cat /etc/redhat-release
# Afficher depuis combien de temps le système fonctionne ainsi que la charge.
uptime
# Afficher le nom d'hôte.
hostname
# Afficher l'historique des redémarrages.
last reboot
# Afficher la date et l'heure courante.
date
# Afficher le calendrier du mois.
cal
Informations matérielles
# Afficher les messages kernel.
dmesg
# Afficher les informations du CPU.
cat /proc/cpuinfo
# Afficher les informations mémoires.
cat /proc/meminfo
# Afficher les périphériques PCI.
lspci -tv
# Afficher les périphériques USB.
lsusb -tv
# Afficher DMI / SMBIOS (informations matérielles) à partir du BIOS.
dmidecode
# Afficher les informations du disque sda.
hdparm -i /dev/sda
# Effectuer un test de vitesse de lecture sur le disque sda.
hdparm -tT /dev/sda
Moniteur d'activité et statistiques
# Afficher et gérez les processus.
top
# Alternative à top.
htop
# Afficher les statistiques liées au processeur.
mpstat 1
# Afficher les statistiques de mémoire virtuelle.
vmstat 1
# Afficher les statistiques d'entrée/sortie (IO).
iostat 1
# Afficher les 100 derniers messages syslog (utilisez /var/log/syslog pour les systèmes basés sur Debian.).
tail 100 /var/log/messages
# Capturer et afficher tous les paquets sur l'interface eth0.
tcpdump -i eth0
# Surveillez tout le trafic sur le port 80 (HTTP).
tcpdump -i eth0 'port 80'
# Liste tous les fichiers ouverts sur le système.
lsof
# Liste des fichiers ouverts par l'utilisateur.
lsof -u user
# Afficher la mémoire libre et utilisée.
free -h
# Exécutez "df -h", affichant des mises à jour périodiques.
watch df -h
Gestion est information d'utilisateur
# Afficher les identifiants d'utilisateur et de groupe de votre utilisateur actuel.
id
# Affiche les derniers utilisateurs qui se sont connectés au système.
last
# Montre qui est connecté au système.
who
# Montrez qui est connecté et ce qu'il fait.
w
# Créez un groupe nommé "test".
groupadd test
# Créez un compte nommé john, avec un commentaire de "John Smith" et créez le répertoire personnel de l'utilisateur.
useradd -c "John Smith" -m john
# Supprimez le compte John.
userdel john
# Ajouter le compte John au groupe de vente.
usermod -aG vente john
Commande sur les fichiers et dossiers.
# Lister tous les fichiers dans un format de liste longue (détaillée).
ls -al
# Afficher le répertoire de travail actuel.
pwd
# Créer un répertoire.
mkdir directory
# Supprimer le fichier.
rm file
# Supprimer le répertoire et son contenu récursivement.
rm -r directory
# Forcer la suppression du fichier sans demander de confirmation.
rm -f file
# Supprimer le répertoire de manière récursive.
rm -rf directory
# Copier le fichier (fichier1 à fichier2).
cp fichier1 fichier2
# Copiez récursivement source_directory vers la destination. Si la destination existe, copiez source_directory dans destination, sinon créez destination avec le contenu de source_directory.
cp -r source_directory destination
# Renommez ou déplacez le fichier (fichier1 vers fichier2). Si fichier2 est un répertoire existant, déplacez fichier1 dans le répertoire fichier2.
mv file1 file2
# Créer un lien symbolique vers le nom du lien.
ln -s /path/to/file nomdulien
# Créez un fichier vide ou mettez à jour les heures d'accès et de modification du fichier.
touch file
# Afficher le contenu du fichier.
cat file
# Parcourez un fichier texte.
less file
# Afficher les 10 premières lignes de fichier.
head file
# Afficher les 10 dernières lignes de fichier.
tail file
# Afficher les 10 dernières lignes du fichier et "suivre" le fichier à mesure qu'il change.
tail -f file
Gestion des processus
# Afficher vos processus en cours d'exécution.
ps
# Affiche tous les processus en cours d'exécution sur le système.
ps -ef
# Afficher les informations de processus pour le nom de processus.
ps -ef | grep processname
# Terminer un processus avec le ID du pid.
kill pid
# Terminer les processus ayant le nom processname.
killall processname
# Démarrer le programme en arrière-plan.
program &
# Afficher les programmes arrêtés ou en arrière-plan.
bg
# Mets le programme en arrière-plan le plus récent au premier plan.
fg
# Mets le programme n au premier plan.
fg n
Permissions
# Exemple de chmod Linux
PERMISSION EXEMPLE
U G W
rwx rwx rwx chmod 777 filename
rwx rwx r-x chmod 775 filename
rwx r-x r-x chmod 755 filename
rw- rw- r-- chmod 664 filename
rw- r-- r-- chmod 644 filename
LEGEND
U = User
G = Group
W = World
r = Read
w = write
x = execute
- = no access
Réseautique
# Afficher toutes les interfaces réseau et l'adresse IP.
ifconfig -a
# Afficher l'adresse et les détails de eth0.
ifconfig eth0
# Recherchez ou contrôlez les paramètres du pilote réseau et du matériel.
ethtool eth0
# Envoyer la requête echo ICMP à l'hôte.
ping host
# Afficher les informations whois pour le domaine.
whois domain
# Afficher les informations DNS pour le domaine.
dig domain
# Recherche inversée de IP_ADDRESS.
dig -x IP_ADDRESS
# Afficher l'adresse IP DNS pour le domaine.
host domain
# Télécharger le fichier http://domain.com/file
wget http://domain.com/file
# Affichage des ports d'écoute tcp et udp et des programmes correspondants.
netstat -nutlp
# Voir le nombre de connexions par adresse IP
sudo netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Archivage (Fichier tar)
# Créer un fichier archive.tar contenant le répertoire directory.
tar cf archive.tar directory
# Extraire le contenu du fichier archive.tar
tar xf archive.tar
# Créer un fichier tar compressé avec gzip archive.tar.gz.
tar czf archive.tar.gz directory
# Extraire un fichier tar compressé avec gzip.
tar xzf archive.tar.gz
# Créer un fichier tar compressé avec bzip2 archive.tar.gz.
tar cjf archive.tar.bz2 directory
# Extraire un fichier tar compressé avec bzip2.
tar xjf archive.tar.bz2
Recherche
# Rechercher dans un fichier.
grep pattern file
# Rechercher récursivement dans le répertoire.
grep -r pattern directory
# Rechercher des fichiers et des répertoires par nom.
locate name
# Trouvez les fichiers dans /home/john qui commencent par "prefix".
find /home/john -name 'prefix*'
# Rechercher des fichiers de plus de 100 Mo dans / home.
find /home -size +100M
Utilisation du disque
# Afficher l'espace libre et utilisé sur les systèmes de fichiers montés.
df -h
# Afficher les inodes libres et utilisés sur les systèmes de fichiers montés.
df -i
# Afficher les tailles et types de partitions de disques.
fdisk -l
# Afficher l'utilisation totale du disque hors du répertoire actuel
du -sh
Navigation
# Pour remonter d'un niveau dans l'arborescence des répertoires. (Passez dans le répertoire parent.)
cd ..
# Accédez au répertoire $HOME
cd
# Accédez au répertoire /etc
cd /etc
Tâches céduler
# Voir les tâches de l'utilisateur courant.
crontab -l
# Modifier les tâches de l'utilisateur courant.
crontab -e
# Modifier les tâches d'un autre utilisateur.
sudo crontab -e -u USERNAME
# Voir les tâches de tout les utilisateurs.
sudo getent passwd | cut -d: -f1 | perl -e'while(<>){chomp;$l = `crontab -u $_ -l 2>/dev/null`;print "$_\n$l\n" if $l}'
Conculsion
Linux offres plusieurs commandes, certaine commande nécessite l'installation de certain "package" et sont disponible ou on une variante selon la distribution.