« Commandes UNIX » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
Ligne 723 : Ligne 723 :


<div class=code>
<div class=code>
$ locate -n 10 conf
<nowiki>#</nowiki> locate -n 10 conf
 
/boot/config <br />
/boot/config-2.6.33.5-server-2mnb <br />
/boot/config-2.6.33.7-server-2mnb <br />
/etc/esd.conf <br />
/etc/fax.config <br />
/etc/gconf <br />
/etc/host.conf <br />
/etc/initlog.conf <br />
/etc/krb5.conf <br />
/etc/ksmtuned.conf
</div>
</div>



Version du 21 août 2011 à 14:27

Attention ! Cet article est en cours de rédaction. Il n'a donc encore été ni relu, ni corrigé, ni validé par un modérateur.
Léa vous encourage à éditer les articles pour les améliorer ou les corriger.

Les commandes Unix

par Jiel

Introduction

Cette documentation a pour but de recenser les principales commandes UNIX communes à tous les Unices et à GNU/Linux. La liste ne sera peut-être pas exhaustive, mais elle devrait vous mettre un bon pied à l'étrier.

Certaines d'entre elles font partie du shell, d'autres sont des exécutables situés dans /usr/bin ou /usr/local/bin.

Les commandes ci-dessous ont été regroupées par catégories pour plus de clarté, elles sont fournies avec un exemple et éventuellement un lien vers une documentation de Léa donnant plus de précision.

Pour rappel, une commande est un mot clef que l'ont tape dans un shell, souvent suivie de paramètres appelés arguments : des options (habituellement précédées du caractère - pour leur forme courte ou des caractères -- pour leur forme longue) et des chaînes de caractères (très souvent un fichier ou une expression rationnelle).

Il peut être utile de lire la documentation sur Le shell avant de jouer avec les commandes.

Enfin, certaines commandes existent en plusieurs versions. Dans cette documentation, c'est la version GNU ou la version présente sous GNU/Linux qui a été choisie pour les exemples.

N'oubliez pas non plus que certaines commandes ne sont accessibles qu'au super-utilisateur.

Sous Unix, la plupart des programmes sont accessibles par des commandes, telles que mplayer, mozilla-firefox etc. Dans la liste ci-dessous ne figure que les commandes de base. Les commandes en mode texte plus compliquées, qui équivalent à un logiciel complet, tels que les éditeurs de texte (emacs, vi) ou screen n'ont volontairement pas été inclues.



Aide et informations

@ Voir sur Léa : Découvrir GNU/Linux - Trouver de l'aide

man

man affiche le manuel d'une commande. S'il n'y avait qu'une seule commande à connaître, ce serait assurément celle-là.

Exemple : afficher la page de manuel (ci-dessous le début, elles sont généralement très longues) de la commande ls.

$ man ls

LS(1L) Manuel de l'utilisateur Linux LS(1L)


NOM

      ls, dir, vdir - Afficher le contenu d'un répertoire.

SYNOPSIS

      ls [options] [fichier...]
      Options POSIX : [-1acdilqrtuCFR]
      Options  GNU  (forme courte) : [-1abcdfgiklmnopqrstuxABCD­
      FGLNQRSUX] [-w cols] [-T cols]  [-I  motif]  [--full-time]
      [--format={long,verbose,commas,across,vertical,single-col­
      umn}]                  [--sort={none,time,size,extension}]
      [--time={atime,access,use,ctime,status}]
      [--color[={none,auto,always}]] [--help] [--version] [--]

DESCRIPTION

      La commande ls affiche  tout  d'abord  l'ensemble  de  ses
      arguments  fichiers  autres  que  des répertoires. Puis ls
      affiche  l'ensemble  des  fichiers  contenus  dans  chaque
      répertoire  indiqué.   dir et vdir sont des versions de ls
      affichant par défaut leurs résultats  avec  d'autres  for­
      mats.

info

info est une commande GNU, alternative à man, qui permet d'afficher des informations très complètes en anglais sur une commande passée en argument, et de naviguer dans les pages info.

Exemple : Informations (ci-dessous le début) sur la commande d'archivage tar.

$ info tar

File: tar.info, Node: tar invocation, Next: operations, Prev: Tutorial, Up: Top

3 Invoking GNU `tar'
********************

This chapter is about how one invokes the GNU `tar' command, from the command synopsis (*note Synopsis::). There are numerous options, and many styles for writing them. One mandatory option specifies the operation `tar' should perform (*note Operation Summary::), other options are meant to detail how this operation should be performed (*note Option Summary::). Non-option arguments are not always interpreted the same way, depending on what the operation is.

  You will find in this chapter everything about option styles and

