
Mémo – Ligne de commande Linux 🐧
Cet article a pour but tout d’abord de me servir comme mémo et de vous apprendre quelques lignes de commandes Linux qui pourraient vous être utiles 😀. Pour plus d’informations, consulter le « man » de chaque commande.
Information Système |
|
Commande | Description |
# arch | affiche l’architecture de la machine(1) |
# cal 2007 | affiche le calendrier de 2007 |
# cat /proc/cpuinfo | affiche les informations CPU |
# cat /proc/interrupts | affiche les interruptions |
# cat /proc/meminfo | affiche la mémoire utilisée |
# cat /proc/swaps | affiche le(s) fichier(s) swap |
# cat /proc/version | affiche la version du kernel |
# cat /proc/net/dev | affiche les périphériques réseau et leurs statistiques |
# cat /proc/mounts | affiche le(s) système(s) de fichiers monté(s) |
# clock -w | sauvegarde la date et la change dans le BIOS |
# date | affiche la date système |
# date 041217002007.00 | fixe la date et l’heure – moisjourheuresminutesannée.secondes |
# dmidecode -q | affiche les composants hardware – (SMBIOS / DMI) |
# hdparm -i /dev/hda | affiche les caractéristiques du disque dur |
# hdparm -tT /dev/sda | lance un test de lecture sur le disque dur |
# lspci -tv | affiche les périphériques PCI |
# lsusb -tv | affiche les périphériques USB |
# uname -m | affiche l’architecture de la machine (2) |
# uname -r | affiche la version du kernel |
Arrêt, Redémarrage et Déconnexion du système |
|
Commande | Description |
# init 0 | arrêter le système (2) |
# logout | libérer la session |
# reboot | redémarrer (2) |
# shutdown -h now | redémarrer maintenant |
# shutdown -h 16:30 & | planifier l’arrêt du système à 16h30 |
# shutdown -c | annuler la planification d’un arrêt du système |
# shutdown -r now | redémarrer maintenant (1) |
# telinit 0 | arrêter le système (3) |
Fichiers et Répertoires |
|
Commande | Description |
# cd /home | entrer dans le répertoire ‘/home’ |
# cd .. | descendre d’un niveau dans l’arborescence |
# cd ../.. | descendre de deux niveaux dans l’arborescence |
# cd | aller dans le répertoire home |
# cd ~user1 | entrer de le répertoire home de l’utilisateur user1 |
# cd – | aller dans le répertoire précédent |
# cp file1 file2 | copier le file1 en file2 |
# cp dir/* . | copier tous les fichiers d’un répertoire dans le répertoire de travail en cours |
# cp -a /tmp/dir1 . | copier un répertoire dans le répertoire de travail en cours |
# cp -a dir1 dir2 | copier le répertoire dir1 en un autre dir2 |
# cp file file1 | extrait le type mime du fichier file comme texte |
# iconv -l | liste les encodages connus |
# iconv -f fromEncoding -t toEncoding inputFile > outputFile | crée un nouveau fichier par ce qui donné par le fichier d’entrée en supposant qu’il est encodé en fromEncoding et le converti à toEncoding |
# find . -maxdepth 1 -name *.jpg -print -exec convert | traitement qui redimensionne des fichiers dans le répertoire courant et les envoie dans un répertoire thumbnails (requière convert de Imagemagick) |
# ln -s file1 lnk1 | crée un lien symbolique à un fichier ou répertoire |
# ln file1 lnk1 | crée un lien physique à un fichier ou répertoire |
# ls | visualise les fichiers d’un répertoire |
# ls -F | visualise les fichiers d’un répertoire |
# ls -l | affiche les détails des fichiers et des répertoires |
# ls -a | affiche les fichiers cachés |
# ls *[0-9]* | affiche les fichiers et les répertoires qui contiennent des nombres |
# lstree | affiche les fichiers et les répertoires dans une arborescence qui commence par la racine (2) |
# mkdir dir1 | crée un répertoire appelé ‘dir1’ |
# mkdir dir1 dir2 | crée deux répertoires simultanément |
# mkdir -p /tmp/dir1/dir2 | crée un répertoire en arborescence |
# mv dir1 new_dir | renomme / déplace un fichier ou un répertoire |
# pwd | affiche le chemin du répertoire courant |
# rm -f file1 | supprime le fichier nommé ‘file1’ |
# rm -rf dir1 | supprime le répertoire nommé ‘dir1’ et son contenu récursivement |
# rm -rf dir1 dir2 | supprime deux répertoires et leurs contenus récursivement |
# rmdir dir1 | supprime le répertoire appelé ‘dir1’ |
# touch -t 0712250000 file1 | modifie la date d’un fichier ou d’un répertoire (AAMMJJhhmm) |
# tree | affiche les fichiers et les répertoires dans une arborescence qui commence par la racine (1) |
Recherche de fichier |
|
Commande | Description |
# find / -name file1 | cherche un fichier ou un répertoire à l’intérieur du système depuis ‘/’ |
# find / -user user1 | cherche des fichiers ou des répertoires appartenant à ‘user1’ |
# find /home/user1 -name \*.bin | cherche des fichiers ou des répertoires avec l’extension ‘.bin’ à l’intérieur du répertoire ‘/home/user1’ |
# find /usr/bin -type f -atime +100 | cherche des fichiers binaires qui ne sont pas utilisés depuis plus de 100 jours |
# find /usr/bin -type f -mtime -10 | cherche des fichiers créés ou changés depuis 10 jours |
# find / -name *.rpm -exec chmod 755 ‘{}’ \; | cherche des fichiers avec l’extension ‘.rpm’ et modifie leurs permissions |
# find / -xdev -name \*.rpm | cherche des fichiers avec l’extension ‘.rpm’ en ignorant les partitions amovibles comme les cd-rom, clé, etc… |
# locate \*.ps | trouve des fichiers avec l’extension ‘.ps’ – en premier lancer la commande ‘updatedb’ |
# whereis halt | affiche l’emplacement des fichiers binaires, source ou man |
# which halt | affiche le chemin complet des binaires / exécutables |
Montage de système de fichiers |
|
Commande | Description |
# fuser -km /mnt/hda2 | force le démontage quand le périphérique est occupé |
# mount /dev/hda2 /mnt/hda2 | monte un disque nommé hda2 – vérifie l’existence du répertoire ‘/mnt/hda2’ |
# mount /dev/fd0 /mnt/floppy | monte un lecteur de disquettes |
# mount /dev/cdrom /mnt/cdrom | monte un cdrom / dvdrom |
# mount /dev/hdc /mnt/cdrecorder | monte un cdrw / dvdrom |
# mount /dev/hdb /mnt/cdrecorder | monte un cdrw / dvdrom |
# mount -o loop file.iso /mnt/cdrom | monte une image d’un fichier iso |
# mount -t vfat /dev/hda5 /mnt/hda5 | monte un système de fichiers Windows FAT32 |
# mount /dev/sda1 /mnt/usbdisk | monte une clé usb ou un lecteur mémoire flash |
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share | monte un partage réseau Windows |
# umount /dev/hda2 | démonte un disque appelé hda2 – d’abord sortie du point de montage ‘/mnt/hda2’ |
# umount -n /mnt/hda2 | lance le démontage sans l’écriture du fichier /etc/mtab – Utile quand le fichier est en lecture seule ou que le disque dur est plein |
Espace Disque |
|
Commande | Description |
# df -h | affiche la liste des partitions montées et leur espace libre |
# dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n | affiche l’espace utilisé par le paquets deb installés, triés par taille (debian, ubuntu, et autres) |
# du -sh dir1 | estime l’espace disque utilisé par le répertoire ‘dir1’ |
# du -sk * | sort -rn | affiche la taille des fichiers et des répertoires triés par taille |
# ls -lSr |more | affiche la taille des fichiers et des répertoires ordonnés par taille |
# rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n | affiche l’espace utilisé par les paquets rpm installés triés par taille (fedor, redhat, et identiques) |
Utilisateurs et Groupes |
|
Commande | Description |
# chage -E 2005-12-31 user1 | fixe une date limite du mot de passe de l’utilisateur ‘user1’ |
# groupadd [group] | crée un nouveau groupe |
# groupdel [group] | supprime un groupe |
# groupmod -n moon sun | renomme le groupe moon en groupe sun |
# grpck | teste la syntaxe correcte et le format du fichier ‘/etc/group’ et l’existence des groupes |
# newgrp – [group] | connexion à un nouveau groupe pour changer le groupe par défaut des fichiers récemment créés |
# passwd | change le mot de passe |
# passwd user1 | change le mot de passe d’un utilisateur ‘user1’ (seulement par root) |
# pwck | teste la syntaxe correcte et le format du fichier ‘/etc/passwd’ et l’existence des utilisateurs |
# useradd -c | crée un nouvel utilisateur « user1 » appartenant au groupe « admin » |
# useradd user1 | crée un nouvel utilisateur |
# userdel -r user1 | supprime un utilisateur (‘-r’ élimine son répertoire home) |
# usermod -c | change les attributs d’un utilisateur |
Permissions sur les Fichiers |
|
Commande | Description |
# chgrp group1 file1 | change le groupe du fichier ‘file1’ |
# chmod ugo+rwx directory1 | fixe sur le répertoire ‘directory1’ les permissions de lecture (r), écriture (w) et d’accès (x) aux utilisateurs propriétaires (u) groupe (g) et autres (o) |
# chmod go-rwx directory1 | enlève sur le répertoire ‘directory1’ les permissions de lecture (r), écriture (w) et d’accès (x) aux utilisateurs groupe (g) et autres (o) |
# chmod u+s /bin/file1 | fixe l’octet SUID sur un fichier binaire – l’utilisateur qui lance ce fichier prend les mêmes privilèges que le propriétaire |
# chmod u-s /bin/file1 | ôte l’octet SUID sur un fichier binaire |
# chmod g+s /home/public | fixe l’octet SGID sur un répertoire – similaire à un SUID mais pour un répertoire |
# chmod g-s /home/public | désactive l’octet SGID sur un répertoire |
# chmod o+t /home/public | fixe l’octet STIKY sur un répertoire – permet la suppression de fichiers seulement aux propriétaires légitimes |
# chmod o-t /home/public | désactive l’octet STIKY sur un répertoire |
# chown user1 file1 | change le propriétaire d’un ficher |
# chown -R user1 directory1 | change l’utilisateur propriétaire d’un répertoire et de tous les fichiers et répertoires qui y sont contenus |
# chown user1:group1 file1 | change l’utilisateur et le groupe de la propriété d’un fichier |
# find / -perm -u+s | voir tous les fichiers sur le système avec le SUID configuré |
# ls -lh | affiche les permissions des fichiers |
# ls /tmp | pr -T5 -W$COLUMNS | divise le terminal en 5 colonnes |
Attributs Spéciaux sur les Fichies |
|
Commande | Description |
# chattr +a file1 | permet d’ouvrir un fichier en écriture seulement en mode ajout |
# chattr +c file1 | permet que ce fichier soit compressé / décompressé automatiquement par le noyau |
# chattr +d file1 | assure que le programme ignore les fichiers Dump pendant la sauvegarde |
# chattr +i file1 | assure que le fichier est immuable, lequel ne peut être supprimé, altéré, renommé ou lié |
# chattr +s file1 | permet au fichier d’être supprimé en toute sécurité |
# chattr +S file1 | assure que si le fichier est modifié les changements sont écrits en mode asynchrone avec sync |
# chattr +u file1 | vous permet de récupérer les contenus d’un fichier même s’il a été supprimé |
# lsattr | affiche les attributs spéciaux |
Archives et fichiers compressés |
|
Commande | Description |
# bunzip2 file1.bz2 | décompresse un fichier nommé ‘file1.bz2’ |
# bzip2 file1 | compresse un fichier nommé ‘file1’ |
# gunzip file1.gz | décompresse un fichier nommé ‘file1.gz’ |
# gzip file1 | compresse un fichier nommé ‘file1’ |
# gzip -9 file1 | compresse avec un maximum de compression |
# rar a file1.rar test_file | crée une archive rar nommée ‘file1.rar du fichier test_file |
# rar a file1.rar file1 file2 dir1 | compresse ‘file1’, ‘file2’ et ‘dir1’ simultanément |
# rar x file1.rar | décompresse une archive rar |
# tar -cvf archive.tar file1 | crée un tarball non compressé |
# tar -cvf archive.tar file1 file2 dir1 | crée une archive contenant ‘file1’, ‘file2’ et ‘dir1’ |
# tar -tf archive.tar | affiche le contenu d’une archive |
# tar -xvf archive.tar | extrait un tarball |
# tar -xvf archive.tar -C /tmp | extrait un tarball dans /tmp |
# tar -cvfj archive.tar.bz2 dir1 | crée un tarball compressé dans bzip2 |
# tar -xvfj archive.tar.bz2 | décompresse une archive tar dans bzip2 |
# tar -cvfz archive.tar.gz dir1 | crée un tarball compressé dans gzip |
# tar -xvfz archive.tar.gz | décompresse une archive compressée tar dans gzip |
# unrar x file1.rar | décompresse une archive rar |
# unzip file1.zip | décompresse une archive zip |
# zip file1.zip file1 | crée une archive compressée en zip |
# zip -r file1.zip file1 file2 dir1 | compresse en zip plusieurs fichiers et répertoires simultanément |
Paquets RPM ( Fedora, Red Hat et autres) |
|
Commande | Description |
# rpm -ivh [package.rpm] | installe un paquet rpm |
# rpm -ivh –nodeeps [package.rpm] | installe un paquet rpm en ignorant les requêtes de dépendance |
# rpm -U [package.rpm] | met à jour un paquet rpm sans changer les fichiers de configuration |
# rpm -F [package.rpm] | met à jour un paquet rpm seulement s’il est déjà installé |
# rpm -e [package] | supprime un paquet rpm |
# rpm -qa | affiche tous les paquets rpm installés sur le système |
# rpm -qa | grep httpd | affiche tous les paquets avec le nom contenant « httpd » |
# rpm -qi [package] | obtient les informations d’un paquet spécifique installé |
# rpm -qg | affiche les paquets rpm d’un groupe de programme |
# rpm -ql [package] | affiche la liste des fichiers produits par un paquet installé |
# rpm -qc [package] | affiche la liste des fichiers de configuration produits par un paquet rpm installé |
# rpm -q [package] –whatrequires | affiche la liste des dépendances requises pour un paquet rpm |
# rpm -q [package] –whatprovides | affiche les possibilités fournies par un paquet rpm |
# rpm -q [package] –scripts | affiche les scripts lancés pendant l’installation et la suppression |
# rpm -q [package] –changelog | affiche l’historique des révisions d’un paquet rpm |
# rpm -qf /etc/httpd/conf/httpd.conf | vérifie à quel paquet rpm appartient un fichier donné |
# rpm -qp [package.rpm] -l | affiche la liste produite par un paquet rpm non installé |
# rpm –import /media/cdrom/RPM-GPG-KEY | importe la signature digitale clé-publique |
# rpm –checksig [package.rpm] | vérifie l’intégrité d’un paquet rpm |
# rpm -qa gpg-pubkey | vérifie l’intégrité de tous les paquets rpm installés |
# rpm -V [package] | teste la taille du fichier, les permissions, le type, le propriétaire, le groupe, la somme de contrôle MD5 et la dernière modification |
# rpm -Va | teste tous les paquets rpm installés sur le système – à utiliser avec précaution |
# rpm -Vp [package.rpm] | vérifie un paquet rpm non encore installé |
# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm] | installe un paquet construit à partir de la source du rpm |
# rpm2cpio [package.rpm] | cpio –extract –make-directories *bin* | extrait le fichier exécutable d’un paquet rpm |
# rpmbuild –rebuild [package.src.rpm] | construit un paquet rpm depuis la source rpm |
Utilitaire de paquets YUM (Fedora, RedHat et autres) |
|
Commande | Description |
# yum -y install [package] | télécharge et installe un paquet rpm |
# yum localinstall [package.rpm] | cela installera un RPM, et tentera de résoudre toutes les dépendance pour vous en utilisant votre dépôt |
# yum -y update | met à jour tous les paquets rpm installés sur le système |
# yum update [package] | met à jour un paquet rpm |
# yum remove [package] | enlève un paquet rpm |
# yum list | liste tous les paquets installés sur le système |
# yum search [package] | trouve le paquet sur le dépôt rpm |
# yum clean [package] | nettoie le cache rpm et supprimant les paquets téléchargés |
# yum clean headers | supprime toutes les entêtes des fichiers que le système utilise pour résoudre les dépendances |
# yum clean all | supprime le cache des paquets et les entêtes des fichiers |
Paquets DEB (Debian, Ubuntu et autres) |
|
Commande | Description |
# dpkg -i [package.deb] | installe / met à jour un paquet deb |
# dpkg -r [package] | supprime un paquet deb du système |
# dpkg -l | affiche tous les paquets deb installés sur le système |
# dpkg -l | grep httpd | affiche tous les paquets deb contenant le mot « httpd » |
# dpkg -s [package] | obtient l’information d’un paquet spécifique installé sur le système |
# dpkg -L [package] | affiche la liste des fichiers fournis par un paquet installé sur le système |
# dpkg –contents [package.deb] | affiche la liste des fichiers fournis par un paquet non encore installé |
# dpkg -S /bin/ping | vérifie à quel paquet appartient un fichier donné |
Utilitaire Paquets APT (Debian, Ubuntu et autres) |
|
Commande | Description |
# apt-cache search [package] | retourne la liste de paquets qui correspond à la chaîne de caractères « package » |
# apt-cdrom install [package] | installe / met à jour un paquet deb depuis un cd-rom |
# apt-get install [package] | installe / met à jour un paquet deb |
# apt-get update | met à jour la liste des paquets |
# apt-get upgrade | met à jour tous les paquets installés |
# apt-get remove [package] | supprime un paquet deb du système |
# apt-get check | vérifie que la résolution des dépendances soit correcte |
# apt-get clean | nettoie le cache des paquets téléchargés |
utilitaire Paquets Pacman (Arch, Frugalware et autres) |
|
Commande | Description |
# pacman -S name | installe le paquet ‘name’ avec ses dépendances |
# pacman -R name | supprime le paquet ‘name’ et tous les fichiers qui vont avec |
Voir le contenu d’un fichier |
|
Commande | Description |
# cat file1 | voit le contenu d’un fichier depuis la première ligne |
# head -2 file1 | voit les deux premières lignes d’un fichier |
# less file1 | similaire à la commande ‘more’ mais permet les mouvements avancer et reculer dans le fichier |
# more file1 | voit le contenu d’un fichier page par page |
# tac file1 | voit le contenu d’un fichier en commençant par la dernière ligne |
# tail -2 file1 | voit les deux dernières lignes d’un fichier |
# tail -f /var/log/messages | vue en temps réel de ce qui est ajouté au fichier |
Manipulation de Texte |
|
Commande | Description |
# cat example.txt | awk ‘NR%2==1’ | enlève toutes les lignes identiques de example.txt |
# echo a b c | awk ‘{print $1}’ | voit la première colonne d’une ligne |
# echo a b c | awk ‘{print $1,$3}’ | voit la première et la troisième colonne d’une ligne |
# cat -n file1 | dénombre les lignes d’un fichier |
# comm -1 file1 file2 | compare les contenus de deux fichiers par suppression des lignes uniques du ‘file1’ |
# comm -2 file1 file2 | compare les contenus de deux fichiers par suppression des lignes uniques du ‘file2’ |
# comm -3 file1 file2 | compare les contenus de deux fichiers par suppression des lignes uniques des deux fichiers |
# diff file1 file2 | trouve les différences entre deux fichiers |
# grep Aug /var/log/messages | cherche le mot « Aug » dans le fichier ‘/var/log/messages’ |
# grep ^Aug /var/log/messages | cherche les mots qui commencent par « Aug » dans le fichier ‘/var/log/messages’ |
# grep [0-9] /var/log/messages | sélectionne dans le fichier ‘/var/log/messages’ toutes les lignes qui contiennent des nombres |
# grep Aug -R /var/log/* | cherche la chaîne de caractères « Aug » dans le répertoire ‘/var/log’ et en dessous |
# paste file1 file2 | fusionne les contenus des deux fichiers en colonnes |
# paste -d ‘+’ file1 file2 | fusionne les contenus des deux fichiers en deux colonnes avec le délimiteur ‘+’ au centre |
# sdiff file1 file2 | trouve les différences entre deux fichiers et ajoute interactivement de façon semblable à « diff » |
# sed ‘s/string1/string2/g’ example.txt | remplace « string1 » par « string2 » dans example.txt |
# sed ‘/^$/d’ example.txt | enlève toutes les lignes vides dans example.txt |
# sed ‘/ *#/d; /^$/d’ example.txt | enlève les commentaires et les lignes vides dans example.txt |
# sed -e ‘1d’ exampe.txt | élimine la première ligne du fichier example.txt |
# sed -n ‘/string1/p’ | vue seulement des lignes qui contiennent le mot « string1 » |
# sed -e ‘s/ *$//’ example.txt | supprime les caractères vides à la fin de chaque ligne |
# sed -e ‘s/string1//g’ example.txt | supprime seulement le mot « string1 » du texte et laisse le reste intact |
# sed -n ‘1,5p’ example.txt | imprime de la première à la cinquième ligne du fichier example.txt |
# sed -n ‘5p;5q’ example.txt | imprime la ligne numéro 5 du fichier example.txt |
# sed -e ‘s/00*/0/g’ example.txt | remplace les séries de 0 par un seul zéro |
# sort file1 file2 | classe les contenus des deux fichiers |
# sort file1 file2 | uniq | classe les contenus des deux fichiers en omettant les lignes répétées |
# sort file1 file2 | uniq -u | classe les contenus des deux fichiers par la vue seulement de ligne unique |
# sort file1 file2 | uniq -d | classe les contenus des deux fichiers par la vue seulement de ligne dupliquée |
# echo ‘word’ | tr ‘[:lower:]’ ‘[:upper:]’ | convertit la casse minuscule en casse majuscule |
Fixer les caractères et Format de conversion de fichier |
|
Commande | Description |
# dos2unix filedos.txt fileunix.txt | convertit un fichier texte au format MSDOS au format UNIX |
# recode ..HTML < page.txt > page.html | convertit un fichier texte en html |
# recode -l | more | affiche tous les formats disponibles de conversion |
# unix2dos fileunix.txt filedos.txt | convertit un fichier texte au format UNIX au format MSDOS |
Analyse de système de fichiers |
|
Commande | Description |
# badblocks -v /dev/hda1 | teste les mauvais blocs sur le disque hda1 |
# dosfsck /dev/hda1 | répare / teste l’intégrité d’un système de fichiers dos sur le disque hda1 |
# e2fsck /dev/hda1 | répare / teste l’intégrité d’un système de fichiers ext2 sur le disque hda1 |
# e2fsck -j /dev/hda1 | répare / teste l’intégrité d’un système de fichiers ext3 sur le disque hda1 |
# fsck /dev/hda1 | répare / teste l’intégrité d’un système de fichiers linux sur le disque hda1 |
# fsck.ext2 /dev/hda1 | répare / teste l’intégrité d’un système de fichiers ext2 sur le disque hda1 |
# fsck.ext3 /dev/hda1 | répare / teste l’intégrité d’un système de fichiers ext3 sur le disque hda1 |
# fsck.vfat /dev/hda1 | répare / teste l’intégrité d’un système de fichiers fat sur le disque hda1 |
# fsck.msdos /dev/hda1 | répare / teste l’intégrité d’un système de fichiers dos sur le disque hda1 |
Formater un système de fichiers |
|
Commande | Description |
# fdformat -n /dev/fd0 | formate une disquette |
# mke2fs /dev/hda1 | crée un système de fichiers de type linux ext2 sur la partition hda1 |
# mke2fs -j /dev/hda1 | crée un système de fichiers de type linux ext3 (journal) sur la partition hda1 |
# mkfs /dev/hda1 | crée un système de fichiers de type linux sur la partition hda1 |
# mkfs -t vfat 32 -F /dev/hda1 | crée un système de fichiers FAT32 |
# mkswap /dev/hda3 | crée un système de fichiers swap |
Système de fichiers SWAP |
|
Commande | Description |
# mkswap /dev/hda3 | crée un système de fichiers swap |
# swapon /dev/hda3 | activation d’une nouvelle partition swap |
# swapon /dev/hda2 /dev/hdb3 | active deux partitions swap |
Sauvegarde |
|
Commande | Description |
# find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 | trouve tous les fichiers avec l’extension ‘.log’ et fabrique une archive en bzip |
# find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents | trouve et copie tous les fichiers avec l’extension ‘.txt’ d’un répertoire à un autre |
# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ | fabrique une sauvegarde d’un disque dur local sur un hôte distant via ssh |
# dd if=/dev/sda of=/tmp/file1 | sauvegarde le contenu d’un disque dur dans un fichier |
# dd if=/dev/hda of=/dev/fd0 bs=512 count=1 | crée une copie du MBR sur une disquette |
# dd if=/dev/fd0 of=/dev/hda bs=512 count=1 | restaure le MBR d’une copie de sauvegardée sur une disquette |
# dump -0aj -f /tmp/home0.bak /home | fabrique une sauvegarde complète du répertoire ‘/home’ |
# dump -1aj -f /tmp/home0.bak /home | fabrique une sauvegarde incrémentielle (différentielle) du répertoire ‘/home’ |
# restore -if /tmp/home0.bak | restaure une sauvegarde interactivement |
# rsync -rogpav –delete /home /tmp | synchronisation entre répertoires |
# rsync -rogpav -e ssh –delete /home ip_address:/tmp | synchronisation via un tunnel SSH |
# rsync -az -e ssh –delete ip_addr:/home/public /home/local | synchronise un répertoire local avec un répertoire distant via ssh et compression |
# rsync -az -e ssh –delete /home/local ip_addr:/home/public | synchronise un répertoire distant avec un répertoire local via ssh et compression |
# tar -Puf backup.tar /home/user | fabrique une sauvegarde incrémentielle du répertoire ‘/home/user’ |
# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ | copie le contenu d’un répertoire sur un répertoire distant via ssh |
# ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ | copie un répertoire local sur un répertoire distant via ssh |
# tar cf – . | (cd /tmp/backup ; tar xf – ) | copie locale en préservant les permissions et les liens d’un répertoire vers un autre |
CDROM |
|
Commande | Description |
# cd-paranoia -B | ripe les pistes audio d’un CD en fichiers wav |
# cd-paranoia — | ripe les trois premières pistes audio d’un CD en fichiers wav |
# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force | efface un cdrom ré-inscriptible |
# cdrecord -v dev=/dev/cdrom cd.iso | grave un cdrom à partir d’une image iso |
# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom – | grave un cdrom à partir d’une image iso compressée |
# cdrecord –scanbus | scanne le bus pour identifier le canal scsi |
# dd if=/dev/hdc | md5sum | fabrique une somme de contrôle md5sum d’un périphérique, comme un CD |
# mkisofs /dev/cdrom > cd.iso | crée une image iso d’un cdrom sur un disque |
# mkisofs /dev/cdrom | gzip > cd_iso.gz | crée une image iso compressée d’un cdrom sur un disque |
# mkisofs -J -allow-leading-dots -R -V | crée une image iso d’un répertoire |
# mount -o loop cd.iso /mnt/iso | monte une image iso |
Réseau (LAN / WiFi) |
|
Commande | Description |
# dhclient eth0 | active l’interface réseau ‘eth0’ en mode dhcp |
# ethtool eth0 | affiche les statistiques réseau de eth0 |
# host www.example.com | consulte le hostname pour résoudre le nom en adresse ip et vice versa |
# hostname | affiche le hostname du système |
# ifconfig eth0 | affiche la configuration Ethernet de la carte réseau eth0 |
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | configure l’adresse IP de eth0 |
# ifconfig eth0 promisc | configure ‘eth0’ en mode confus pour rassembler des paquets (sniffing) |
# ifdown eth0 | désactive l’interface ‘eth0’ |
# ifup eth0 | active l’interface ‘eth0’ |
# ip link show | affiche le statut du lien de toutes les interfaces réseau |
# iwconfig eth1 | affiche les réseaux sans fil |
# iwlist scan | scanne le wifi pour afficher les connections sans fil disponibles |
# mii-tool eth0 | affiche les statuts des liens ‘eth0’ |
# netstat -tup | affiche toutes les connections actives et leur PID |
# netstat -tupl | affiche tous les services réseau écoutés sur le système et leur PID |
# netstat -rn | montre la table de routage de façon semblable à « route -n » |
# nslookup www.example.com | consulte le hostname pour résoudre le nom en adresse ip et vice versa |
# route -n | affiche la table de routage |
# route add -net 0/0 gw IP_Gateway | configure la passerelle par défaut |
# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 | configure la route statique pour l’étendue réseau ‘192.168.0.0/16’ |
# route del 0/0 gw IP_gateway | enlève la route statique |
# echo | active le routage ip |
# tcpdump tcp port 80 | affiche tous les trafics http |
# whois www.example.com | consulte la base de donnée whois |
Réseau Microsoft Windows (samba) |
|
Commande | Description |
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share | monte un partage réseau Windows |
# nbtscan ip_addr | résolution de nom netbios |
# nmblookup -A ip_addr | résolution de nom netbios |
# smbclient -L ip_addr/hostname | affiche les partages distants d’un hôte windows |
# smbget -Rr smb://ip_addr/share | comme wget peut télécharger des fichiers depuis un hôte windows via smb |
IPTABLES (firewall) |
|
Commande | Description |
# iptables -t filter -L | affiche toutes les chaînes de la table de filtrage |
# iptables -t nat -L | affiche toutes les chaînes de la table nat |
# iptables -t filter -F | efface toutes les règles de la table de filtrage |
# iptables -t nat -F | efface toutes les règles de la table nat |
# iptables -t filter -X | supprime toutes les chaînes crées par un utilisateur |
# iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT | autorise les connexions telnet en entrée |
# iptables -t filter -A OUTPUT -p tcp –dport http -j DROP | bloque les connexions http en sortie |
# iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT | autorise les connexions POP3 aux chaînes avancées |
# iptables -t filter -A INPUT -j LOG –log-prefix | connexion sur la chaîne d’entrée |
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | configure un PAT (Port Address Translation) sur eth0 en masquant les paquets sortants |
# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 | redirige les paquets adressés d’un hôte à un autre hôte |
Surveillance et debugage |
|
Commande | Description |
# free -m | affiche les statuts de la RAM en mégaoctets |
# kill -9 process_id | force la fermeture d’un processus et le termine |
# kill -1 process_id | force un processus à recharger sa configuration |
# last reboot | affiche l’historique du redémarrage |
# lsmod | affiche le kernel chargé |
# lsof -p process_id | affiche la liste des fichiers ouverts par le processus |
# lsof /home/user1 | affiche la liste des fichiers ouverts sur un chemin donné |
# ps -eafw | affiche les tâches linux |
# ps -e -o pid,args –forest | affiche les tâches linux dans un mode hiérarchique |
# pstree | montre les processus du système sous forme d’arborescence |
# smartctl -A /dev/hda | surveille avec précision un disque dur à travers SMART |
# smartctl -i /dev/hda | teste si SMART est actif sur un disque dur |
# strace -c ls >/dev/null | affiche les appels système venant et reçus par un processus |
# strace -f -e open ls >/dev/null | affiche la bibliothèque des appels |
# tail /var/log/dmesg | affiche les évènements inhérents aux processus de démarrage du kernel |
# tail /var/log/messages | affiche les évènements système |
# top | affiche les tâches linux qui utilisent le plus le CPU |
# watch -n1 ‘cat /proc/interrupts’ | affiche les interruptions en temps réel |
Autres commandes utiles |
|
Commande | Description |
# alias hh=’history’ | fixe un alias pour la commande hh = history |
# apropos …keyword | affiche la liste des commandes qui contient le mot-clé d’un programme, utile quand vous savez ce que la programme doit faire, mais que vous n’en connaissez pas le nom de la commande |
# chsh | commande de changement de shell |
# chsh –list-shells | jolie commande pour savoir si vous avez une connexion distante dans une autre boite |
# gpg -c file1 | crypte un fichier avec GNU Privacy Guard |
# gpg file1.gpg | décrypte un fichier avec GNU Privacy Guard |
# ldd /usr/bin/ssh | affiche les librairies partagées requises par le programme ssh |
# man ping | affiche les pages d’aide en ligne par exemple la commande ping – utiliser l’option ‘-k’ pour trouver les commandes en relation |
# mkbootdisk –device /dev/fd0 `uname -r` | crée une disquette bootable |
# wget -r www.example.com | télécharge entièrement le site web |
# wget -c www.example.com/file.iso | télécharge un fichier avec la possibilité d’arrêter le téléchargement et le reprendre plus tard |
# echo ‘wget -c www.example.com/files.iso’ | at 09:00 | démarre un téléchargement à une heure donnée |
# whatis …keyword | affiche la description de ce que le programme fait |
# who -a | affiche qui est connecté, et imprime : l’heure du dernier redémarrage, les processus morts, les processus de connexion système, les Processus actifs générés par init, le runlevel courant, le dernier changement de l’horloge système |
Commentaires récents