Mmento GNU/Linux
Copyright 2005, Free Electrons; 2007, Michel Blanc Peut tre distribu librement, selon les termes de la version 2.0 de la licence Creative Commons Paternit Partage sous conditions identiques (http://creativecommons.org/licenses/by-sa/2.0/fr/deed.fr) Original : http://freeelectrons.com/training/intro_unix_linux Version modifie : http://reseau.erasme.org/ Remerciements Hermann J. Beckers et Thierry Grellier. Dernire mise jour: 26 fvr. 2007
faisant une pause chaque page): morefichier1fichier2 lessfichier1fichier2(plus de possibilits) Afficher les 10 premires lignes d'un fichier: head10fichier Afficher les 10 dernires lignes d'un fichier: tail10fichier
Recherche rapide dans tout systme: (utilise un index, les fichiers rcents peuvent manquer): locate"*bar*"
Rediriger sortie de commande
Rediriger sortie de commande vers un fichier: ls*.png>fichiers_image Ajouter la sortie d'une commande un fichier: ls*.jpg>>fichiers_image Rediriger la sortie d'une commande vers l'entre d'une autre: cat*.log|greperreur
Options de tar: c: crer t: tester / lister x: extraire j: (d)compression bzip2 la vole z: (d)compression gzip la vole Manipuler des archives zip: ziprarchive.zip<files>(crer) unziptarchive.zip(tester / lister) unziparchive.zip(extraire)
iprouteadddefaultvia192.168.0.1 Supprimer la route par dfaut: iproutedeldefault Tester la connexion rseau avec une machine: ping207.46.130.108
Bases d'administration systme
Redmarrer la machine dans 5 minutes: shutdownr+5 Eteindre la machine immdiatement: shutdownhnow (ou halt)
Modles de noms de fichiers
*tous les fichers .*tous les fichiers "cachs" *.logfichiers finissant par '.log' *bug*fichiers avec 'bug' dans leur nom *.?fichiers finissant par '.' et suivis d'un caractre
Imprimer
Envoyer fichiers PostScript ou texte sur queue: lprPqueuef1.psf2.txt(local printer) Lister les tches d'impression dans queue: lpqPqueue Annuler la tche n123 dans queue: cancel123queue lprmPqueue123
Grer fichiers et rpertoires
Crer un rpertoire (make directory): mkdirrp Crer des rpertoires imbriqus: mkdirprp1/rp2 Changer de rpertoire (change dir): cdnouveau_rp cd..(rpertoire parent) cd(rpertoire personnel) cd~alice (rpertoire personnel de alice) Afficher rpertoire courant (print working dir): pwd Copier un fichier vers un autre: cpfichier_origfichier_dest Copier des fichiers dans un rpertoire: cpfichier1fichier2rp Copier des rpertoires entiers (recursively): cprrp_origrp_dest rsyncarp_orig/rp_dest/ Crer un lien symbolique: lnsfichier_origlien Renommer un fichier, lien ou rpertoire: mvfichier_origfichier_dest Supprimer (remove) des fichiers ou des liens: rmfichier1fichier2 Supprimer un rpertoire (remove dir): rmdirrp Supprimer un rpertoire non vide (force): rmrfrp
Contrle de tches
Afficher tous les processus excuts: psef Classement en direct des processus (P, M, T: trie par utilisation Proc, Mm ou Temps CPU): top Afficher la mmoire libre: free Afficher la mmoire virtuelle toutes les n secs: vmstatn Envoyer un signal d'arrt un processus: kill<pid>(numro indiqu par ps) Faire tuer un processus par le systme: kill9<pid> Tuer tous processus que l'on a le droit de tuer: kill91 Tuer tous processus appels windows: killallwindows Tuer une application en mode graphique: xkill(cliquer sur la fentre du programme)
Gestion des filesystems
Crer ou supprimer des partitions sur le premier disque IDE: fdisk/dev/hda1 Crer (formater) un systme de fichiers ext3: mkfs.ext3/dev/hda1 Crer (formater) un systme de fichiers FAT32: mkfs.vfatvF32/dev/hda2 Monter une partition formate: mkdir/mnt/cleusb(ncessaire une seule fois) mount/dev/uba1/mnt/cleusb Monter image de systme de fichiers (loopback) mountoloopinitrd.img/mnt/initrd Utiliser un fichier comme un block device losetup/dev/loop0fichier losetupd/dev/loop0 (librer le device) Dmonter un systme de fichiers: umount/mnt/cleusb Crr un volume RAID: mdadmC/dev/md0l1n2/dev/hda /dev/hdb Visualiser l'tat d'un volume RAID: mdadmD/dev/md0 Marquer un disque comme dfaillant: mdadm/dev/md0f/dev/hda Sortir un disque du volume RAID: mdadm/dev/md0r/dev/hda Ajouter un disque dans un volume: mdadm/dev/md0a/dev/hda Prparer un volume physique pour LVM: pvcreateblockdev1...blockdevN Crer un volume group LVM: vgcreatemonvgblockdev1...blockdevN Crer un volume logique LVM de 30Mb: lvcreatenvol1L30Mmonvg Etendre un volume logique de 5Mb: lvextendL5M/dev/mapper/monvg/vol1 Rduire un volume logique de 15Mb: lvreduceL15M/dev/mapper/monvg/vol1 Crer un volume TrueCrypt (fichier ou device): truecryptc
Grer le contenu des fichiers
N'afficher que les lignes d'un fichier contenant une expression donne: grepexpressionfichier Recherche insensible aux majusc. / minusc.: grepiexpressionfichier Afficher toutes les lignes sauf celles qui contiennent une expression: grepvexpressionfichier Recherche rcursive dans un rp.: greprexpressionrp Trier les lignes d'un fichier: sortfichier Trier, n'afficher qu'1 fois les lignes identiques: sortufichier(ou uniq) uniqc (id. et compte chaque lment)
Gestion des utilisateurs
Afficher les utilisateurs connects au systme: who Afficher sous quel utilisateur je suis connect: whoami Afficher quel groupe appartient utilisateur: groupsutilisateur Passer l'utilisateur hulk: suhulk Passer au super-utilisateur (root): su sudoi su(sans changer de rp. ni d'environnement) Excuter une commande en tant que root: sudocommande
Droits d'accs aux fichiers
Ajouter droits en criture au propritaire: chmodu+wfichier(user, write) Ajouter droits en lecture au groupe du fichier: chmodg+rfichier(group, read) Ajouter droits d'excution aux autres utilisat.: chmodo+xfichier Ajouter droits lecture / criture tous (all): chmoda+rwfichier Rendre fich. excutables excutables par tous: chmoda+rX* Rendre le rpertoire et tous les fichiers qu'il contient accessibles par tous les utilisateurs: chmodRa+rXrp(recursive) Changer le propritaire et le groupe d'un rpertoire et tout ce qu'il contient: chownRnouvproprio:nouvgrouperp
Taille de fichiers et partitions
Afficher l'espace total occup sur le disque par des fichiers ou des rpertoires (disk usage) dushrp1rp2fichier1fichier2 Nombre de caractres, mots et lignes: wcfichier(word count) Afficher la taille, le Type, l'espace total et l'espace libre dans la partition courante: dfTh. Afficher cette info pour toutes les partitions: dfTh
Grer le temps
Attendre 60 secondes: sleep60 Afficher la date actuelle: date Mettre l'heure ntp : ntpdatetime.nist.gov Mesurer le temps pris par une commande: timetrouve_prince_charmantbeauriche
Afficher les noms de fichiers
numrer (list) les fichiers ordinaires (ne commenant pas par .) dans le rp. courant: ls Afficher une liste dtaille (long): lsl numrer tous (all) les fichiers dans le rp. courant (y compris ceux commenant par .): lsa Trier par date (time) (d'abord les plus rcents): lst Trier par taille (size) (d'abord les plus gros) lsS Affichier en inversant (reverse) l'ordre de tri: lsr
Compresser
Compresser un fichier: bzip2fichier(meilleur taux de compression) gzipfichier Dcompresser un fichier: bunzip2fichier.bz2 gunzipfichier.gz
Aide sur les commandes
Aide de base (pour la plupart des commandes): commandehelp(parfois 'h') Voir le manuel complet d'une commande: mangrep helpcd(commandes internes du shell)
Comparer: fichiers, rpertoires
Comparer 2 fichiers: difffichier1fichier2 Comparer 2 rpertoires: diffrrp1rp2
Rseau
Vrifier l'tat d'un lien Ethernet: ethtools<interface> Afficher toutes les interface rseau disponibles: iplinkshow
Manipuler des archives
Crer une archive compresse (tape archive) tarjcvfarchive.tar.bz2rp/(le mieux!) tarzcvfarchive.tar.gzrp/ Tester (lister) une archive compresse: tarjtvfarchive.tar.bz2 tarztvfarchive.tar.gz Extraire les fichiers d'une archive compresse: tarjxvfarchive.tar.bz2 tarzxvfarchive.tar.gz
Rechercher des fichiers
Rechercher tous les fichiers dans le rpertoire courant (.) avec log dans leur nom: find.name"*log*" Trouver tous les fichiers en .pdf dans rp et excuter une commande sur chacun: find.name"*.pdf"execxpdf{}';'
Afficher le contenu des fichiers
Afficher bout bout le contenu de fichiers: catfichier1fichier2(concatenate) Afficher le contenu de plusieurs fichiers (en
(D)Monter un volume TrueCrypt: Assigner une adresse IP une interface rseau: truecryptvolume/mnt/crypto (-d) ipaddressadd207.46.130.108deveth0 Crer un volume luks: cryptsetupluksFormat/dev/ice Dsactiver une interface rseau: iplinksetdeveth0down Ouvrir un volume luks (monter ensuite crypdv): cryptsetupluksOpen/dev/icecryptdv Dfinir une passerelle par dfaut:
Expressions rgulires
dans grep, vi, sed, ... les caractres ?, +, {, |, (, et ) doivent tre prcds d'un antislash ( \)
. n'importe quel caractre * caractre prcdent 0 fois ou + + caractre prcdent 1 fois au moins ? le caractre prcdent 0 ou 1 fois {n} le caractre prcdent n fois {m,n} le caractre prcdent de m n fois {n,} le caractre prcdent n fois ou plus [az] un caractre en minuscule [azAZ] une lettre [09] un chiffre ^/$ le dbut/la fin de ligne | sparateur (ou logique) [[:alnum:]][[:alpha:]] ou [[:digit:]] [[:digit:]][09] [[:alpha:]][[:upper:]] ou [[:lower:]] [[:space:]]espace ou tabulation [[:lower:]] [az]([[:upper:]] : [AZ]) [[:print:]]caractre imprimable ou espace [[:xdigit:]][AFaf09]
Vi
Modes
i(<ins>) mode insertion <esc> mode commande o ajouter une ligne aprs la ligne courante et passer en insersion
* #
aller la prochaine occurrence du mot sous le curseur aller l'occurence prcdente du mot sous le curseur
Remplacer
:m,ns/a/b/gremplace a par b entre les lignes m et n :1,$s/a/b/gremplace a par b dans tout le fichier :%s/a/b/g idem
Sortir, sauver
:w :wnom :w>>nom :q :q! :x(:wq) :enom :e!nom :e! sauver le fichier sauver dans le fichier nom sauver la fin du fichier nom quitter sans sauver quitter de force sans sauver sauver et quitter ferme le fichier courant et dite le fichier nom ferme le fichier courant de force et dite le fichier nom annule tous les changements et revient au fichier original
Signets
mx 'x d'x '. cre le signet x va au signet x coupe jusqu'au signet x aller la dernire ligne dite
Macros
qx q @x n@x enregistre la macro x termine l'enregistrement de la macro invoque la macro x invoque n fois la macro x
(en mode insertion) <ctrnx><ctrll> propose une compltion pour la ligne entire (en mode insertion) <ctrlr>=op insre le rsultat de l'opration (mode insertion) J fusionner deux lignes K voir la page de man du mot sous le curseur ga affiche la valeur ascii du caractre gf ouvre le fichier sous le curseur <ctrla> incrmente le nombre sous le curseur <ctrlx> dcrmente le nombre sous le curseur :help aide c comme d, mais passe en mode insertion . rpte la dernire commande :Ex ouvre l'explorateur de fichiers :Sex ouvre l'explorateur de fichiers dans un split
Emacs
Sortir, sauver
les commandes ce cette section sont prcdes de <ctrl-x>
<ctrlf> ouvrir un fichier <ctrls> sauver le fichier <ctrlw>fienregistrer sous fi <ctrlc> quitter
Dplacements
<ctrla> <ctrle> <ctrl> <ctrl> <esc>< <esc>> dbut de ligne fin (end) de ligne mot suivant mot prcdent dbut du fichier fin du fichier
Copier, couper, coller
<ctrlespace>pose une marque de dbut <ctrlk> couper (kill) la fin de la ligne <ctrly> coller (yank) <ctrlw> coupe de la marque au curseur <ctrld> efface (delete) le caractre droite du curseur <esc>d efface le mot droite du curseur
Raccourcis bash
dbut de ligne fin (end) de ligne mot suivant mot prcdent couper (kill) la fin de la ligne coller (yank) efface (delete) le caractre droite du curseur <esc>d efface le mot droite du curseur <ctrlt> transposer deux caractres <esc>t transpose le mot prcdent et le suivant <ctrlr> rechercher dans l'historique <ctrll> effacer l'cran (quivalent clear) <ctrld> envoie le caractre 'fin de fichier' <ctrlc> arrter la commande en cours <ctrlz> stopper la commande en cours <tab> complte l'lment <tab><tab>affiche les compltions possibles <ctrla> <ctrle> <ctrl> <ctrl> <ctrlk> <ctrly> <ctrld>
Invoquer vi
Apprendre vi vimtutorfr Ouvrir un fichier distant viscp://user@host//path/to/file viftp://user@host/path/to/file Multi-file edit (passer d'un fichier au suivant par :n) vifichier1fichier2... Utiliser la version graphique de vim gvim
Dplacements
h j k l ^^ $ gg G nG w b <ctrlf> <ctrlb> fx tx H M L dplacement vers la droite dplacement vers le bas dplacement vers le haut dplacement vers la gauche dbut de ligne fin de ligne premire ligne (ou 1G) dernire ligne ligne n (ou :n) mot suivant mot prcdent page suivante page prcdente aller aprs le prochain caractre x de la ligne aller avant le prochain caractre x de la ligne aller en haut de l'cran aller au milieu de l'cran aller en bas de l'cran
Registres
:reg "n "nd$ "np liste les registres et leur contenus slectionne le registre n coupe la fin de la ligne courante et la sauve dans le registre n colle le contenu du registre n
Numration
<ctrlu>ncmdexcute n fois cmd
Shell
:!cmd :%!cmd :r!cmd !'xcmd :shell excuter cmd dans un shell remplace la totalit du buffer par le rsultat de la commande cmd excute sur le buffer insre le rsultat de cmd excute la commande shell cmd sur le texte jusqu'au signet x dmarre un shell sous vi
Rechercher
<ctrls>motifrechercher (search) motif <ctrls> recherche l'occurrence suivante <ctrlr> motif recherche arrire
Variables .vimrc
Utiliser l'indentation automatique setautoindent Taille de l'indentation settabstop=4 setshiftwidth=4 Affichage de la parenthse/ du crochet/de l'accolade correspondant setshowmatch Utilise la cloche visuelle plutt que le beep setnoerrorbells setvb Affiche/n'affiche pas les correspondances de recherches en surbrillance sethls setnohls Recherche incrmentale en cours de frappe setincsearch Permet vim de fonctionnel en ode noncompatible vi setnocompatible Utilise la coloration syntaxique syntaxon Dfinit les raccourcis <ctrl-j> et <ctrl-k> pour passer d'une fentre l'autre en la maximisant map<CJ><CW>j<CW>_ map<CK><CW>k<CW>_ Dfinit le raccourci <F10> pour enregistrer le fichier et quitter map<F10>:wq<CR>
Remplacer
<esc>% remplacer en rponse la question : y remplace, n ne remplace pas, ! remplace toutes les occurrences
Historique et job control bash
!! !texte !n cmd& fg%n bg%n kill%n jobs history r-excuter la dernire commande excuter la dernire commande commenant par texte excuter la commande numro n excuter la commande cmd en arrire plan mettre le travail n en avant plan (sans argument : le dernier travail) mettre le travail n en arrire plan (sans argument : le dernier travail) terminer le travail n affiche la liste des travaux du shell affiche l'historique des commandes
Fentres (splits)
:spfic :vspfic
Copier, couper, coller
x yy y^ y$ yw dd d^ d$ dw P p coupe le caractre sous le curseur copie la ligne courante entire copie la ligne du dbut au curseur copie la ligne du curseur la fin copie le mot suivant coupe la ligne courante entire coupe la ligne du dbut au curseur coupe la ligne du curseur la fin coupe le mot suivant colle avant la position courante colle aprs la position courante
les commandes :q, :w, ... s'appliquent dans chaque fentre
coupe (split) l'cran en deux et charge fic dans la 2 moiti coupe l'cran en deux verticalement et charge fic dans la 2 moiti
Shell
<esc>xshelldmarre un shell <esc>!cmd excute cmd <esc>|cmdexcute cmd sur le contenu de la rgion marque
Raccourcis less (ou man)
<espace> <return> n<return> b nb q /texte n > < v !command avance d'une page avance d'une ligne avance de n lignes recule (back) d'une page recule de n lignes quitter less rechercher la chaine texte rechercher l'occurence suivante va au dbut du fichier va la fin du fichier edite le fichier en cours excute command dans un shell
Numrations
nyy ndd nyw ndw ...
vi permet d'appliquer une commande n zones
copie les n lignes suivantes coupe les n lignes suivantes coupe les n mots suivants coupe les n mots suivants
les commandes ci-dessous doivent tre prcdes de <ctrl-w> <ctrlw> passe au split suivant k passe au split suprieur j passe au split infrieur + augmente la taille du split d'1 ligne (n<ctrlw>+ augmente la taille du split de n lignes) diminue la taille du split d'1 ligne _ maximise le split courant s coupe l'cran en deux avec le contenu de la fentre courante n ajoute un split vide
Buffers
<ctrlx>b passe au buffer suivant <ctrlx>bnompasser au buffer nom <ctrlx>k supprimer le buffer courant
Fentres
<ctrlx>2 diviser l'cran en 2 fentres <ctrlx>o aller dans l'autre (other) fentre <ctrlx>1 1 seule fentre dans l'cran
Divers
<ctrlx>uannuler la dernire commande <ctrlg> annuler une commande en cours <ctrlt> transposer deux caractres <esc>t transpose le mot prcdent et le suivant <ctrll> centre l'cran sur la ligne courante
Divers
u <ctrlr> <ctrll> <ctrlg> <ctrln> annuler refaire redessiner l'cran affiche des informations sur le fichier propose une compltion sur un mot
Rechercher
/motif ?motif n p recherche recherche recherche recherche motif vers le bas motif vers le haut la prochaine occurrence l'occurrence prcdente