Commandes UNIX - Linux les plus utiles Version 0.2 Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation Novembre 2006 Commandes UNIX - Linux les plus utiles Table des matières Répertoires et fichiers...........................................................................................3 ls.................................................................................................................3 cp................................................................................................................4 mv...............................................................................................................5 rm................................................................................................................5 cd................................................................................................................6 mkdir............................................................................................................6 rmdir............................................................................................................6 ln.................................................................................................................6 find..............................................................................................................7 grep..............................................................................................................9 cut...............................................................................................................9 sed...............................................................................................................9 xargs.............................................................................................................9 tee...............................................................................................................9 awk..............................................................................................................9 chmod...........................................................................................................9 chown...........................................................................................................9 chgrp...........................................................................................................10 variables d'environnement..................................................................................10 redirections - pipes..........................................................................................10 Processus..........................................................................................................10 ps...............................................................................................................10 pstree..........................................................................................................12 pidof...........................................................................................................14 kill..............................................................................................................14 uptime.........................................................................................................14 w................................................................................................................14 who ............................................................................................................15 nice et renice.................................................................................................15 nohup..........................................................................................................15 fg ..............................................................................................................15 bg...............................................................................................................15 jobs.............................................................................................................15 at ..............................................................................................................16 crontab........................................................................................................16 gkrellm.........................................................................................................17 ksysguard......................................................................................................18 top..............................................................................................................18 Services...........................................................................................................19 service.........................................................................................................19 chkconfig......................................................................................................20 ntsysv..........................................................................................................20 system-config-services......................................................................................21 Mémoire...........................................................................................................21 free.............................................................................................................21 vmstat.........................................................................................................21 Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 2 de 27 Commandes UNIX - Linux les plus utiles Réseau.............................................................................................................21 ifconfig........................................................................................................22 route...........................................................................................................22 ping.............................................................................................................22 arp..............................................................................................................22 ethtool.........................................................................................................22 /usr/bin/python /usr/bin/system-control-network.....................................................23 system-config-network ou neat............................................................................24 system-logviewer.............................................................................................25 Divers..............................................................................................................26 uname..........................................................................................................26 Répertoires et fichiers ls Liste sur la sortie standard le contenu d’un répertoire. [cours@mars ~]$ ls bin data1 [cours@mars ~]$ Quelques options : -l Utilise un format d'affichage long. [cours@mars ~]$ ls -l total 8 drwxrwxr-x 2 cours cours 4096 Apr 16 10:05 bin -rw-rw-r-- 1 cours cours 24 Apr 16 10:06 data1 [cours@mars ~]$ Une ligne est affichée par fichier/répertoire. Le premier caractère de chaque ligne indique le type de fichier (- pour un fichier normal, d pour un répertoire, l pour un lien, c pour un fichier spécial « caractère », b pour un fichier spécial « bloc »). Les trois caractères suivants indiquent les permissions pour le propriétaire, les trois suivants les permissions pour le groupe propriétaire et les trois derniers, les permissions pour les autres utilisateurs. Chaque groupe de trois caractères se décompose comme suit : le premier indique la permission de lecture, représentée par la lettre r si elle est attribuée et par un tiret si elle ne l’est pas; le deuxième indique la permission d’écriture, représentée par la lettre w si elle est attribuée et par un tiret si elle ne l’est pas; le troisième indique la permission d’exécuter les fichiers ou de faire du répertoire indiqué le répertoire courant; cette permission est représenté par la lettre x si elle est attribuée et par un tiret si elle ne l’est pas. Après les permissions, est affiché pour un répertoire, le nombre de sous-répertoires. Ensuite, sont affichés l’utilisateur et le groupe propriétaire puis la taille du fichier et la date de la dernière modification suivie du nom du fichier. Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 3 de 27 Commandes UNIX - Linux les plus utiles -d Liste l’entrée d’un répertoire au lieu de son contenu. -i Cf. -l mais liste le numéro d’inode. -t Trie par date/heure de modification. -x Liste les entrées en ligne et non en colonne. -R Liste les sous-répertoires récursivement. -a Liste les fichiers cachés (qui commencent par un .) [cours@mars ~]$ ls -a . .bashrc .. bin .bash_history .canna .bash_logout data1 .bash_profile .emacs .evolution .gconf .gconfd .gnome2 .gnome2_private .gtkrc .kde .lesshst projet1 .rh-fontconfig temp5305 .xauthkGmJpi .xemacs .zshrc cp Copie de fichiers et de répertoires [cours@mars bin data1 [cours@mars [cours@mars bin data1 [cours@mars ~]$ ls ~]$ cp data1 data2 ~]$ ls data2 ~]$ Options : -f ou --force Si la destination ne peut être ouverte, la supprime et la remplace. -p Préserve le mode, les propriétaires et les dates. Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 4 de 27 Commandes UNIX - Linux les plus utiles -R ou -r ou –-recursive Copie les répertoires récursivement. -v Verbose -u N’effectue pas la copie pas si la destination (autre qu’un répertoire) a une date de modification identique ou plus récente. mv Renomme la source ou déplace la source vers un répertoire. [cours@mars ~]$ ls -l total 8 drwxrwxr-x 2 cours cours 4096 Apr 18 20:58 bin -rw-rw-r-- 1 cours cours 24 Apr 16 10:06 data1 -rw-rw-r-- 1 cours cours 0 Apr 18 14:06 temp5305 [cours@mars ~]$ mv data1 data2 [cours@mars ~]$ ls bin data2 temp5305 [cours@mars ~]$ mv data2 bin [cours@mars ~]$ ls bin temp5305 [cours@mars ~]$ ls bin data2 [cours@mars ~]$ rm Supprime des fichiers ou des répertoires. -f Force -r ou -R Récursif [cours@mars ~]$ ls total 12 drwxrwxr-x 2 cours -rw-rw-r-- 1 cours drwxrwxr-x 2 cours -rw-rw-r-- 1 cours -l cours 4096 Apr 18 20:58 cours 24 Apr 16 10:06 cours 4096 Apr 19 18:28 cours 0 Apr 18 14:06 Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 bin data1 projet1 temp5305 Page 5 de 27 Commandes UNIX - Linux les plus utiles [cours@mars ~]$ rm [cours@mars ~]$ ls total 8 drwxrwxr-x 2 cours -rw-rw-r-- 1 cours -rw-rw-r-- 1 cours [cours@mars ~]$ -rf projet1/ -l cours 4096 Apr 18 20:58 bin cours 24 Apr 16 10:06 data1 cours 0 Apr 18 14:06 temp5305 cd Change le répertoire courant. Chemin relatif -> par rapport à un répertoire existant Chemin absolu -> par rapport au répertoire racine (/) [cours@mars [cours@mars [cours@mars [cours@mars [cours@mars 1. 2. 3. 4. ~]$ cd bin bin]$ cd ~]$ cd /etc etc]$ cd httpd httpd]$ Le répertoire courant devient /home/cours/bin (utilisation d’un chemin relatif) Le répertoire courant redevient /home/cours Le répertoire courant devient /etc (utilisation d’un chemin absolu) Le répertoire courant de /etc/httpd (utilisation d’un chemin relatif) Remarque : La variable $HOME contient le répertoire personnel de l’utilisateur. mkdir Crée un répertoire rmdir Supprime un répertoire non vide ln Crée des liens entre des fichiers. Les liens peuvent être soit physiques, soit symboliques. Un lien physique revient à ajouter un nouveau nouveau nom à un fichier. Ils ne s’appliquent qu’aux fichiers (pas aux répertoires) et ne peuvent exister que dans le même système de fichiers. Un lien symbolique est une référence vers le fichier ou le répertoire vers lequel il pointe. L’affichage d’un lien symbolique permet de permet de voir l’objet pointé. Exemples : [cours@mars ~]$ ls total 8 drwxrwxr-x 2 cours -rw-rw-r-- 1 cours -rw-rw-r-- 1 cours -l cours 4096 Apr 18 20:58 bin cours 24 Apr 16 10:06 data1 cours 0 Apr 18 14:06 temp5305 Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 6 de 27 Commandes UNIX - Linux les plus utiles [cours@mars ~]$ ln [cours@mars ~]$ ls total 12 drwxrwxr-x 2 cours -rw-rw-r-- 2 cours -rw-rw-r-- 2 cours -rw-rw-r-- 1 cours [cours@mars ~]$ ln [cours@mars ~]$ ls total 12 drwxrwxr-x 2 cours -rw-rw-r-- 2 cours -rw-rw-r-- 2 cours lrwxrwxrwx 1 cours -rw-rw-r-- 1 cours [cours@mars ~]$ rm [cours@mars ~]$ ls total 12 drwxrwxr-x 2 cours -rw-rw-r-- 2 cours -rw-rw-r-- 2 cours -rw-rw-r-- 1 cours [cours@mars ~]$ data1 data2 -l cours 4096 Apr cours 24 Apr cours 24 Apr cours 0 Apr -s data1 data3 -l 18 16 16 18 20:58 10:06 10:06 14:06 bin data1 data2 temp5305 cours 4096 Apr 18 20:58 bin cours 24 Apr 16 10:06 data1 cours 24 Apr 16 10:06 data2 cours 5 Apr 22 08:47 data3 -> data1 cours 0 Apr 18 14:06 temp5305 data3 -l cours 4096 Apr 18 20:58 cours 24 Apr 16 10:06 cours 24 Apr 16 10:06 cours 0 Apr 18 14:06 bin data1 data2 temp5305 find Recherche des fichiers dans une arborescence de répertoires. SYNOPSIS find [-H] [-L] [-P] [path...] [expression] Une expression peut être constituées d’options, de tests ou d’actions. Une option affecte le comportement général plutôt que le traitement d’un fichier particulier. Un test retourne une valeur vrai ou faux. Sous Linux -print est l’action par défaut. [cours@mars ~]$ find $HOME -name "data*" /home/cours/data2 /home/cours/data1 [cours@mars ~]$ Recherche dans l’arborescence $HOME les fichiers dont le nom commence par data et affiche sur la sortie standard le chemin complet des fichiers trouvés. -mtime Recherche des fichiers par rapport à leur data de dernière modification. [cours@mars ~]$ find $HOME -mtime -5 /home/cours Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 7 de 27 Commandes UNIX - Linux les plus utiles /home/cours/.lesshst /home/cours/.xauthfMgY3Q /home/cours/.bash_history /home/cours/temp5305 /home/cours/bin Recherche dans l'arborescence $HOME les fichiers qui ont été modifiés il y a maximum 5 jours. [cours@mars ~]$ find $HOME -mtime +2 Recherche dans l’arborescence $HOME les fichiers qui ont été modifiés il y a au moins 2 jours. [cours@mars ~]$ find $HOME -mtime 2 Recherche dans l’arborescence $HOME les fichiers qui ont été modifiés il y a 2 jours. -size n[cwbkMG] Recherche les fichiers qui utilisent n unités d’espace. Les suffixes suivant peuvent être utilisés : ‘b’ pour des bloqus de 512 octets (Ceci est le défaut si aucun suffixe n’est utilisé). ‘c’ pour octet ‘w’ pour des mots de 2 octets ‘k’ pour kilo octets ‘M’ pour mega octets ‘G’ pour giga octets -exec command ; Exécute la commande. Tous les arguments suivant jusqu’au ; sont considérés comme des arguments de la commande. La chaîne {} est remplacé par le nom de fichier qui est traité. [cours@mars ~]$ ls -l total 12 drwxrwxr-x 2 cours cours 4096 Apr 18 20:58 bin -rw-rw-r-- 2 cours cours 24 Apr 16 10:06 data1 -rw-rw-r-- 2 cours cours 24 Apr 16 10:06 data2 -rw-rw-r-- 1 cours cours 0 Apr 18 14:06 temp5305 [cours@mars ~]$ find . -size 0c -exec rm {} \; [cours@mars ~]$ ls -l total 12 drwxrwxr-x 2 cours cours 4096 Apr 18 20:58 bin -rw-rw-r-- 2 cours cours 24 Apr 16 10:06 data1 -rw-rw-r-- 2 cours cours 24 Apr 16 10:06 data2 [cours@mars ~]$ Supprime à partir du répertoire courant les fichiers ayant une taille de 0 octet. Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 8 de 27 Commandes UNIX - Linux les plus utiles -print Affiche sur la sortie standard le nom complet du fichier. grep Affiche les lignes correspondantes à un pattern. SYNOPSIS grep [options] PATTERN [FILE...] cut sed sed (Stream EDitor) est un éditeur de texte non interactif (donc en ligne de commande). Il applique un certain nombre de commandes à un fichier et affiche le résultat sur la sortie standard. [esc@desmanlx ~]$ cat fichier Eric Durant [esc@desmanlx ~]$ sed -e 's/Durant/DURANT/g' fichier Eric DURANT [esc@desmanlx ~]$ sed -e 's/Durant/DURANT/g' -e 's/Eric Durant/Monsieur Durant/' fichier Eric DURANT [esc@desmanlx ~]$ Les opérateurs \( et \) sauvent leur contenu. Les opérateurs \1 \2 ... \9 permettent de les récupérer. [esc@desmanlx ~]$ cat fichier Eric Durant [esc@desmanlx ~]$ sed -e 's/^\([A-Z][A-Za-z]*\) z]*\)/\2 \1/' fichier Durant Eric [esc@desmanlx ~]$ \([A-Z][A-Za- Remplacera les Nom Prénom en début de chaque ligne du fichier par Prénom Nom. [esc@desmanlx ~]$ echo 'bonjour Eric Eric est parti parti ' | sed 's/\([a-zA-Z][a-zA-Z]*\) \1/\1/g' Supprimera les mots en double. Si de nombreuses commandes doivent être exécutées, elles peuvent être placées dans un fichier. Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 9 de 27 Commandes UNIX - Linux les plus utiles # Fichier "exemple.sed" # Il ne peut y avoir de commentaires que dans un bloc au début du # fichier. s/É/&Eacute;/g s/À/&Agrave;/g s/Ç/&Ccedil;/g Pour utiliser ce fichier de commandes, il faut utiliser l'option -f $ sed -f exemple.sed fichier Le fichier de commandes peut être rendu exécutable #!/usr/bin/sed -f # Table de transcodage de ISO-8859-1 vers HTML # Fichier "exemple2.sed" s/É/&Eacute;/g s/À/&Agrave;/g s/Ç/&Ccedil;/g $ chmod u+x exemple2.sed $ ./exemple2.sed fichier xargs tee awk chmod chown chgrp variables d'environnement Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 10 de 27 Commandes UNIX - Linux les plus utiles redirections - pipes Processus Un processus est un programme qui s’exécute (tâche), il est créé par l’appel système fork(). Le processus qui créé un nouveau processus est le processus parent et le processus créé est le processus fils. Un processus vit : ● ● ● ● naissance -> fork() vie -> exécution mort -> kill ou fin zombie ps [cours@mars ~]$ ps PID TTY TIME CMD 5305 pts/3 00:00:00 bash 5337 pts/3 00:00:00 ps [cours@mars ~]$ PID : ID du processus TTY : ID du terminal auquel le processus est associé TIME : Le temps CPU en minute/seconde CMD (ou COMMAND) : Le nom de la commande. Remarque : La variable $$ contient le PID du shell, et peut par exemple être utilisée pour créé des noms de fichiers unique -> $ touch temp$$ [cours@mars ~]$ ps -ef UID PID PPID C root 1 0 0 root 2 1 0 root 3 1 0 root 4 1 0 root 5 1 0 root 6 1 0 root 8 6 0 root 9 6 0 root 96 6 0 root 149 6 0 root 150 6 0 dbus 1785 1 0 root 1893 1 0 root 1907 1 0 root 1916 1 0 root 1925 1 0 root 1930 1 0 root 1942 1 0 root 1974 1 0 root 2227 1 0 STIME 09:40 09:40 09:40 09:40 09:40 09:40 09:40 09:40 09:40 09:40 09:40 09:41 09:41 09:41 09:41 09:41 09:41 09:41 09:41 09:42 TTY ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tty1 Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation TIME 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:01 00:00:00 00:00:00 CMD init [5] [ksoftirqd/0] [watchdog/0] [events/0] [khelper] [kthread] [kblockd/0] [kacpid] [khubd] [pdflush] [pdflush] dbus-daemon --system /usr/sbin/automount --timeout=6 /usr/sbin/smartd /usr/sbin/acpid ./hpiod python ./hpssd.py cupsd /usr/sbin/sshd /sbin/mingetty tty1 27/11/2006 Page 11 de 27 Commandes UNIX - Linux les plus utiles root root root root root root esc esc esc esc 68 68 esc esc esc esc esc esc esc esc esc esc esc esc esc root cours cours 2230 2233 2236 2239 2246 2701 2747 2769 2774 2821 2888 2898 2909 2910 2921 3524 3527 4211 4224 4231 4246 5263 5283 5288 5296 5301 5305 5348 1 1 1 1 1 2603 2513 2747 2769 1 2164 2164 2513 2909 2910 2513 2513 2554 2554 2594 1 2513 5263 5283 5288 2597 5301 5305 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 09:42 09:42 09:42 09:42 09:42 09:43 09:43 09:43 09:43 09:43 09:44 09:44 09:45 09:45 09:45 10:14 10:14 10:23 10:24 10:24 10:24 11:05 11:05 11:05 11:05 11:05 11:05 11:07 tty2 tty3 tty4 tty5 tty6 pts/4 ? ? ? ? ? ? ? ? ? ? ? ? ? pts/2 ? ? ? ? ? pts/3 pts/3 pts/3 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:56 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:22 00:00:05 00:00:00 00:00:00 00:00:01 00:00:01 00:00:00 00:00:00 00:00:00 00:00:05 00:00:00 00:00:00 00:00:00 00:00:00 /sbin/mingetty tty2 /sbin/mingetty tty3 /sbin/mingetty tty4 /sbin/mingetty tty5 /sbin/mingetty tty6 -bash /bin/sh /usr/lib/firefox-1.5.0. /bin/sh /usr/lib/firefox-1.5.0. /usr/lib/firefox-1.5.0.1/firefo knotify [kdeinit] /usr/libexec/hald-addon-keyboar /usr/libexec/hald-addon-keyboar ksystraycmd openoffice.org-2.0 /bin/sh /usr/lib/openoffice.org /usr/lib/openoffice.org2.0/prog konqueror --profile filemanagem kio_file [kdeinit] file /tmp/ks kate kate kate kio_uiserver /bin/sh /usr/lib/thunderbird-1. /bin/sh /usr/lib/thunderbird-1. /usr/lib/thunderbird-1.5/thunde [netstat] <defunct> su - cours -bash ps -ef [cours@mars ~]$ Les processus dont la commande est entre crochets sont des processus en mode noyau. Les processus qui se terminent par la lettre d sont en général des daemon (services). Les processus / sbin/mingetty sont les processus contrôlant les terminaux. [cours@mars ~]$ ps ux USER PID %CPU %MEM cours 5305 0.0 0.2 cours 5624 0.0 0.0 [cours@mars ~]$ VSZ 5236 4184 RSS TTY 2304 pts/3 968 pts/3 STAT START S 11:05 R+ 11:56 TIME COMMAND 0:00 -bash 0:00 ps ux %CPU : Utilisation CPU du processus. %MEM : Utilisation de la mémoire physique par la partie résidente du processus. START : heure à laquelle la commande a démarré. TIME : Temps CPU utilisé (système + utilisateur). RSS : Resident Set Size, la partie non swappée qu’un tâche a utilisé (en kilo bytes). VSZ : Taille de la mémoire virtuelle du processus en kilo bytes. STAT : multi-character process state PROCESS STATE CODES Voici les valeurs possibles de STAT qui décrivent l’état d’un processus. D R S T W X Sommeil non-interrruptible (en général du à des ES) Running ou runnable Sommeil interruptible (en attende de la fin d’un évènement) Stopped. Paging (plus valide depuis le noyau 2.6.xx) Dead (NE devrait jamais être vu !) Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 12 de 27 Commandes UNIX - Linux les plus utiles Z Processus Defunct ("zombie"), terminé mais pas encore « récolté » par son parent. Pour les formats BSD des cractères additionnels peuvent être affiché: < Haute priorité (pas « nice » pour les autres utilisateurs) N Basse priorité (« nice » pour les autres utilisateurs) L A des pages bloquées en mémoire (pour les processus temps réel et les ES spéciales) l Est multi-thread + Est dans le groupe des processus en avant-plan. pstree Affiche les processus du système sous forme arborescente. [cours@mars ~]$ pstree init─┬─NetworkManager───2*[{NetworkManager}] ├─NetworkManagerD ├─acpid ├─atd ├─automount ├─avahi-daemon───avahi-daemon ├─bonobo-activati ├─crond ├─cups-config-dae ├─cupsd ├─2*[dbus-daemon] ├─dbus-launch ├─dcopserver ├─dhcdbd───dhclient ├─events/0 ├─evolution-data-───2*[{evolution-data-}] ├─evolution-excha───{evolution-excha} ├─gconfd-2 ├─gpg-agent ├─gpm ├─hald───hald-runner─┬─hald-addon-acpi │ ├─4*[hald-addon-keyb] │ └─hald-addon-stor ├─hpiod───{hpiod} ├─kaccess ├─kded ├─kdeinit─┬─artsd │ ├─evolution-alarm───{evolution-alarm} │ ├─firefox───run-mozilla.sh───firefox-bin───2*[{firefox-bin}] │ ├─kio_file │ ├─klauncher │ ├─2*[konqueror] │ ├─konsole─┬─bash───su───bash───pstree │ │ └─su───bash │ ├─konsole───bash───kate │ ├─ksystraycmd───soffice───swriter.bin───4*[{swriter.bin}] │ ├─kwin │ └─thunderbird───run-mozilla.sh───thunderbird-bin─┬─netstat │ └─2*[{thunderb+ ├─kdesktop───2*[kate] ├─khelper ├─khpsbpkt ├─kicker ├─kio_uiserver ├─3*[kjournald] ├─klogd ├─kmix ├─knodemgrd_0 Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 13 de 27 Commandes UNIX - Linux les plus utiles ├─knotify ├─krandrtray ├─ksmserver ├─ksoftirqd/0 ├─kswapd0 ├─kthread─┬─aio/0 │ ├─kacpid │ ├─kauditd │ ├─kblockd/0 │ ├─khubd │ ├─kmirrord │ ├─kpsmoused │ ├─kseriod │ ├─2*[pdflush] │ ├─scsi_eh_0 │ └─usb-storage ├─6*[mingetty] ├─ntpd ├─pccardd ├─portmap ├─prefdm───gdm-binary───gdm-binary─┬─Xorg │ └─startkde─┬─kwrapper │ └─ssh-agent ├─python ├─rpc.idmapd ├─rpc.statd ├─smartd ├─sshd ├─syslogd ├─udevd ├─watchdog/0 ├─xfs └─xinetd [cours@mars ~]$ -a Affiche les arguments de la ligne de commande -H Met en évidence le processus spécifié et ses ancêtres. [esc@mars ~]$ pstree -H 2594 -p Affiche le PID [esc@mars ~]$ pstree -p init(1)─┬─NetworkManager(2105)─┬─{NetworkManager}(2173) │ └─{NetworkManager}(2241) ├─NetworkManagerD(2114) ├─acpid(1814) pidof [root@mars ~]# pidof bash 2597 2594 Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 14 de 27 Commandes UNIX - Linux les plus utiles kill Envoie un signal à un processus. Si le processus ne peut intercepter le signal, il se terminera. La commande kill -9 envoie le signal SIGKILL qui ne peut être intercepté et provoque la fin certaine du processus. Le signal envoyé par défaut est le signal 15. $ kill -signal PID $ kill 2614 $ kill -9 2613 uptime Affiche depuis combien de temps le système est démarré. [root@lucius root]# uptime 20:25:22 up 45 min, 6 users, load average: 0.29, 0.33, 0.28 w Affiche qui est connecté et ce qu’ils font. [root@mars ~]# w 11:47:05 up 2:57, 1 user, USER TTY FROM esc :0 - load average: 0.70, 0.56, 0.45 LOGIN@ IDLE JCPU PCPU WHAT 09:41 ?xdm? 6:12 0.15s /bin/sh /usr/b root@lucius root]# w 19:57:59 up 17 min, 4 users, load average: 0.26, 0.32, 0.26 USER TTY FROM LOGIN@ IDLE JCPU PCPU root pts/0 10.202.0.16 7:42pm 0.00s 0.07s 0.02s jboehmer pts/1 l202p31.isl.be 7:52pm 5:23 0.02s 0.02s mfransol pts/2 l202p23.isl.be 7:52pm 5:17 0.02s 0.02s pwatteyn pts/3 l202p41.isl.be 7:53pm 11.00s 0.06s 0.01s WHAT w -bash -bash sshd: pwatteyne [root@lucius root]# who Affiche qui est connecté au système. [root@lucius root]# who root pts/0 Apr jboehmer pts/1 Apr mfransol pts/2 Apr pwatteyn pts/3 Apr [root@lucius root]# 18 18 18 18 19:42 19:52 19:52 19:53 (10.202.0.16) (l202p31.isl.be) (l202p23.isl.be) (l202p41.isl.be) nice et renice nice : exécute un programme avec une priorité modifiée. renice : modifie la priorité d’un processus en cours d’exécution. Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 15 de 27 Commandes UNIX - Linux les plus utiles $ renice +1 987 -u daemon root -p 32 Change la priorité des processus dont l’ID est 987 et 32, et de tous les procesus dont le propriétaire est daemon et root. nohup Exécute un programme qui ne sera pas tué lors de la déconnexion. $ nohup cmd fg Redémarre un job en avant plan et en fait le job courant. bg Redémarre un job suspendu comme si il avait été démarré avec &. jobs Liste les jobs actifs. Exemple d’utilisation de fg, bg et jobs. [cours@mars ~]$ sleep 100 & [1] 5905 [cours@mars ~]$ jobs [1]+ Running [cours@mars ~]$ fg 1 sleep 100 ctrl-Z [1]+ Stopped [cours@mars ~]$ bg 1 [1]+ sleep 100 & [cours@mars ~]$ jobs [1]+ Running [cours@mars ~]$ sleep 100 & sleep 100 sleep 100 & at La commande at planifie l’exécution d’une commande à une heure spécifiée. Les fichiers /etc/at.allow et /etc/at.deny sont utilisés pour déterminer qui peut utiliser la commande at. Si aucun des deux fichiers n’existent, seul root peut utiliser at. [root@mars ~]# at -t 0604181420 at> find /tmp -print > /root/tmpfiles at> <EOT> Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 16 de 27 Commandes UNIX - Linux les plus utiles job 1 at 2006-04-18 14:20 [root@mars ~]# [root@mars ~]# at -l 3 2006-04-18 14:25 a root [root@mars ~]# [root@mars ~]# atq 3 2006-04-18 14:25 a root [root@mars ~]# [root@mars total 12 -rwx-----drwx-----[root@mars ~]# ls -l /var/spool/at 1 root root 1934 Apr 18 14:21 a00003012347e9 2 daemon daemon 4096 Apr 18 14:20 spool ~]# crontab La commande crontab planifie des tâches répétitives de l’utilisateur qui la saisit. Les fichiers /etc/cron.allow et /etc/cron.deny déterminent qui peut utiliser la commande cron. $ crontab -l Affiche le fichier de planification $ crontab -e Édite le fichier de planification [cours@mars ~]$ crontab -e no crontab for cours - using an empty one crontab: installing new crontab [cours@mars ~]$ crontab -l 0,30 8-20 * * 0 /home/cours/bin/checkactivity [cours@mars ~]$ Crée un fichier de planification (l’édition se fait avec en arrière plan l’éditeur vi !) et ensuite liste le contenu du fichier. Dans l’exemple, le script /home/cours/bin/checkactivity sera exécuté à l’heure et à la demi-heure, entre 8 heure et 20 heure peut importe le mois et le jour du mois, mais uniquement le dimanche. Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 17 de 27 Commandes UNIX - Linux les plus utiles gkrellm Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 18 de 27 Commandes UNIX - Linux les plus utiles ksysguard top Affiche les taches (processus) Linux. Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 19 de 27 Commandes UNIX - Linux les plus utiles Services Les services peuvent être démarré / arrêtés / redémarrés en utilisant la commande service. Les services peuvent être activés ou désactivés en utilisant les commandes chkconfig ou ntsysv ou system-config-services. service [root@mars ~]# service httpd start Starting httpd: httpd: apr_sockaddr_info_get() failed for mars.smartinfo.be httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [ OK ] [root@mars ~]# Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 20 de 27 Commandes UNIX - Linux les plus utiles chkconfig chkconfig s'utilise en passant le nom du service puis le mot clef on ou off. ntsysv Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 21 de 27 Commandes UNIX - Linux les plus utiles system-config-services Mémoire free vmstat Réseau http://enterprise.linux.com/article.pl?sid=05/12/14/1645213&tid=129&tid=18&tid=100 Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 22 de 27 Commandes UNIX - Linux les plus utiles ifconfig $ /sbin/ifconfig eth0 192.168.10.12 netmask 255.255.255.0 broadcast 192.168.10.255 route [root@mars ~]# route Kernel IP routing table Destination Gateway Use Iface 192.168.0.0 * 0 eth1 169.254.0.0 * 0 eth1 default 192.168.0.1 0 eth1 [root@mars ~]# Genmask Flags Metric Ref 255.255.255.0 U 0 0 255.255.0.0 U 0 0 UG 0 0 0.0.0.0 ping [esc@mars ~]$ ping -c 4 192.168.0.1 PING 192.168.0.1 (192.168.0.1) 56(84) 64 bytes from 192.168.0.1: icmp_seq=1 64 bytes from 192.168.0.1: icmp_seq=2 64 bytes from 192.168.0.1: icmp_seq=3 64 bytes from 192.168.0.1: icmp_seq=4 bytes of data. ttl=64 time=3.47 ttl=64 time=3.13 ttl=64 time=3.51 ttl=64 time=3.11 ms ms ms ms --- 192.168.0.1 ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 3.117/3.307/3.512/0.196 ms [esc@mars ~]$ arp [root@mars ~]# arp Address Iface 192.168.0.1 eth1 [root@mars ~]# HWtype HWaddress ether Flags Mask 00:12:BF:06:1A:E2 C ethtool Affiche ou change les paramètres de cartes ethernet. [root@mars ~]# ethtool eth0 Settings for eth0: Supported ports: [ TP MII FIBRE ] Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 23 de 27 Commandes UNIX - Linux les plus utiles Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised auto-negotiation: Yes Speed: 10Mb/s Duplex: Half Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbags Wake-on: ub SecureOn password: 00:00:00:00:00:00 Current message level: 0x000040c5 (16581) Link detected: no [root@mars ~]# /usr/bin/python /usr/bin/system-control-network La commande /usr/bin/system-control-network (en fait un script écrit en python) permet d’activer et de désactiver les interfaces réseaux. [cours@mars ~]$ /usr/bin/python /usr/bin/system-control-network Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 24 de 27 Commandes UNIX - Linux les plus utiles system-config-network ou neat Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 25 de 27 Commandes UNIX - Linux les plus utiles system-logviewer Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 26 de 27 Commandes UNIX - Linux les plus utiles Divers uname [esc@mars ~]$ uname Linux [esc@mars ~]$ uname -r 2.6.16-1.2080_FC5 [esc@mars ~]$ Préparé par Eric Schmitz Institut Saint Laurent - Enseignement de Promotion Sociale Baccalauréat en Informatique Système d’exploitation 27/11/2006 Page 27 de 27