07 82 00 08 39 contact@kemiilblacks.fr

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

Inscrivez-vous à ma Newsletter

Joignez ma liste de Newsletter pour recevoir les dernières actualité de mon site.

Vous avez été correctement enregistrer ! Un email de confirmation vous sera envoyer, pensez à le valider.

Pin It on Pinterest

Share This