rules for writing them (*note Styles::). On the other hand, operations and options are fully described elsewhere, in other chapters. Here, you will find only synthetic descriptions for operations and options, together with pointers to other parts of the `tar' manual.

whatis

whatis affiche la description courtes de la page de manuel d'une commande passée en paramètre.

Exemple : trouver à quoi sert la commande grep.

$ whatis grep

grep (1) - print lines matching a pattern

apropos

apropos ressemble à whatis, mais au lieu de passer le nom exact de la commande en argument, on donne un mot-clef (utile quand on cherche une commande).

Exemple : savoir les commandes qui contiennent le mot-clef « grep ».

$ apropos grep

zgrep (1) - rechercher une expression rationnelle dans des fichiers pouvant être compactés
zipgrep (1) - recherche dans les fichiers d'une archive zip les lignes contenant un motif
bzegrep [bzgrep] (1) - search possibly bzip2 compressed files for a regular expression
bzfgrep [bzgrep] (1) - search possibly bzip2 compressed files for a regular expression
bzgrep (1) - search possibly bzip2 compressed files for a regular expression
egrep [grep] (1) - print lines matching a pattern
fgrep [grep] (1) - print lines matching a pattern
grep (1) - print lines matching a pattern
pgrep (1) - look up or signal processes based on name and other attributes
pkill [pgrep] (1) - look up or signal processes based on name and other attributes
xzgrep (1) - search compressed files for a regular expression
zgrep (1) - search possibly compressed files for a regular expression
zipgrep (1) - search files in a ZIP archive for lines matching a pattern

Remarque : la commande man -k donne le même résultat.

--help et -h

L'option --help (ou -h en forme courte) fonctionne avec presque toutes les commandes. Affiche une aide succincte et liste les arguments qui peuvent être passés à la commande.


Exemple : --help sur la commande shell de Firefox.

$ mozilla-firefox --help

Usage: mozilla-firefox [ options ... ] [URL]

      where options include:

X11 options

       --display=DISPLAY               X display to use
       --sync          Make X calls synchronous
       --no-xshm               Don't use X shared memory extension
       --xim-preedit=STYLE
       --xim-status=STYLE
       --g-fatal-warnings              Make all warnings fatal

Firefox options

       -h or -help             Print this message.
       -v or -version          Print Firefox version.
       -P <profile>            Start with <profile>.
       -migration              Start with migration wizard.
       -ProfileManager         Start with ProfileManager.
       -no-remote              Open new instance, not a new window in running instance.
       -UILocale <locale>      Start with <locale> resources as UI Locale.
       -safe-mode              Disables extensions and themes for this session.
 -jsconsole           Open the Error console.
 -browser            Open a browser window.
 -private            Enable private browsing mode.
 -setDefaultBrowser   Set this app as the default browser.

uname

uname affiche les informations systèmes de la machine.

Exemple : afficher toutes les informations disponibles sur la version du système d'exploitation et le type de la machine.

$ uname -a

Linux localhost 2.6.37.6 #3 SMP Sat Apr 9 22:49:32 CDT 2011 x86_64 Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz GenuineIntel GNU/Linux

date

date affiche ou initialise la date et l'heure du système.

Exemple : afficher la date au format européen.

$ date +%d/%m/%Y

18/02/2011

Exemple : définir la date du jour comme le 18 février 2011 et l'heure à 3h05.

# date

Thu Aug 11 00:59:24 CEST 2011

# date -s "02/18/2011 03:05:00"

Fri Feb 18 03:05:00 CET 2011

cal

cal (calendar) affiche le calendrier.

Exemple : afficher le calendrier au format français (avec le lundi en début de semaine).

$ cal -m

    août 2011     

lu ma me je ve sa di
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

type

type affiche des informations sur le type d'une commande, c'est à dire si c'est une commande du shell, un alias, une sous-routine etc.

Exemple : afficher les informations sur ls, ll et echo.

$ type ls

ls est /bin/ls

$ type ll

ll est un alias vers « ls -l »

$ type echo

echo est une primitive du shell

dmesg

dmesg affiche la mémoire tampon de message du noyau Linux, donc permet de contrôler l'état et les caractéristiques du matériel.

Exemple : afficher les messages de diagnostic qui contiennent les caractéristiques de chaque périphérique (ci-dessous, des extraits du résultat.

# dmesg

[ 0.586349] pnp 00:02: [io 0x0000-0xffffffffffffffff disabled]
[ 0.586350] pnp 00:02: [io 0x0a00-0x0a1f]
[ 0.586351] pnp 00:02: [io 0x0290-0x029f]
[ 0.586352] pnp 00:02: [io 0x0a20-0x0a2f]
[ 0.586384] pnp 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.586392] pnp 00:03: [dma 4]
[ 0.586393] pnp 00:03: [io 0x0000-0x000f]
[ 0.586395] pnp 00:03: [io 0x0081-0x0083]
[ 0.586396] pnp 00:03: [io 0x0087]
[ 0.586397] pnp 00:03: [io 0x0089-0x008b]
[ 0.586398] pnp 00:03: [io 0x008f]
[ 0.586399] pnp 00:03: [io 0x00c0-0x00df]
[ 0.586424] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)
(...)
[ 3.679823] GDT-HA: Storage RAID Controller Driver. Version: 3.05
[ 3.679938] 3ware Storage Controller device driver for Linux v1.26.02.003.
[ 3.680019] 3ware 9000 Storage Controller device driver for Linux v2.26.02.014.
[ 3.680585] LSI 3ware SAS/SATA-RAID Controller device driver for Linux v3.26.02.000.
[ 3.680692] ipr: IBM Power RAID SCSI Device Driver version: 2.5.1 (August 10, 2010)
[ 3.680801] RocketRAID 3xxx/4xxx Controller driver v1.6 (090910)
[ 3.680882] stex: Promise SuperTrak EX Driver version: 4.6.0000.4
[ 3.681014] st: Version 20100829, fixed bufsize 32768, s/g segs 256
[ 3.681297] ata_piix 0000:00:1f.2: version 2.13
[ 3.681310] ata_piix 0000:00:1f.2: PCI INT B -> GSI 20 (level, low) -> IRQ 20
[ 3.681378] ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
[ 3.832475] ata_piix 0000:00:1f.2: SCR access via SIDPR is available but doesn't work
[ 3.832588] ata_piix 0000:00:1f.2: setting latency timer to 64
[ 3.832852] scsi0 : ata_piix
[ 3.832983] scsi1 : ata_piix
[ 3.833825] ata1: SATA max UDMA/133 cmd 0xf110 ctl 0xf100 bmdma 0xf0d0 irq 20
(...)



Utilisateurs et permissions

id

id (identity) affiche le nom de l'utilisateur courant et le numéro associé, ainsi que son groupe et le numéro associé.

Exemple : afficher mes numéros d'utilisateur et de groupe.

$ id

uid=1000(lea) gid=100(users) groups=100(users),11(floppy),17(audio),18(video),19(cdrom),93(scanner)

finger

finger affiche des informations sur un utilisateur.

Exemple : afficher les informations de l'utilisateur Léa.

$ finger lea

Login: lea Name: (null)
Directory: /home/lea Shell: /bin/bash
On since Sun Aug 21 13:04 (CEST) on tty1 23 minutes 13 seconds idle
On since Sun Aug 21 13:04 (CEST) on pts/0 from :0
7 minutes 54 seconds idle
(messages off)
On since Sun Aug 21 13:04 (CEST) on pts/1 from :0
22 minutes 56 seconds idle
On since Sun Aug 21 13:19 (CEST) on pts/2 from :0 (messages off)
No mail.
No Plan.

who

who affiche la liste des utilisateurs connectés au système.

Exemple : savoir qui est connecté.

$ who

lea :0 2011-08-21 13:09
lea pts/0 2011-08-21 13:10
jiel pts/1 2011-08-21 13:17

w

w affiche la liste des utilisateurs connectés au système et ce qu'ils font actuellement.

Exemple : savoir qui fait quoi.

$ w

13:56:44 up 48 min, 5 users, load average: 0,00, 0,00, 0,00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
lea :0 13:09 ?xdm? 3:26 0.05s /bin/sh /usr/bin/startkde
lea pts/0 13:10 47:04 0.03s 0.03s /bin/bash
jiel pts/1 13:17 47:04 0.01s 0.01s /bin/bash
lea pts/2 13:10 0.00s 0.04s 0.00s w
lea pts/3 13:10 3.00s 0.03s 0.00s lftp
lea pts/4 13:10 46:58 0.00s 0.44s kdeinit4: kded4 [kdeinit]

whoami

whoami affiche sous quel nom d'utilisateur on est actuellement connecté au système.

Exemple : savoir qui on est.

$ whoami

lea

who am i

who am i affiche sous quel nom d'utilisateur on s'est connecté au système au départ.

Exemple : je suis actuellement en root, mais je voudrais savoir qui j'étais au départ.

# whoami

root

# who am i

lea

su

su (switch user ou super user) permet de changer d'utilisateur.

Exemple : se loguer en root.

$ su

Exemple : lancer un nouveau terminal en Léa avec les variables d'environnements de Léa.

$ su - lea

sudo

sudo exécute un processus avec les droits d'un autre utilisateur selon les règles définies dans le fichier /etc/sudoers.

Exemple : on est déjà logué en léa et on veut lister les partitions, ce qui normalement nécessite les privilèges root.

$ sudo fdisk -l

useradd

useradd créé un utilisateur.

Exemple : création de l'utilisateur Léa avec répertoire principal, groupe, numéro de compte et mot de passe.

# useradd -d /home/lea -g manchots -u 1010 -p durmotdepasse lea

adduser

adduser créé un utilisateur de manière interactive. Les paramètres du nouveau compte d'utilisateur sont demandés un à un.

Exemple : création de l'utilisateur Léo.

# adduser

Login name for new user []: leo

User ID ('UID') [ defaults to next available ]:

Initial group [ users ]: manchots
- Group 'manchots' does not exist
- Please choose another
Initial group [ users ]: users
Additional UNIX groups:

Users can belong to additional UNIX groups on the system. For local users using graphical desktop login managers such as XDM/KDM, users may need to be members of additional groups to access the full functionality of removable media devices.

* Security implications *
Please be aware that by adding users to additional groups may potentially give access to the removable media of other users.

If you are creating a new user for remote shell access only, users do not need to belong to any additional groups as standard, so you may press ENTER at the next prompt.

Press ENTER to continue without adding any additional groups Or press the UP arrow key to add/select/edit additional groups :

Home directory [ /home/leo ]

Shell [ /bin/bash ]

Expiry date (YYYY-MM-DD) []: 2012-02-18

New account will be created as follows:

---------------------------------------
Login name.......: leo
UID..............: [ Next available ]
Initial group....: users
Additional groups: [ None ]
Home directory...: /home/leo
Shell............: /bin/bash
Expiry date......: 2012-02-18

This is it... if you want to bail out, hit Control-C. Otherwise, press ENTER to go ahead and make the account.

userdel

userdel supprime un utilisateur.

Exemple : supprimer l'utilisateur stevejobs.

# userdel stevejobs

groupadd

groupadd crée un groupe.

Exemple : créer le groupe manchots.

# groupadd -g 123 manchots

addgroup

addgroup crée un groupe de manière interactive.

Exemple : créer le groupe manchots.

# addgroup manchots

groupdel

groupdel supprime un groupe.

Exemple : supprimer le groupe fenêtres.

# groupdel fenetres

chown

chown (change owner) change le propriétaire d'un fichier ou dossier, et éventuellement le groupe associé en même temps.

Exemple : attribuer un fichier à l'utilisateur Léa du groupe Manchots.

$ chown lea:manchots mon_fichier

chgrp

chgrp (change group) change le groupe d'utilisateur possédant un fichier ou un dossier.

Exemple : attribuer un fichier le groupe Manchots.

$ chgrp manchots mon_fichier

chmod

chmod (change mode) changer les permissions d'un fichier ou d'un répertoire. Il existent deux façons de passer les permissions : notation octale ou avec des lettres.

  • r (4) : autorisation de lecture
  • w (2) : autorisation d'écriture
  • x (1) : autorisation d'exécution

Exemple : Donner tous les droits à l'utilisateur, le droit de lecture et d'éxécution pour les membres de son groupe et rien pour les autres sur un répertoire (via la notation octale).

$ chmod 750 mon_rep

Exemple : la même chose avec des lettres.

$ chmod u+rwx mon_rep

$ chmod g+rx mon_rep

$ chmod o-rwx mon_rep

env

env (environment) affiche les variables d'environnement ou défini l'environnement pour l'éxécution d'une commande.

Exemple : afficher les variables d'environnement de l'utilisateur actuellement connecté (extrait).

$ env

LC_PAPER=fr_FR.UTF-8
LESSKEY=/etc/.less
KDE_MULTIHEAD=false
LC_ADDRESS=fr_FR.UTF-8
LC_MONETARY=fr_FR.UTF-8
HOSTNAME=localhost
DM_CONTROL=/var/run/xdmctl
XDG_MENU_PREFIX=kde-
SHELL=/bin/bash
TERM=xterm
CANBERRA_DRIVER=pulse
LC_SOURCED=1
XDM_MANAGED=method=classic
HISTSIZE=1000
TMPDIR=/tmp/
KONSOLE_DBUS_SERVICE=:1.29
QT_XFT=0
GS_LIB=/home/jiel/.fonts
LC_NUMERIC=fr_FR.UTF-8
WINDOWID=44040220
QTDIR=/usr/lib/qt4
QTINC=/usr/lib/qt3/include
GTK_MODULES=canberra-gtk-module
KDE_FULL_SESSION=true
USER=jiel
LC_TELEPHONE=fr_FR.UTF-8
QT4DOCDIR=/usr/share/doc/qt4/doc
ENV=/root/.bashrc
USERNAME=root
SESSION_MANAGER=local/localhost:@/tmp/.ICE-unix/4350,unix/localhost:/tmp/.ICE-unix/4350
SCREENDIR=/home/jiel/tmp
XDG_CONFIG_DIRS=/etc/xdg:/etc/xdg/kde4
MAIL=/var/spool/mail/jiel
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/lib/qt4/bin
DESKTOP_SESSION=default
LC_MESSAGES=fr_FR.UTF-8
LC_COLLATE=fr_FR.UTF-8

Exemple : réinitialiser l'environnement pour un nouveau shell.

$ env -i /bin/sh



Navigation dans l'arborescence et recherche

cd

cd (change directory) permet de se déplacer dans l'arborescence.

Exemple : aller dans le répertoire /tmp.

$ cd /tmp

Exemple : reculer dans le répertoire parent.

$ cd ..

ls

ls (list) liste les éléments présents dans un répertoire.

Exemple : lister avec détails la liste des fichiers présents dans le répertoire courant en incluant les fichiers cachés.

$ ls -la

total 40
drwx------ 2 jiel users 256 Aug 2 17:07 .
drwxr-xr-x 26 bin bin 4096 Jul 28 14:12 ..
-rwxr----- 1 jiel users 325 Jul 7 15:30 .profile
-rw------- 1 jiel users 476 Aug 2 17:07 .sh_history
-rw------- 1 jiel users 18 Aug 2 17:07 .vi_history
-rwx------ 1 jiel users 50 Aug 2 17:07 lea.txt

pwd

pwd (print working directory) affiche l'endroit où l'on est dans l'arborscence.

Exemple : où suis-je ?

$ pwd

/var/log

find

find cherche des fichiers dans un ou plusieurs répertoires selon des critères précis.

Exemple : chercher des fichiers dont le nom contient youpi à partir de la racine.

# find / -name "*chnappi*"

/home/lea/videos/Schnappi_-_Schnappi_das_kleine krokodil (live).mpeg
/home/lea/musique/Joy_Gruttmann_-_Schnappi_(live).ogg

Exemple : afficher la liste des fichiers sous /usr/lib qui ont été modifiés ces 7 derniers jours (extrait).

# find /usr/lib -type f -a -mtime -7 -print

/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/javaws
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/tnameserv
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/rmid
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/pack200
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/orbd
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/policytool
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/servertool
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/rmiregistry
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/keytool
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/itweb-settings
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java
(...)
/usr/lib/firefox-3.6.20/defaults/preferences/kde.js
/usr/lib/firefox-3.6.20/defaults/preferences/channel-prefs.js
/usr/lib/firefox-3.6.20/defaults/preferences/firefox-branding.js
/usr/lib/firefox-3.6.20/defaults/preferences/reporter.js
/usr/lib/firefox-3.6.20/defaults/preferences/firefox.js
/usr/lib/firefox-3.6.20/defaults/preferences/firefox-l10n.js
/usr/lib/firefox-3.6.20/defaults/profile/chrome/userContent-example.css
/usr/lib/firefox-3.6.20/defaults/profile/chrome/userChrome-example.css
/usr/lib/firefox-3.6.20/defaults/profile/prefs.js
/usr/lib/firefox-3.6.20/defaults/profile/localstore.rdf
/usr/lib/firefox-3.6.20/defaults/profile/mimeTypes.rdf
/usr/lib/firefox-3.6.20/LICENSE
/usr/lib/firefox-3.6.20/run-mozilla.sh
(...)

locate / slocate

locate (slocate en version plus sécurisée) permet de trouver des fichiers dans une base de données de fichiers précédemment créée par la commande updatedb.

Exemple : afficher les dix premiers fichiers contenant la chaîne conf.

# locate -n 10 conf

/boot/config
/boot/config-2.6.33.5-server-2mnb
/boot/config-2.6.33.7-server-2mnb
/etc/esd.conf
/etc/fax.config
/etc/gconf
/etc/host.conf
/etc/initlog.conf
/etc/krb5.conf
/etc/ksmtuned.conf

which

which informe où se trouve un programme dans l'arborescence.

Exemple : savoir où est situé le compilateur GCC.

$ which gcc

/usr/bin/gcc

whereis

whereis localise les fichiers binaires, sources et les pages de manuel d'un programme.

Exemple : trouver les fichiers binaires, sources et pages de manuel de GRAMPS.

$ whereis gramps


lsof

lsof (list open files) liste les fichiers actuellement ouverts sur le système.

Exemple : lister les fichiers ouverts sur sa machine.

$ lsof



Fichiers et répertoires

cp

cp (copy) copie un fichier ou un répertoire dans un autre répertoire.

Exemple : copier un répertoire.

$ cp mon_fichier /tmp/toto/

dd

dd permet de copier un fichier en effectuant des conversions. Cette commande est très utilisée pour les copies bits à bits.

Exemple : faire une image de sauvegarde d'un CD dans un fichier.

$ dd if=/dev/cdrom of=image_cd.iso

mv

mv (move) déplace un fichier ou un répertoire dans un autre répertoire, ou renomme un fichier ou un répertoire.

Exemple : déplacer tous fichiers textes dans /home/lea.

$ mv *.txt /home/lea

Exemple : renommer le fichier ma_vie.odt en biographie.odt.

$ mv ma_vie.odt biographie.odt

du

du (disk usage) donne une estimation de la taille d'un fichier ou d'un répertoire.

Exemple : afficher la taille des répertoires locaux en kilo-octets.

$ du -sk .

ln

ln (file) crée un lien avec un autre dossier ou fichier.

Exemple : créer un lien symbolique en local vers le plugin flash de Firefox.

$ ln -s /usr/lib/mozilla/plugins/libflashplayer.so .

mkdir

mkdir (make directory) créé un répertoire.

Exemple : créer le répertoire toto dans /tmp.

$ mkdir /tmp/toto

touch

touch permet de modifier l'horodatage de dernier accès et de dernière modification d'un fichier. Cette commande permet également de créer un fichier vide.

Exemple : changer la date d'un fichier.

$ touch -d 'Feb 18 2011 3:15:00' mon_fichier

Exemple : créer un fichier vide dans /tmp.

$ touch /tmp/fichier_vide

file

file affiche le type d'un fichier donné en paramètre.

Exemple : afficher le type du fichier lea.jpg.

$ file lea.jpg

rm

rm (remove) supprime des fichiers ou des répertoires.

Exemple : supprimer un fichier.

$ rm lea.txt

Exemple : supprimer un répertoire et son contenu sans confirmation.

$ rm -rf mon_repertoire

rmdir

rmdir (remove directory) supprime un répertoire vide.

Exemple : supprimer un répertoire vide ainsi que ses répertoires parents s'ils sont vides également.

$ rmdir -p /tmp/bazar/lea/mon_repertoire


Manipulation de chaînes de caractères

Voir aussi sur Léa : Introduction à (g)awk

bc

bc (bench calculator) est une calculatrice basique pour les nombres entiers.

Exemple : calculer la multiplication 273 x 24.

$ bc

expr

expr (expression) évalue une expression et affiche la valeur correspondante. Elle permet ainsi de faire des opérations sur des entiers et faire divers opérations sur les chaînes de caractères.

Exemple : Calculer la longueur d'une châine de caractères.

$ expr length "abcdefgh"

8

strings

strings trouve et affiche les chaînes de caractères contenues dans les fichiers binaires.

Exemple : Afficher les chaînes de caractères de l'installeur de Fedora.

$ strings yum

  1. !/usr/bin/python

import sys try:

   import yum

except ImportError:

   print >> sys.stderr, """\

There was a problem importing one of the Python modules required to run yum. The error leading to this problem was:

  %s

Please install a package which provides this module, or verify that the module is installed correctly. It's possible that the above module doesn't match the current version of Python, which is: If you cannot solve this problem yourself, please go to the yum faq at:

 http://wiki.linux.duke.edu/YumFaq

""" % (sys.exc_value, sys.version)

   sys.exit(1)

sys.path.insert(0, '/usr/share/yum-cli') try:

   import yummain
   yummain.user_main(sys.argv[1:], exit_code=True)

except KeyboardInterrupt, e:

   print >> sys.stderr, "\n\nExiting on user cancel."
   sys.exit(1)

more

more affiche le contenu d'un fichier page par page en partant du début. more est fréquemment combiné avec une commande dont le résultat est long et fait défiler l'écran.

Exemple : afficher le contenu de /var/log/messages page par page.

$ more /var/log/messages

Exemple : voir page par page les processus actifs sur le système.

$ ps -ef|more

less

less affiche le contenu d'un fichier page par page. A la différence de la commande more, less permet de revenir en arrière ou de rechercher une chaîne. De plus, à la différence d'éditeurs de texte comme vi, less n'a pas besoin de charger entièrement le fichier en mémoire pour l'afficher, ce qui est pratique avec les gros fichiers.

Exemple : afficher le contenu de /var/log/messages page par page.

$ less /var/log/messages

grep

grep est la commande de base permettant d'extraire des chaînes de caractères. Elle est souvent combinée avec une autre commande suivie d'un | .

Exemple : Trouver les processus dont le nom contient "java", sans tenir compte de la casse.

$ ps -ef|grep java

cut

cut retranche des parties de chaque ligne d'un élement passé en paramètre.

Exemple : Afficher les 2e et 3e colonnes d'un fichier en précisant l'espace comme séparateur.

$ cut -d ' ' -f2,3 mon_fichier.txt

sed

awk (stream editor) est une commande complexe, qui permet de transformer des chaînes de caractères à l'aide d'expression rationnelles.

Exemple : générer un nouveau fichier apres.txt, issu du fichier avant.txt où on a remplacé toutes les occurences de "babar" par "celeste".

$ sed -e 's/babar/celeste/g' avant.txt > apres.txt

cat

cat (concatenate) concaténe des fichiers ou affiche leur contenu.

Exemple : afficher deux fichiers et les concaténer.

$ cat fichier1 1111111111

$ cat fichier2 2222222222

$ cat fichier* > fichier3 $ cat fichier3 1111111111 2222222222

join

join fusionne les lignes de deux fichiers texte ayant des champs communs.

Exemple : On veux joindre deux fichiers sur la colonne 1 du premier fichier (-11) et la colonne 3 du deuxième fichier (-23).

$ cat fichier1.txt

id.1 Tux
id.2 Lea
id.3 Leo

$ cat fichier2.txt

château voiture id.1
maison velo id.2
roulotte brouette id.3

$ join -11 -23 fichier1.txt fichier2.txt

id.1 Tux château voiture
id.2 Lea maison velo
id.3 Leo roulotte brouette

head

head affiche les premières lignes d'un élément passé en paramètres.

Exemple : Afficher les 10 premières lignes des logs systèmes.

$ head -n 10 /var/log/messages

tail

tail affiche les dernières lignes d'un élément passé en paramètres.

Exemple : Afficher les 10 dernières lignes des logs systèmes.

$ tail -n 10 /var/log/messages

Exemple : Afficher les dernières lignes des logs systèmes, en affichant au fur et à mesure les nouvelles écritures dans le fichier de log.

$ tail -f /var/log/messages

wc

wc (word count) compte le nombre de caractères, de mots ou de lignes.

Exemple : compter le nombre de processus Apache.

$ ps -aux|grep httpd|wc -l

awk

awk (Aho, Weinberger et Kernighan) est une commande complexe : c'est un langage de traitement de lignes, qui sert notamment à rechercher ou transformer des chaînes de caractère.

Exemple : Afficher les 2e et 3e colonnes d'un fichier en précisant l'espace comme séparateur.

awk -F'[ ]' '{print $2,$3}' mon_fichier.txt

Exemple : Afficher les 4 derniers caractères de chaque ligne d'un fichier.

awk '{print substr($0, length($0)-3, length($0))}'

diff

diff (difference) compare deux fichiers et affiche les différences à l'écran.

Exemple : comparer deux fichiers.

$ diff /etc/fstab /etc/fstab.old

nl

nl (number of lines) numérote les lignes d'un fichier.

Exemple : Numéroter les lignes d'un fichier.

$ cat fichier1.txt

Tux
Lea
Leo

$ nl fichier1.txt

1 Tux
2 Lea
3 Leo



Systèmes de fichiers, partitions

@ Voir sur Léa : Partitionnement, Que faire en cas de panne de disque dur ?

df

df (disk free) affiche l'espace disque disponible des systèmes de fichiers.

Exemple : afficher l'espace disque disponible sur notre machine.

$ df

fdisk

fdisk (fixed disk) permet de partitionner un disque en mode interactif.

Exemple : partitionner votre premier disque.

$ fdisk /dev/sda

mkfs

mkfs (make filesystem) crée un système de fichiers sur une partition.

Exemple : créer un système de fichier Ext4 sur la 3e partition de votre premier disque.

$ mkfs.ext4 /dev/sda3

mount

mount active (monte) un système de fichiers pour le système.

Exemple : monter un DVD présent dans le lecteur.

$ mount /dev/hdc /mnt/dvd

Exemple : monter tous les systèmes de fichiers présents dans /etc/fstab.

$ mount -a

umount

umount désactive (démonte) un système de fichiers pour le système.

Exemple : démonter le CD présent dans le lecteur.

$ umount /dev/cdrom

fsck

fsck (filesystem check) vérifier et corrige la cohérence d'un système de fichiers. fsck appelle en général un programme dédié au type de système de fichiers concerné, par exemple e2fsck pour ext2, ext3, ext4.

Exemple : Corriger automatiquement les erreurs sur la 2e partition de mon 2e disque, formatée en ext4 et actuellement démontée.

fsck.ext4 -y /dev/sdb2.



Affichage

echo

echo affiche une chaîne de caractères.

Exemple : afficher "bonjour le monde" dans le terminal.

$ echo "bonjour le monde"

bonjour le monde

clear

clear efface le contenu affiché à l'écran.

Exemple : effacer le contenu affiché à l'écran.

$ clear

write

write envoie un message qui s'affiche dans le terminal d'un autre utilisateur connecté sur la machine.

Exemple : afficher "salut !" dans le 7e terminal de Léa.

$ write lea pts/7 "salut !"

wall

wall (write all) envoie un message à tous les utilisateurs du système.

Exemple : prévenir tous les gens connectés à la machine qu'on va la rebooter.

$ wall "attention, je vais rebooter !"



Transfert de fichier

ftp

lftp

ssh

telnet

rsync

Réseau

netstat

tcpdump

@ Voir sur Léa : Réseau et sécurité

Archivage et compression

@ Voir sur Léa : Archivage et compression avec tar, pax, zip, rar etc.

gzip / gunzip

gzip compresse et décompresse un fichier avec l'algorithme Deflate.

Exemple : compresser un fichier.

$ gzip mon_fichier

Exemple : décompresser un fichier gzippé.

$ gzip -d mon_fichier_compresse.gz

Remarque : la commande gunzip peut remplacer gzip -d.

bzip2 / bunzip2

bzip2 compresse un fichier avec l'algorithme bzip2. Son inverse est bunzip2.

Exemple : compresser un fichier.

$ bzip2 mon_fichier

Exemple : décompresser un fichier bzippé.

$ bunzip2 mon_fichier_compresse.bz2

xz

xz compresse et décompresse un fichier avec l'algorithme LZMA.

Exemple : compresser un fichier.

$ xz mon_fichier

Exemple : décompresser un fichier compressé.

$ xz -d mon_fichier_compresse.xz

tar

tar permet d'archiver ou de désarchiver des fichiers. La commande GNU tar est capable de faire également de la compression.

Exemple : archiver et compresser un dossier avec Gunzip.

$ tar cvzf mon_archive.tar.gz dossier1/

Exemple : extraire une archive tar.gz.

$ tar xvzf mon_archive.tar.gz

pax

pax, alternative à tar, permet d'archiver ou de désarchiver des fichiers ainsi que de faire de la compression.

Exemple : archiver un dossier.

$ pax -wf mon_archive.pax -x pax dossier1/

Exemple : extraire une archive pax.

$ pax -rf mon_archive.pax

zip

zip permet de créer et d'extraire des archives compressées au format ZIP.

Exemple : compresser un dossier.

$ zip -r nom_de_larchive.zip dossier

Exemple : décompresser une archive zip.

$ unzip nom_de_larchive.zip



Voir aussi



@ Retour à la rubrique Administration système

Copyright

© 2011 Jiel Beaumadier

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale.