Commandes
De PiX-Mania Wiki.
Sommaire
|
Description
Cette page fourni une liste ainsi que des explications et exemple d'utilisation pour les commandes basique présente ou non dans un système d'exploitation. Noter bien qu'on ne doit trouver ici que des commandes "basique" et non des applications complexe! Un tableau vous permettra de gérer/chercher au mieux les commandes nécessaires; n'oubliez pas de le mettre à jour aussi.
Tableau récapitulatif
D = le Danger que pourrait représenter cette commande
C = la Complexité de la commande
| Nom | D | C | Description | OS | Commentaire |
|---|---|---|---|---|---|
| bzip2 | 1 | 2 | compression au format "bz2" | Linux/Unix | voir aussi gzip |
| cat | 1 | 1 | affiche le contenu d'un fichier vers la sortie standard | Linux | |
| chkdsk | 1 | 1 | permet de réparer les erreurs sur les systèmes de fichier FAT ou NTFS | Windows | |
| convmv | 3 | 2 | convertit les noms de fichiers d'un encodage vers un autre | Linux | |
| crontab | 2 | 4 | exécute des commandes à certain moment de la journée/semaine/mois | Linux/Unix | |
| df | 1 | 2 | affiche l'espace libre des systèmes de fichier | Linux/Unix | voir aussi du |
| dig | 1 | 3 | utilitaire DNS | Linux/Unix | voir aussi nslookup |
| dosfslabel | 1 | 1 | affiche ou modifie le nom d'une partition FAT | Linux | |
| du | 2 | 2 | affiche l'utilisation disque des fichiers | Linux/Unix | voir aussi df |
| emerge | 5 | 3 | commande de base du gestionaire de paquet Gentoo | Linux | equery |
| equery | 1 | 2 | commande avancée du gestionaire de paquet Gentoo | Linux | emerge |
| fdisk | 5 | 2 | permet de formater et de lister les partitions du système | Linux | cfdisk |
| find | 3 | 4 | recherche et traitement des fichiers | Linux/Unix | |
| fping | 1 | 1 | identique à ping, mais peut tester plusieurs hote d'un coup | Linux | voir aussi ping |
| free | 1 | 1 | affiche la consomation mémoire | Linux | |
| fuser | 5 | 4 | identifie les processus utilisant un fichier ou une socket | Linux | lsof |
| glxinfo | 1 | 1 | affiche des informations sur GLX | Linux | voir aussi glxgears |
| gunzip | 1 | 2 | décompression du format "gz" | Linux/Unix | voir aussi gzip |
| gzip | 1 | 2 | compression au format "gz" | Linux/Unix | voir aussi gunzip |
| hdparm | 4 | 3 | donne des infos et permet la configuratino de vos disque dur | Linux | |
| ifconfig | 3 | 3 | configure vos interfaces réseau | Linux/Unix | |
| lftp | 1 | 3 | client FTP avancé en ligne de commande | Linux | voir aussi ftp, sftp |
| mail et mailx | 1 | 1 | gérer les mails de l'utilisateur courant | Linux/Unix | |
| md5sum | 1 | 1 | permet de calculer et de vérifier un "md5sum" | Linux | |
| mii-tool | 2 | 2 | affiche des informations les cartes réseaux cable | Linux | |
| mount | 4 | 3 | permet le montage et le démontage de filesystem | Linux/Unix | |
| mysqlanalyze | 1 | 2 | analyse et répare les bases de données MySQL | Linux | mysql |
| nail | 1 | 3 | une implémentation de la commande "mail" (MTA) | Linux | voir aussi mail, mailx |
| net | 3 | 4 | configuration des lecteurs disque et autre trucs réseau | Windows | |
| nethogs | 1 | 1 | affiche un débit réseau par processus | Linux | |
| netstat | 1 | 5 | affiche des informations réseaux | Linux/Unix | |
| nice | 3 | 2 | fixe la priorité d'exécution d'une commande | Linux | |
| nslookup | 1 | 3 | utilitaire DNS | Linux/Unix/Windows | voir aussi dig |
| passwd | 4 | 1 | modifie le mot de passe d'un utilisateur | Linux/Unix | |
| ping | 1 | 1 | test la communication réseau IP | Linux/Unix/Windows | voir aussi fping |
| pkg | 3 | 3 | gestion des paquets | Solaris | |
| ps | 1 | 2 | affiche des infos sur les processus | Linux/Unix | |
| psrinfo | 1 | 1 | affiche des info sur les processeurs | Unix (OpenSolaris) | |
| reboot | 5 | 1 | redémarre le système d'exploitation | Linux/Unix (OpenSolaris) | voir aussi shutdown |
| scanpci | 1 | 1 | liste les périphériques PCI | Unix (OpenSolaris) | voir aussi prtconf, lspci |
| sendmail | 1 | 3 | commande utilisée pour l'envoie de mail | Linux/Unix | voir aussi postfix, ssmtp |
| sl | 1 | 1 | une chouette commande, à tester absolument! | Linux | |
| stat | 1 | 2 | affiche des statistiques pour un fichier/système de fichier | Linux | |
| tar | 1 | 3 | outil d'archivage | Linux/Unix | |
| tcptrack | 1 | 2 | affiche les connexions réseaux TCP | Linux | bmon, iftop |
| tty | 1 | 1 | affiche le fichier (device) du terminal connecté | Linux | who |
| uptime | 1 | 1 | affiche le temps depuis lequel le system est "up & running" | Linux/Unix | |
| who | 1 | 2 | affiche les utilisateurs connecté | Linux/Unix | |
| Xtremsplit | 1 | 2 | permet de découper/assembler des fichiers volumineux | Linux | |
| Xvinfo | 1 | 1 | affiche des informations sur les adaptateurs XV disponible | Linux | |
| zdump | 1 | 1 | affiche des informations sur un fuseau horaire | Linux | |
| zoneadm | 1 | 2 | administration des zones | Unix (OpenSolaris) |
Les commandes
bzip2
Compression au format "bz2". Permet un meilleur taux de compression que "gzip" mais demande une charge bien plus importante.
bzip2 -f9 $BACKUP/mediawiki-$DATE.tar
Cette commande va compresser l'archive "tar" du mediawiki en une archive "tar.bz2" avec le taux de compression maximum. Le fichier d'origine, ".tar", n'existera plus (probablement considéré comme un déplacement "dans" une archive => on ne conserve pas le fichier non compressé; c'est pareil avec "gzip").
cat
Ce fichier affiche le contenu d'un fichier dans la console (sortie standard) ou dans un fichier.
cat /dev/urandom > /dev/dsp
Copie n'importe quoi dans le "buffer?" de la carte son qui va faire du bruit dans les haut-parleurs
.
cat /etc/X11/xorg.conf
Affiche la configuration du serveur X.
df
Cette commande permet d'afficher l'espace disque restant sur les systèmes de fichier monté.
Affichage de l'état de toutes partitions
serveur distfiles # df -h Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/hdb1 9,1G 7,7G 1,4G 85% / udev 10M 72K 10M 1% /dev /dev/hdc3 72G 66G 5,8G 92% /mnt/data1 /dev/hdd1 75G 31G 45G 41% /mnt/data2 /dev/hda1 29G 16G 14G 54% /mnt/data3 shm 184M 0 184M 0% /dev/shm
Note: le "h" permet d'afficher les unités (méga, kilo, giga, ...). Ce paramètre n'est pas disponible sur certain Unix.
Affichage de l'état de la partition courante
serveur distfiles # df -h . Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/hdb1 9,1G 7,7G 1,4G 85% /
Surveiller l'utilisation d'un système de fichier (astuce)
serveur distfiles # while true ; do df -h /dev/hdb1 | grep hdb1 && sleep 1 ; done /dev/hdb1 9,1G 7,7G 1,4G 85% / /dev/hdb1 9,1G 7,7G 1,4G 85% / /dev/hdb1 9,1G 7,7G 1,4G 85% /
Note: cette composition de commande permet d'afficher, toute les secondes, une ligne avec l'utilisation du système de fichier "hdb1".
dosfslabel
Permet d'afficher le nom d'une partition FAT :
loop ~ # dosfslabel /dev/sdb1 PIX-AUDIO-1
ou de modifier le nom de la partition :
loop ~ # dosfslabel /dev/sdb1 PIX-AUDIO-1
Pour l'installation, sous Gentoo, ca se trouve dans le paquet "sys-fs/dosfstools".
du
Permet d'afficher l'espace disque utilisé par le contenu d'un répertoire ou autre.
Calculer l'espace total utilisé par les fichiers/répertoires présent dans le répertoire courant
serveur distfiles # du . -sh 193M .
Note: "s" pour la somme, "h" pour afficher de manière plus compréhensible (pas dispo sur tout les Unix)
Afficher l'espace utilisé des fichiers du répertoire
serveur ~ # du * -sh 8,0K 00_default_ssl_vhost.conf 4,0K apache2-builtin-mods 72K auto-rsync.log 5,8M backup 1,5M cfg-serveur.tar.bz2 29M config-sav 24K cupsd.conf 124K dead.letter 4,0K deamon-script 4,0K deamon.sh 4,0K default_vhost.include 4,0K download.sh 4,0K hardened 24K iptables 4,0K lan.sh 117M my_ntop_goes_here 4,0K net 0 ntop.log 4,0K oldcron 16K script 3,6M test 4,0K upd-stargate 4,0K vpn
Note: à la différence de "ls -l", cette commande affiche la taille utilisée par le contenu des répertoires.
fdisk
Permet de formater et de lister les partitions de votre système.
Lister les partitions :
loop ~ # fdisk -l Disque /dev/sda: 250.0 Go, 250059350016 octets 255 heads, 63 sectors/track, 30401 cylinders Units = cylindres of 16065 * 512 = 8225280 bytes Disk identifier: 0x100f59dc Périphérique Amorce Début Fin Blocs Id Système /dev/sda1 * 1 2432 19535008+ 83 Linux /dev/sda2 2433 2494 498015 5 Extended /dev/sda3 6143 30401 194860417+ 83 Linux /dev/sda4 2495 6142 29302560 7 HPFS/NTFS /dev/sda5 2433 2494 497983+ 82 Linux swap / Solaris Les entrées de la table de partitions ne sont pas dans l'ordre du disque Disque /dev/sdb: 2004 Mo, 2004876800 octets 64 heads, 63 sectors/track, 971 cylinders Units = cylindres of 4032 * 512 = 2064384 bytes Disk identifier: 0x00000000 Périphérique Amorce Début Fin Blocs Id Système /dev/sdb1 1 969 1953439+ 6 FAT16
fping
C'est une commande ping qui permet de prendre plusieurs hotes en paramètres :
fping loop loop-nb linksys b-box loop is alive linksys is alive b-box is alive ICMP Host Unreachable from 10.2.1.62 for ICMP Echo sent to loop-nb (10.2.1.1) ICMP Host Unreachable from 10.2.1.62 for ICMP Echo sent to loop-nb (10.2.1.1) ICMP Host Unreachable from 10.2.1.62 for ICMP Echo sent to loop-nb (10.2.1.1) loop-nb is unreachable
Voir aussi :
free
Affiche la quantité de mémoire (vive et swap) disponible et utilisée.
serveur script # free -mt
total used free shared buffers cached
Mem: 367 351 15 0 41 97
-/+ buffers/cache: 213 154
Swap: 415 47 367
Total: 783 399 383
Paramètre
- m : affiche en Mo
- t : ajoute une ligne pour le total (mémoire vive + swap)
gunzip
Décompresse un fichier "gz" :
gunzip monscript.sql.gz #décompression d'un GZIP
Note: la commande "gunzip" va décompresser et l'archive GZIP d'origine sera suprimée par défaut (il ne restera que le fichier décompressé).
Voir aussi :
gzip
Compression d'un fichier ou d'un flux :
cat monscript.sql | gzip -9 > monscript.sql.gz #compression d'un fichier dans un GZIP
Note: la technique de redirection du flux (avec "|") permet de dépasser la taille maximal d'un fichier.
Note2: cette commande pourrait être dépréciée par bzip2 qui est plus performante au niveau de la compression (même si le coup niveau consomaton CPU est bien plus élevé). Vu la puissance des PC et la faible quantité de données à backupé par jour, je vais utiliser cette dernière.
Voir aussi :
Permet d'envoyer et de consulter les mails.
Attention: selon le paquet installé pour l'implémentation de cette commande (mailx, mailutils, nail), il se pourrait qu'un lien symbolique soit nécessaire pour ajouter "mail" au path "/bin/mail" (pour Nagios par exemple).
Exemple: root va voir ses mails :
serveur # mail No mail for root
Il n'en a pas malheureusement ... (attention: cela peut être du au fait que vous utiliser "mailx"; c'est à dire un client qui ne supporte pas la lecture des mails présent dans le répertoire "~/.maildir"! Utiliser une autre version dans ce cas).
Un autre utilisateur root va voir ses mails :
root@sol:~# mail
From root@sol.local Thu Jan 8 18:30:37 2009
Date: Thu, 8 Jan 2009 18:30:36 +0100 (CET)
From: Super-User <root@sol.local>
Message-Id: <200901081730.n08HUasg000687@sol.local>
To: root@sol.local
Subject: Output from "cron" command
Content-Length: 254
Your "cron" job on sol
/usr/lib/update-manager/update-refresh.sh
produced the following output:
Could not retrieve catalog from 'opensolaris.org'
URLError, reason: (8, 'node name or service name not known')
pkg: 0/1 catalogs successfully updated:
?
Le premier mail s'affiche, et le "?" attend une action :
- 'd' : supprimer le mail
- 'n' : mail suivant
Note: l'utilisateur "root" recois en général des mails des applications/cron job ou autre en cas de problème. Il est possible de rediriger les mails du root vers une véritable adresse mail sur le net (il faut installer "Postfix" ou autre, voir les mails pour plus d'informations).
Attention: cette commande peut être implémentée par différents paquets :
- mailx (version Unix; ne supporte pas la lecture des mails sous "~/.maildir")
- mailutils (version GNU; pose problème à la compilation pour l'instant)
- nail (une autre version pour Linux et qui compile
je vais l'utiliser)
mailx
"mailx" est une implémentation de la commande de base "mail". C'est une version Unix qui ne tiens pas compte du répertoire "~/.maildir". Pour lire ce répertoire, il vous faut installer l'une des implémentations suivantes :
- mailutils (version GNU)
- nail
md5sum
Permet de calculer et de vérifier un fichier en utilisant le hashage? MD5 :
md5sum mon_fichier_a_tester.tar.gz > mon_fichier_a_tester.md5 md5sum -c mon_fichier_a_tester.md5
La première ligne va créer un fichier .md5 et y ajouter un code de vérification ainsi que le path et/ou le nom du fichier auquel il est lié. La deuxième commande permet de vérifier l'intégrité du fichier sur base du fichier .md5 créé précédemment. Il trouvera le fichier à vérifier via une lecture du .md5.
mii-tool
Outil qui peut afficher si il y a un lien ou non pour une carte réseau cablée. Elle affiche également la vitesse de connection ainsi que le mode utilisé :
root@loop-nb:~# mii-tool eth0: negotiated 100baseTx-FD flow-control, link ok SIOCGMIIPHY on 'eth1' failed: Operation not supported
Note : eth1 est une carte réseau Wifi.
nail
C'est une autre implémentation de la commande "mail". Une fois installé, un lien symbolique "mail" pointera vers "nail".
nethogs
Petit programme qui permet d'afficher un débit réseau par processus (donc, uniquement processus locaux; aucune données sur les forwards) et par ce fait, peut être très utile :
NetHogs version 0.6.0 PID USER PROGRAM DEV SENT RECEIVED 31239 nagios check_http eth0 0.106 0.881 KB/sec 0 root unknown 0.000 0.000 KB/sec TOTAL 0.106 0.881 KB/sec
nice
Cette commande permet d'exécuter une commande avec une priorité différente : de -20(priorité haute) à 19(priorité la plus faible)
nice -n 19 emerge -uDN word #exécuter une mise à jour Gentoo en faible priorité nice -n 19 tar cvfz mon_linux_stage4.tar.gz / # ... (ne le faite pas, le stage 4 ne se fait pas ainsi[[Image:Smile.gif]] )
ping
Ping permet de tester la couche "IP" du modèle OSI (réseau). Si la couche IP ne fonctionne pas, TCP/UDP ne fonctionneront pas non plus ...
loop ~ # ping serveur PING serveur.loopx.dyndns.org (10.2.1.62) 56(84) bytes of data. 64 bytes from serveur (10.2.1.62): icmp_seq=1 ttl=64 time=1.32 ms 64 bytes from serveur (10.2.1.62): icmp_seq=2 ttl=64 time=1.33 ms ^C --- serveur.loopx.dyndns.org ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1007ms rtt min/avg/max/mdev = 1.324/1.327/1.330/0.003 ms
Voir aussi :
sendmail
"sendmail" est un nom de commande utilisé par les commandes mail et mailx (voir par d'autre application de plus haut niveau) pour envoyer un mail à partir d'une machine Linux/Unix. Cette "commande" peut être "implémentée" par différentes applications (seule un pouvant être installé à la fois) :
L'envoie d'un mail déclanchera l'exécution de la commande "sendmail" qui lancera donc l'exécution de code provenant soit de postfix (serveur), soit de ssmtp (relay => MTA only), soit de sendmail (jamais installé ce truc). Une technique pour vérifier qui est le MTA du système :
(postfix => serveur)
serveur iptables # ls -l /usr/sbin/sendmail -rwxr-xr-x 1 root root 158356 déc 13 07:04 /usr/sbin/sendmail
(ssmtp => workstation)
loop ~ # ls -l /usr/sbin/sendmail lrwxrwxrwx 1 root root 15 fév 19 03:28 /usr/sbin/sendmail -> /usr/sbin/ssmtp
stat
Permet d'afficher des statistiques sur un fichier/répertoire/filesystem. Exemple :
loop test # stat -f /mnt/data
File: "/mnt/data"
ID: 0 Namelen: 255 Type: reiserfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 48713616 Free: 18455588 Available: 18455588
Inodes: Total: 0 Free: 0
tar
Tar permet de créer des archives; il peut aussi compressé ces archives.
tar cvf mon_fichier.tar mon_repertoire/ #fait une archive qui contiendra "mon_repertoire" et ses fichiers et sous répertoires tar xvf mon_fichier.tar #extraire les fichiers/répertoires de l'archive précédemment créée (on récupère donc le répertoire "mon_repertoire" ou l'on se trouve) tar cvfz mon_fichier.tar.gz mon_repertoie/ #une archive compressée tar xvfz mon_fichier.tar.gz #décompression de l'archive
Note: si vous utilisez des chemins absolus pour préciser les fichiers/répertoires à ajouter dans l'archive, alors tout le chemin sera utilisé. Pour n'avoir que le répertoire/fichier désiré dans l'archive, il faut se placer dans le répertoire contenant les fichiers désirés (et ne pas préciser le chemin absolu) :
cd mon_repertoire && tar cvfz mon_fichier.tar.gz *
tty
Affiche le path vers la device représentant le terminal connecté :
loop ~ # tty /dev/pts/2 loop ~ # echo "hello tty" > /dev/pts/2 hello tty
uptime
Affiche la durée depuis laquel le system est "up". Affiche aussi des informations sur la charge :
root@sol:/# uptime 9:13pm up 2:13, 1 user, load average: 0.00, 0.00, 0.00
who
Permet d'afficher les utilisateurs connecté ainsi que d'autre information :
loop ~ # who
root tty1 2009-03-25 14:30
root pts/0 2009-03-25 14:31 (:0)
root pts/1 2009-03-25 15:29 (:0.0)
root pts/2 2009-03-25 15:51 (:0.0)
loop ~ # who -r
niveau d'exécution 3 2009-03-25 14:30 dernier=S
zdump
Permet d'exploiter les informations contenue dans la "timezone" d'une région.
loop temp # zdump -v /usr/share/zoneinfo/Europe/Brussels /usr/share/zoneinfo/Europe/Brussels Fri Dec 13 20:45:52 1901 UTC = Fri Dec 13 20:45:52 1901 WET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sat Dec 14 20:45:52 1901 UTC = Sat Dec 14 20:45:52 1901 WET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sat Nov 7 23:59:59 1914 UTC = Sat Nov 7 23:59:59 1914 WET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sun Nov 8 00:00:00 1914 UTC = Sun Nov 8 01:00:00 1914 CET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sun Apr 30 22:59:59 1916 UTC = Sun Apr 30 23:59:59 1916 CET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sun Apr 30 23:00:00 1916 UTC = Mon May 1 01:00:00 1916 CEST isdst=1 /usr/share/zoneinfo/Europe/Brussels Sat Sep 30 22:59:59 1916 UTC = Sun Oct 1 00:59:59 1916 CEST isdst=1 /usr/share/zoneinfo/Europe/Brussels Sat Sep 30 23:00:00 1916 UTC = Sun Oct 1 00:00:00 1916 CET isdst=0 [...] /usr/share/zoneinfo/Europe/Brussels Sun Mar 30 00:59:59 2008 UTC = Sun Mar 30 01:59:59 2008 CET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sun Mar 30 01:00:00 2008 UTC = Sun Mar 30 03:00:00 2008 CEST isdst=1 /usr/share/zoneinfo/Europe/Brussels Sun Oct 26 00:59:59 2008 UTC = Sun Oct 26 02:59:59 2008 CEST isdst=1 /usr/share/zoneinfo/Europe/Brussels Sun Oct 26 01:00:00 2008 UTC = Sun Oct 26 02:00:00 2008 CET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sun Mar 29 00:59:59 2009 UTC = Sun Mar 29 01:59:59 2009 CET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sun Mar 29 01:00:00 2009 UTC = Sun Mar 29 03:00:00 2009 CEST isdst=1 /usr/share/zoneinfo/Europe/Brussels Sun Oct 25 00:59:59 2009 UTC = Sun Oct 25 02:59:59 2009 CEST isdst=1 /usr/share/zoneinfo/Europe/Brussels Sun Oct 25 01:00:00 2009 UTC = Sun Oct 25 02:00:00 2009 CET isdst=0 [...] /usr/share/zoneinfo/Europe/Brussels Sun Mar 29 00:59:59 2037 UTC = Sun Mar 29 01:59:59 2037 CET isdst=0 /usr/share/zoneinfo/Europe/Brussels Sun Mar 29 01:00:00 2037 UTC = Sun Mar 29 03:00:00 2037 CEST isdst=1 /usr/share/zoneinfo/Europe/Brussels Sun Oct 25 00:59:59 2037 UTC = Sun Oct 25 02:59:59 2037 CEST isdst=1 /usr/share/zoneinfo/Europe/Brussels Sun Oct 25 01:00:00 2037 UTC = Sun Oct 25 02:00:00 2037 CET isdst=0 /usr/share/zoneinfo/Europe/Brussels Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 04:14:07 2038 CET isdst=0 /usr/share/zoneinfo/Europe/Brussels Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 04:14:07 2038 CET isdst=0
On peut voir les changement d'heure (DST) d'hivers/été.
loop temp # zdump /usr/share/zoneinfo/Europe/Brussels /usr/share/zoneinfo/Mexico/BajaSur /usr/share/zoneinfo/Europe/Brussels Tue Jan 6 03:28:06 2009 CET /usr/share/zoneinfo/Mexico/BajaSur Mon Jan 5 19:28:06 2009 MST
Ici, on affiche l'heure actuel des zones "Brussels" et "BajaSur".

