Vous êtes sur la page 1sur 26

MEMENTO

Les commandes Linux


LES COMMANDES SOUS LINUX LES PLUS UTILISÉES

Première publication : 30 Juin 2008, mise en ligne par OC

Les commandes shell UNIX ne sont pas toujours faciles à retenir, mais elles
sont tellement pratiques... Voici une liste des commandes les plus utilisées
avec un bref descriptif. Une fois que vous connaissez le nom et la fonction de
base, man will do the rest ...

adduser Ajout d’un nouvel utilisateur

alias Définition d’abréviation de commandes

apropos Affichage des informations sur un mot clef (man -k)

ar Archivage de fichiers (bibliotheques .a)

arp Affichage de la table de conversion des adresses MAC

at Execution d’une commande à un moment précis

atq Affichage de la liste des commandes en attente pour un utilisateur

atrm Suppression de la totalité des commandes en attente

as Compilateur Assembleur

ash Appel du A-shell

awk Language de programmation pour traitement de fichier

banner Affichage d’une bannière

basename Extraction du nom de fichier d’un chemin d’accès

bash Appel du Bourne Again Shell

bc Interpréteur de calcul

bg Execution d’un processus en arrière-plan

break Sortie d’une boucle


cal Affichage d’un calendrier

captoinfo Traduction termcap->terminfo

case Structure de contrôle à choix multiple

cat Afficher un fichier (texte)

catman Mise à jour de la base apropos

cd Changement de répertoire

cflow Analyse du code source (Debogage)

chfn Modification des informations de finger

chgrp Modification du groupe propriétaire d’un fichier

chkconfig Informations sur les niveaux de démarrage et les services

chmod Changement des permissions d’accès sur un fichier

chown Modification du propriétaire d’un fichier

chroot Changement du répertoire racine d’une commande

chsh Changement du shell de connexion

clear Effacement de l’écran

clock Affichage de l’heure

cmp Comparaison de deux fichiers

continue Reprise d’une boucle interrompue avant son terme

cp Copie de fichiers

cpio Copie de fichier archive pour la sauvegarde

cpp Compilateur C

cut Découpage de lignes dans un fichier

cvs Gestion de projet CVS


date Date et heure du système

dbx Debogueur

dc Desk Calculator (Calculatrice en notation Polonaise inverse)

dd Copie un disque ou une disquette bloc à bloc

debugfs Recherche d’erreurs dans un système de fichiers

depmod Charge un module

df Affiche l’space libre sur support de données

diff Affiche les différences entre les fichiers (cf patch)

domainname Modifie le nom de domaine NIS

dosfsck Vérifie les secteurs défectueux d’une partition DOS

du Affiche l’espace occupé par des fichiers pour chaque répertoire

dump Sauvegarde des fichiers

dumpe2fs Affiche les détails d’un système de fichier

e2fsck Vérifie une partition LINUX (ext 2)

echo Affiche un texte

edquota Changement des quotas d’espace disque

egrep Recherche de fichiers avec filtres étendus

emacs Editeur de texte emacs

env Changement de l’environnement d’une variable

eval Exécution multiple de commande de Shell

exit Quitter le shell actuel

export Permet d’exporter une variable d’environnement

expr Exploitation et calcul d’expressions


fdisk Modifie la table de partitions

false Valeur de retour standard des scripts du shell

fc Rappel de lignes de commandes

fdisk Changement des partitions d’un disque dur

fdformat Formate une disquette

fg Exécuter un processus au premier plan

fgrep Recherche rapide dans un fichier

file Déterminer le type du fichier

find Recherche récursive de fichiers dans un répertoire

finger Finger des utilisateurs

for Structure de contrôle des boucles

free Afficher la mémoire libre

fsck Contrôle les secteurs défectueux dans un système de fichiers

gcc Compilateur GNU C

gdb Debugueur GNU

gpasswd Gestion de propriétés de groupes

groupadd Ajout d’un groupe

groupdel Suppression d’un groupe

groupmod Changement des propriétés d’un groupe

groups Affiche les groupes dont on fait partie

grpck Vérifie la syntaxe du contenu du fichier /etc/group

gzip (Dé)Compresse les fichiers portant l’extension .gz

hostname Fixe ou affiche le nom de l’hôte


hwclock affiche l’heure de la carte mère (hardwareclock)

id Affiche le numéro de l’utilisateur courant ainsi que les groupe auquel ce


dernier appartient

ident Extrait le numéro de version d’un exécutable

if indique un test dans un script Shell (si...)

ifconfig Affiche/configure les interfaces réseau et série (eth, ppp, l)


disponibles

ifdown Arrête une interface réseau ou série

ifup Démarre une interface réseau ou série

info Appelle les pages infos

infocmp Affiche la source d’une entrée terminfo

insmod Chargement d’un module

iptables le module de filtrage (firewall) des noyaux 2.4

jobs Affiche les process qui s’exécutent en tâche de fond

join Mixe deux fichiers

key [S/KEY] Générateur de mot de passe

kill Envoie des signaux aux processus

killall Envoie un signal de fin d’exécution au processus indiqué

ksyms Affiche les symboles exportés par le noyau

less Affiche un texte (possibilité de déplacement, de recherche, etc.)

let Arithmétique dans le shell

lilo Installe le secteur d’amorçage de lilo et permet de prendre en compte


les modifications apportées au fichier /etc/lilo.conf

ln Crée un lien vers un fichier


locate Retrouve rapidement le chemin pour parvenir à un fichier d’après
une partie ou l’intégralité de son nom entier

logger Envoie des messages au démon syslogd

logname Affichage du nom d’utilisateur

lpd Lance le démon d’impression BSD

lpq Affiche des files d’attente d’impression

lpr Imprime des fichiers

lprm Supprime un job de la file d’attente

lptest Teste les imprimantes

ls Affiche le contenu du répertoire courant

lsattr Affiche les attributs étendus de fichiers

lsmod Affiche les modules chargés en mémoire

mail Envoi et réception d’e-mail

makewhatis Crée une base de données pour les mots-clefs de man

man Affiche de l’aide en ligne

mesg Gestion des accès sur terminaux par write et talk

mkfatimage16 Crée une image disque virtuelle pour DOSEMU

mformat Formate un système de fichier MSDOS

mkbootdisk Crée une disquette de démarrage

mkdir Crée un répertoire

mkdosfs Crée un système de fichiers MSDOS

mke2fs Crée un système de fichiers linux (ext2)

mkfifo Crée un tube nommé

mknod Crée des fichiers de périphérique et des FIFO


mkpasswd Crée un nouveau mot de passe

mkswap Formatte la partition de swap

modprobe Chargement d’un module

more Afficher un fichier (texte) page par page

mount Montage système de fichier

mpartition Partition sur un disque MSDOS

mroff Utilitaire de formatage des pages man

mtools Affiche les commandes MSDOS utilisables

mtype Affiche le contenu d’un fichier MSDOS

mv Déplace ou renomme un fichier

netcfg Configure le réseau via une interface graphique

netstat Affiche des infos sur la configuration réseau

nfstat Affiche des statistiques sur RPC

newgrp Change de groupe courant

nice Modifie la priorité d’un process (valeur entre 1 et 20)

nohup La commande suivant la commande nohup ignore le signal 1

nslookup Affiche des informations sur la résolution de nom via DNS

od Affichage d’un fichier en octal

passwd Change de mot de passe

patch Modifie le code source par versions

perl Interpréteur PERL

pnpdump Scanne les cartes PnP


ps Affiche la liste des processus

pwd Affiche le chemin courant

rcs Entre des descriptions de programme

rcdiff Affiche les différences entre deux révisions d’un programme

read Lit une valeur saisie

readonly Protège les variables Shell contre l’écrasement

reboot Redémarrage

renice Modifie le facteur de priorité après lancement

return Fin prématurée d’un Shell

rlog Affiche un résumé des modifications du fichier

rlogin Similaire à telnet (connecte sur une machine distante)

rm Efface un fichier

rmdir Effacer un répertoire

rmmod Décharge un module en mémoire

rsh Exécute une commande sur un serveur distant

rpcinfo Affiche des informations sur le port mappeur RPC

rusers Liste les utilisateurs connectés

ruptime Affiche le statut des machines locales sur le réseau

rwall Ecrit à tous les utilisateurs du réseau local

rwho Affiche tous les utilisateurs connectés

scanpci Effectue un scan de tous les périphériques PCI

sed Editeur de texte batch

select Sélection de menu simple dans le shell ( ????????????????)


set Gère les variables et le comportement du shell

setsysfont Fixe le fond de la console

sg Change de groupe

shift Convertit des paramètres de position (shell)

shutdown Arrête le système (-h now ou -r 2 )

sleep Interruption du traitement pendant un certain temps

smbd Lance le démon SMB (netbios-ssm)

smbclient Lance le client SMB pour machines UNIX

smbprint Lance un script pour imprimer sur un hôte SMB

smbstatus Liste les connexions SMB présentes

smbrun Exécute un script pour faciliter le lancement d’applications sur des


hôtes SMB

sort Filtre l’entrée ligne par ligne

startx Démarre le serveur X

strip Manipule les infos de debuggage sur un exécutable

stty Configure le terminal ou l’interface série

su Changement d’utilisateur

sudo Permet d’exécuter des commandes en tant que super-utilisateur

sulogin Login root en urgence

sum Calcule une somme de contrôle

suspend Place un shell en arrière plan

swapon Active une partition de swap

swapoff Désactive une partition de swap

sync Sauvegarde de la mémoire tampon d’entrée sortie


sysctl Affiche ou modifie les variables système

tac Affiche un fichier dans l’ordre inverse

tail Affichage de la dernière partie d’un fichier

talk Envoi de messages inter utilisateurs

tar Sauvegarde et archivage de fichiers

tcsh Appel du Tene C-Shell

tclsh Interpréteur TCL

tee Redirection de saisie

telint Gestion des "niveaux" système

test Contrôle de conditions

tic Compile la source terminfo

time Permet de mesurer le temps nécessaire à une commande

tin Lecteur de news

touch Permet de créer un fichier vide

tr Conversion de caractères

traceroute Reconstitue la route qu’emprunte un paquet |

trap Gestion des signaux (shell)

true Valeur de retour standard pour un script shell

tset Initialise le terminal

tty Affichage des noms des terminaux

type Affiche le type du fichier

ulimit Pour définir la taille maximum d’un fichier |

umask Définit les droits (négatifs) de création d’un fichier


umount Démontage système de fichiers

unalias Suppression d’un nom d’alias

uname Informations (processeur, version) système

unset Suppression de définitions de variables et de fonctions

until Structure de contrôle des boucles

update Remet a jour les super-blocs du système de fichier

updatedb Reconstruit la BD des positions de fichiers

useradd Ajout d’un nouvel utilisateur

userdel Suppression d’un utilisateur

usermod Changement des attributs d’un utilisateur

vi Editeur texte vi

vipw Editeur pour le fichier password

wait Attend la fin d’un process en arrière plan

wall Envoi d’un message à tous les utilisateurs

wc comptabilisation des caractères, des mots et des lignes

whatis Retourne une brève description de la fonction

whereis Permet de recherche un exécutable dans le PATH

which Indique quel fichier sera appelle (dans PATH)

while Structure de contrôle de boucle

who Affiche les utilisateurs courants

write Envoi d’un message à d’autres utilisateurs

winkey [LogDaemon] Générateur de mot de passe

xargs Combinaison de lignes de commandes et de saisie clavier


Se déplacer dans les répertoires (Change
Directory)

cd.. : Remonte d'un niveau


cd / : Retourne à la racine
cd .. : Retourne au répertoire précédent

Lister les fichiers d'un répertoire: (List Sorted)


ls -l : Permet de lister les attributs des fichiers
ls -d: Affiche uniquement les répertoires
ls -a : Liste tous les fichiers du répertoire y compris les fichiers cachés.
ls -m : Affiche les fichiers en les séparant par une virgule.
ls -t : Affiche les fichiers par date.
ls -lu : Affiche les fichiers par date du dernier accès et indique la date.
ls -F : Affiche les fichiers par type
ls -S : Affiche les fichiers triés par ordre de taille décroissante.
ls -X : Affiche les fichiers par type d'extension
ls -r : Affiche les fichier en ordre alphabétique inverse
ls -alR / : Affiche tous les fichiers d'un système
ls -alR |grep doc : Affiche tous les fichiers contenant doc

Copier un fichier ou un répertoire: (copy)


cp : Demande s'il peut écraser le nom de fichier : répondre par Oui(y) ou
Non (n)
cp -i : Avertit de l'existence d'un fichier du même nom et demande s'il
peut ou non le remplacer.
cp -l : Permet de faire un lien en "dur" entre le fichier source et sa copie
cp -s : Permet de faire un lien "symbolique" entre le fichier source et sa
copie
cp -p : Permet lors de la copie de préserver toutes les informations
concernant le fichier.
cp -r : Permet de copier de manière récursive l'ensemble d'un répertoire
et de ses sous répertoires
cp -b : Permet comme l'option -i de s'assurer que la copie n'écrase pas un
fichier existant : le fichier écrasé est sauvegardé, seul le nom du fichier
est modifié et cp ajoute un tilde(~) à la fin du nom de fichier

Supprimer des fichiers et répertoires: (remove &


remove directory)
rm -d : Permet de supprimer un répertoire qu'il soit plein ou non
rm -r : Permet de supprimer un répertoire et ses sous répertoires
rm -f : Permet de supprimer les fichiers protégés en écriture et
répertoires sans confirmation
rmdir : Supprime un répertoire
rmdir -p rep1/rep2/rep :Supprime le répertoire et ses sous répertoire
associés

Créer des répertoire: (make directory)


mkdir : Crée un répertoire
mkdir -p rep1/rep2/rep3 :Crée un répertoire et ses sous répertoires
associés

Déplacer ou renommer un fichier: (move)


mv -b : Va effectuer une sauvegarde des fichiers avant de les déplacer
mv -i : Demande pour chaque fichier et chaque répertoire s'il peut ou non
le déplacer
mv -u : Demande a "mv" de ne pas supprimer le fichier si la date de
modification est la même ou plus récente que son remplaçant.

Recherche, analyse, modification de contenus


find / : Chercher a partir de la racine du fichier en court
find -name : Spécifier un nom de fichier
find -print : Afficher le résultat a l'écran
find, locate et which :Retrouver un fichier
diff : Affichage des différences entre fichiers
cmp : Comparaison binaire
cat et more : Voir un fichier
sort : Tri des lignes
df : Emplacement du montage des systèmes de fichiers (partitions) et
l'espace restant sur chacun d'eux
Sed : Permet d'appliquer des commandes sur un fichier et d'afficher le
résultat (sans modification du fichier)
du : Donne la place du disque utilisée par le répertoire courant
wc : Comptage des mots, lignes ou caractères
file : Donne le type de fichier
grep -c : Trouver une expression rationnelle dans un fichier: (grep) donne
le nombre de fois ou l'expression rationnelle a été trouvée dans le fichier:
grep -n : Pour rechercher des expressions rationnelles commencent par
un tiret
Autres Commandes

pwd : Où suis-je ?
man (et nom de la commande): Rechercher des informations sur une
commande.
which : Permet de connaître le chemin d'un exécutable
mdir : Affiche la liste des fichiers d'une disquette MS-Dos
mkmode : Crée un nom de fichier temporaire unique
emacs, joe : Éditer un fichier
ln : UNIX permet de créer plusieurs liens sur un même fichier avec la
commande
who : Liste les utilisateurs connectés sur la station
free : Mémoire utilisée
clear : Efface l'écran
touché : Met à jour les dates d'accès des fichiers
logout : Permet de fermer son compte utilisateur
logname : Permet de savoir sous quel nom on est logué
tar : Archivage de données : la commande
q : quitte

Démarrage, Redémarrage & Arrêt


startx : demarrer Xwindows sous linux
reboot : redémarre de la machine
shutdown -r : arrête et redémarrer (rebooter).
shutdown -h : arrêter proprement linux.
exit : Déconnexion de l'utilisateur courant

Monter, démonter un système de fichiers

La commande mount est utilisée par linux dès son démarrage. Elle
permet de monter un système de fichiers. Ce montage est parfois effectué
automatiquement grâce au fichier de configuration /etc/fstab. Ce fichier
contient tout ce que linux doit monter lors de son démarrage, mount n'est
accessible que par root.

Montage, démontage d'une partition Dos (Ne doit


pas être en cours d'utilisation)

1: mount -t vfat /dev/hda1/dos/c


2: mount /dev/hda1/dos/c
Pour convertir automatiquement les fins de lignes des fichiers ASCII ms-
dos au format unix, utiliser l'option conv. conv=binary/conv=auto -t vfat
/dev/hda1 /dos/c
mount -o conv=auto -t vfat /dev/hda1 /dos/c

Démontage d'une partition Dos (Ne doit pas être en cours d'utilisation)
umount /dos/

Montage du lecteur de CD-ROM


1: mount -t iso9660 /dev/hdb /cdrom
2: mount /dev/cdrom /cdrom

On peut préciser l'option -oou -r pour monter un périphérique en lecture


seule, tel qu'un cdrom ou une disquette protégée en écriture par
exemple.

Montage du lecteur de disquettes

mount /dev/fd0 /floppy

Copie d'une disquette


cp /dev/fd0 disk.img :du lecteur de disquette --> disk
cp disk.img /dev/fd0 : d'un dick --> vers lecteur de disquette
ln -s /répertoire/nom_source /nom_destination : Création d'un lien
symbolique

Archivage
gzip : Le compactage et le décompactage des fichiers au formatgz
gzip -gv backup.gz : Compresse le répertoire courant et crée le
fichierbackup.gz
gzip -d backup.gz : Décompresse backup.gz
tar -zcvf /usr/pluton /home : Sauvegarde le répertoire home vers pluton
tar -zxcf /usr/pluton /home : Restaure pluton dans le répertoire home

Commande d'administration système Linux


at : Commande permettant de lancer une autre commande ou un
processus en différé.
cron : Outil logiciel disponible sous Unix permettant de lancer
périodiquement les processus indiqués dans la crontab.
crontab : table contenant des commandes qui doivent être exécutées
périodiquement. C'est le programme cron qui lance la commande. Les
périodes peuvent être des heures (cron.hourly), des jours (cron.daily), des
semaines (cron.weekly) ou des mois (cron.monthly).
chmod : Placer les droits d'utilisation des fichiers
chown : Désigner l'utilisateur et le groupe propriétaire des fichiers
adduser : Ajouter un utilisateur
passwd : Spécifier ou modifier un mot de passe
chfn : Décrire un utilisateur
userdel : Supprimer un utilisateur
mount : Utiliser votre CD-ROM, votre lecteur de disquette
shutdown -h : Arrêter le système
mkbootdisk (device /dev/fd0 2.2.13-4.mdk): Crée une disquette de Boot
lilo -u : Désinstalle LILO

Messages Système
cat /proc/interrupts : Affiche les IRQ utilisés
cat /proc/ioports : Affiche les ports I / O utilisés
cat /proc/dma : Affiche l'utilisation des canaux DMA
cat /proc/pci : Affiche l'utilisation des ports PCI

La gestion des processus


top : permet de suivre les ressources que le processus utilisent
ps : permet de connaître les processus actifs à un moment donné
pstree : permet d'afficher les processus sous forme d'arborescence et
donc de voir leurs interdépendances
kill : Permet de tuer un processus en court : syntaxe kill [option] PID.
Pour tuer le processus, je peux d'abord faire unps -ax pour connaître le
numero du PID et ensuite si par exemple le PID est 3600, je peux tuer la
connexion en faisant :[root@localhost/root]# kill 3600

Éditer un fichier: (éditeur vi)


Passer du mode commande aux mode texte, taper du mode texte,
enregistrer.

vi comprend deux modes : un mode "commande" et un mode "insertion",


après le lancement de vi nous sommes en mode commande : appuyez sur
la touche "Echap" puis sur "a" ("a", comme "append", permet d'ajouter du
texte après le curseur). Vous voyez en bas de l'écran apparaître la ligne
"INSERT".

Sauvez un fichier : Il faut sortir du mode texte en appuyant à nouveau sur


la touche "Echap". La mention "INSERT" disparaît, nous sommes en mode
commande. Tapez maintenant ":w nomfichier" et sur la touche retour
chariot (afin d'écrire ("write") le fichier). Vous devez obtenir en bas de
l'écran ceci : "nomfichier" [New File] 3 lines, 142 characters written

Supprimer du texte et quitter vi

J'ai fait une faute d'orthographe! Nous allons supprimer le "p" qui est en
trop dans "suppprime" : déplacez le curseur sur un des "p" en trop,
passez en mode commande ("INSERT" ne doit pas apparaître à l'écran),
appuyez sur "x", le "p" a disparu.

Sauver les modifications effectuées : Passez en mode commande et tapez


" :wq" (write et quit). Vous êtes sorti de vi et votre fichier a été
sauvegardé sous linux-test. Pour revenir à vi en ouvrant le fichier linux-
test au démarrage tapez : [root@localhost/root]# vi linux-test

Si vous souhaitez quitter sans enregistrez les dernières modifications, il


vous faudra passer en mode commande et taper " : q!".

D'autres commandes vi.

A : permet d'ajouter du texte à la fin de la ligne.


i : permet d'ajouter du texte avant le curseur.
o : permet d'ajouter une ligne en dessous du curseur.
O : permet d'ajouter une ligne au dessus du curseur.
le retour chariot : permet d'aller à la ligne suivante.
dd : permet de supprimer la ligne courante.
X : permet de supprimer le caractère avant le curseur.
u : permet d'annuler la dernière commande effectuée.

Organisation des répertoires - arborescence d'un


système UNIX classique
/ : répertoire racine, tous les autres répertoires en dépendent.

/bin : contient les binaires fondamentaux à la gestion de Linux.

/dev : contient une multitudes de fichiers dits spéciaux. L'un deux


correspond à mon modem. Je dois indiquer ce fichier dans la
configuration de mes outils de communication. De même /dev/hda1
correspond à la première partition de mon disque dur IDE, si mon disque
dur est un SCSI, son nom sera /dev/sda1. Un dernière exemple : /dev/fd0
correspond à mon lecteur de disquettes.

/etc : contient tous les fichiers de configuration de linux. On y retrouve


par exemple le fichier /etc/passwd, qui définit les mots de passe des
utilisateurs.

/sbin : contient les binaires du système. On y trouve par exemple la


commande shutdown qui permet d'arrêter l'ordinateur.

/home : répertoire qui contient les répertoires des utilisateurs du


système. Le répertoire des utilisateurs est automatiquement créé avec la
création d'un compte. Tous mes fichiers personnels sont dans
/home/(maltesse).

/lost+found : est le répertoire des fichiers perdus. Ces fameux fichiers


qui, du fait d'erreur disque, se retrouvent sans chemin d'accès. Le binaire
fsck, qui est lancé régulièrement au démarrage de linux, se charge de les
détecter et de les stocker dans le répertoire /lost+found

/tmp : est un répertoire accessible par tous les utilisateurs du système, il


permet de ne pas encombrer son répertoire personnel par des fichiers
que l'on souhaite de toute manière détruire ou modifier.

/var/spool : répertoire des fichiers qui servent de file d'attente. Par


exemple, les files d'attente de l'imprimante se trouvent sous ce
répertoire. Les données à imprimer, envoyer, ... sont stockées dans ces
files d'attentes jusqu'à ce qu'elles soient traitées.

/usr : contient tout ce qui concerne les binaires utiles à tous les
utilisateurs et quelques commandes d'administration. On y trouve
cependant d'autres choses: /usr/bin contient donc les binaires disponibles
pour les utilisateurs et les scripts.

/usr/X11R6 : contient tout ce qui concerne Xfree86 (les bibliothèques, les


binaires, la documentation).

/usr/include : contient tous les "headers" nécessaires à la programmation


dans les différents langages.

/usr/lib : contient toutes les bibliothèques nécessaires au fonctionnement


des logiciels. (comme par exemple la bibliothèque C ou C++ ou tcl/tk).

/usr/local : on y met ce que l'on veut, mais surtout les fichiers d'usage
local.

Les Droits sous Linux


Droit de lecture (r pour Read) Pour un fichier: Autorise la lecture du
contenu. Pour un répertoire: Autorise à lister les fichiers contenus dans
ce répertoire, si le droit d'exécution sur ce répertoire est positionné
également.
Droit d'écriture (w pour Write) Pour un fichier: Autorise à en modifier le
contenu. Pour un répertoire: autorise à créer des fichiers et à en effacer,
même si l'on n'est pas le propriétaire de ces fichiers.

Droit d'exécution (x pour exécute) Pour un fichier: Autorise l'exécution.


Pour un répertoire: Autorise l'utilisateur à le traverser, c'est-à-dire de s'y
rendre ou de se rendre dans l'un de ses répertoires fils.

champ 1 2 3 4 5 6 7
-rwxr- 04 août 02
1 Dupond labo2 3528 linux
xr-x 10:10
drwxrwx
3 Dupond labo2 512 02 jan 2002 conso
r--
l rwxr- 16 dec 01 awk -->
2 Dupond labo2 210
xr-- 10:30 gawk

Définition des champs du tableur ci-dessus:

1 - Le premier (-) indique un fichier ou (d) indique un répertoire ou (l)


indique un lien (raccourci). ensuite par groupe de trois nous avons
d'abord sur la première ligne:

Les droits du propriétaire (rwx) lecture, écriture, exécution 7


Les droits groupe (r-x) lecture, exécution 5
Les droits de tout le monde (r-x) lecture, exécution 5

2 - Indique de nombre fichier, de répertoire ou de lien.


3 - Indique le nom du propriétaire du fichier, du répertoire ou du lien.
4 - Indique le nom du groupe au quel appartienne fichiers & répertoire.
5 - Indique le taille.
6 - Indique la date de dernière modification & l'heure de création dans le
cadre d'un (ls -l).
7 - Indique le nom du fichier, répertoire ou lien

C'est la commande chmod qui permet de modifier les permissions qu'ont


les utilisateurs sur les fichiers. Évidemment, seul le propriétaire du
fichier a le pouvoir de modifier ces permissions (à part bien sur le super
utilisateur"root" qui peut faire absolument tout ce que bon lui semble.

Par exemple, décidons que n'importe qui pourra modifier le fichier linux :
[dupont@localhost/dupont]$ chmod a+w linux

"a" indique que tous les utilisateurs seront touchés par la modification
des permissions
"+" signifie que c'est une permission supplémentaire que l'on donne. Pour
en supprimer une il suffit de remplacer le signe "+" par "-".
"w" signifie que c'est la permission d'écriture que nous donnons.
Pour vérifier que tout a bien fonctionné, faites un "ls -l linux", nous
obtenons :-rw-rw-rw- 1 dupont dupont 04 aoû 02 10:10 linux:

Si maintenant nous voulons supprimer ce droit d'écriture mais aussi le


droit de lecture pour le groupe propriétaire et les autres utilisateurs nous
utilisons la syntaxe suivante : [dupont@localhost/dupont]$ chmodgo-wr
linux

"go"signifie que la commande affectera le groupe propriétaire et les


autres utilisateurs.

"wr" signifie que la modification portera sur les droits d'écriture ou de


lecture.

Chmod 644 - droit d'accés par défaut


Propriétaire lecture X écriture X exécution 4+2+0 6
Groupe lecture X écriture exécution 4+0+0 4
Tous lecture X écriture exécution 4+0+0 4

Chmod 755 - droit d'accés le plus utilisé


Propriétaire lecture X écriture X exécution X 4+2+1 7
Groupe lecture X écriture exécution X 4+0+1 5
Tous lecture X écriture exécution X 4+0+1 5

Chmod 777 - droit d'accés total (root)


Propriétaire lecture X écriture X exécution X 4+2+1 7
Groupe lecture X écriture X exécution X 4+2+1 7
Tous lecture X écriture X exécution X 4+2+1 7

Qu'est-ce qu'un shell ?


Sous UNIX: C'est un interpréteur de commande (en mode texte) la partie
du système d'exploitation utilisé comme interface avec l'utilisateur.
Originellement utilisé sous Unix, s'est répandu un peu partout depuis. Il
permet l'exécution de script Bash (suite de commandes d'un fichier
exécutable).

Travail en ligne de commande

I. Créer des alias


II.
III. Connectez-vous comme root
IV. Faites, par sécurité, une copie de sauvegarde du fichier /etc/profile
(profil de connexion) :
V. cp /etc/profile /etc/profile.svg
VI. Pour définir une commande alias, éditez /etc/profile avec mc et y
ajouter la ligne (sans espace autour de =)
VII. alias ll="ls -l --color=tty -F -b -T 0"
VIII. Ouvrir une nouvelle connexion dans une autre console et tester cette
nouvelle commande ll
IX. Il existe une commande alias pour connaitre la liste des alias
définis pour le compte.
X. (Eventuellement, l'installer avec la commande : apt-get install alias)
XI. Syntaxe générale d'une commande commande [options] paramètres Ne
jamais hésiter à consulter le manuel relatif à chaque commande.
En général, les options sont précédées du symbole - et peuvent être
groupées; les paramètres précisent en général les fichiers concernés
(ex de commande : tar -xzvf fichier.tgz)
XII. Connectez-vous comme utilisateur stage
XIII. Pour connaitre notre système d'exploitation
XIV. uname -a
XV. Examinez le manuel de ls afin d'expliquer le résultat de chacune des
commandes suivantes :
XVI. cd /etc
XVII. ls -R
XVIII. ls -ir
XIX. cd /home/stage
XX. ls -l
XXI. ls -la
XXII.
XXIII. commentez les commandes (| less permet de contrôle le défilement)
XXIV. ls -l /usr/bin | less
XXV. cd /etc/network
XXVI. cat interfaces
XXVII. less affiche aussi le contenu des fichiers
XXVIII. less inittab pourquoi ce fichier n'est pas trouvé ? où
est-il recherché ?
XXIX. pwd où se trouve t-on ?
XXX. less ../inittab ici, pourquoi est-il trouvé ?
XXXI. less /etc/inittab les chemins absolus sont préférables
XXXII.
XXXIII. commentez (cd =change directory)
XXXIV. cd
XXXV. pwd
XXXVI. cd ~ que signifie ici le symbole ~ ?
XXXVII. pwd
XXXVIII.
XXXIX. who
XL. tty
XLI. clear
XLII.
XLIII. # $USER est une variable système qui contient le login
XLIV. echo Bonjour $USER
XLV. # attention ! aucun espace autour du = pour définir une variable bash
XLVI. salut="Bonjour $USER "
XLVII. # pour faire référence à la valeur d'une variable, la préfixer par
$
XLVIII. echo -n "$salut, aujourd'hui nous sommes le "; date
XLIX.
L. Les variables d'environnement
LI. echo $PATH
LII. env cette commande donne la liste des variables d'environnement
LIII.
LIV. Les caractères génériques
LV. Caractères qui prennent un sens particulier dans un nom de fichier ou
de répertoire
LVI. ? remplace un seul caractère
LVII. * un nombre quelconque de caractères
LVIII. ls /etc/*.conf : recherche des ...
LIX. ls /etc/*p*.* : recherche des fichiers ...
LX. Comparez
LXI. ls */init/*
LXII. ls */init*
LXIII. ls */init/*.*
LXIV. ls */init*/*
LXV. ls */init*/*.*
LXVI. Facilités d'édition de la ligne de commande
o Pour approfondir et prolonger ce qui suit voir "Introduction au
shell Bash" (http://www.ac-
creteil.fr/reseaux/systemes/linux/shell-scripts/shell-bash.html)
o Historique des commandes Il est conservé pour chaque
utilisateur doté d'un répertoire personnel (/root, /home/stage)
est conservé
o
o que trouve t-on dans le rép. personnel ?
o ll /home/stage
o afficher son historique (attention au . il s'agit d'un fichier
caché !
o less ~/.bash_history
o history | less
o history 10
o Le clic-droit
Si la gestion de la souris est installée (cf gpm), dans une
console sélectionner un texte quelconque. Un clic-droit recopie
ce texte sur la ligne de commande, même dans une autre
console !
o La complétion de commande
Lorsqu'on tape une ligne de commande incomplète, puis la
touche , l'interpréteur cherche à compléter le mot avec un nom
de fichier ou un nom de commande, suivant le contexte.
S'il y a plusieurs propositions, il y a attente d'un complément
d'information de la part de l'utilisateur (parfois avec un "tut").
o
o cat /e <TAB>
o cat /etc/f <TAB>
o cat /etc/fs <TAB>
o # chercher de cette manière le script qui contrôle le service
réseau
o cat /etc/init.d/networking

Commandes fondamentales

• Prise en main de l'utilitaire mc


• Lire et modifier un fichier de texte
Pour lire on a vu les commandes cat et less
Pour afficher un fichier à l'envers : tac
tac /var/log/messages | less
Pour afficher les dernières lignes (donc les plus récentes) d'un long
fichier : tail
tail -n 20 /var/log/syslog
Pour éditer et modifier, on peut utiliser mc, mais les "puristes"
préféreront vi, ou emacs
• Créer un fichier texte à la console
Il s'agit de créer quelques lignes de texte saisies et sauvegardées
dans le fichier essai.txtdu rép. personnel.

• # (commentaire) pour aller dans son rép. personnel
• cd
• #pour créer ce fichier vide
• touché essai.txt
• #pour vérifier
• cat essai.txt
• # cat avec l'opérateur de redirection >
• # créerait le fichier s'il n'existait pas !
• cat > essai.txt
• Je suis heureux d'apprendre
• à travailler avec LINUX
• #pour terminer et enregistrer
• Ctrl-d
• pour ajouter du texte à la suite
• cat >> essai.txt
• Vive le logiciel libre !
• Ctrl-d
• pour afficher
• cat essai.txt
• Recherche de fichiers

which commande affiche le chemin vers le fichier exécutable de la


commande (s'il se trouve dans $PATH)

whereis commande recherche les exécutables, les sources et les


pages de manuel relatifs à la commande
(Les options -b, -m limitent à la recherche des fichiers exécutables,
des pages de manuel).

find rep -name mot recherche dans l'arborescence, à partir de


rep, l'ensemble des fichiers dont le nom est exactement mot)

La commande locate mot (installée par le paquet slocate) cherche


les fichiers contenant mot dans une base de données, ce qui bien
plus rapide, mais donne généralement des informations
surabondantes

Exemples

Rechercher mc, ftp, w avec whereis


Commentez :
find rep -name "*mot*", le nom des fichiers trouvés contient mot
find /etc -name "rc*"

Si nécessaire, installer locate et initialiser la base de données


qu'elle gère avec la commande updatedb

locate passwd
locate init --> a le meme résultat que locate *init*
locate */init
locate */init*
locate */init/*

Trouver tous les fichiers dont le nom commence par bash

• Recherche dans des fichiers texte

La commande grep permet de rechercher des chaines (ou des


modèles de chaines) dans les lignes d'un fichier texte
Elle est indispensable pour rechercher des informations notamment
dans les fichiers de configuration principales options
-c donne seulement le nombre de lignes trouvées
-l donne seulement le nom des fichiers
-v donne les lignes où le critère n'a pas été trouvé
-i ne pas tenir compte de la casse (ne pas différencier
majuscules minuscules)
-n pour n'afficher que les numéros des lignes trouvées
-w pour imposer que le motif corresponde à un mot entier sur
une ligne du fichier

Exemples

Etudier et commenter les commandes suivantes :


cherche dans le fichier, les lignes dont la 1ère lettre est qcq et la
2ème doit être o
grep "^.o" /var/log/messages
cherche dans le fichier toutes les lignes et leur numéro où apparait
"http"
grep -ni http /var/log/messages
cherche toutes les lignes se terminant par "se"
grep -ni "se$" /etc/passwd
(si apache est installé) trouver les numéros de lignes contenant
"directory", sans tenir la casse
grep -ni "directory" /etc/apache/httpd.conf

• Gestion des répertoires

Répertoires spéciaux :
. répertoire courant
.. répertoire parent
~ répertoire personnel de l'utilisateur
ls liste un répertoire
cd change le répertoire courant
pwd donne le nom complet du rép. courant
mkdir rep pour créer un sous-rep du rep courant
rmdir rep pour supprimer un sous-rep vide

• Gestion des fichiers

Les principales commandes sont cp, mv et rm


cp [option] source destination =copier le fichier source en le
fichier destination
cp [option] fichiers-source répertoire = copie l'ensemble des
fichiers dans le rép. spécifié, en gardant les noms d'origine

o Principales options :
-R , recopie récursive, permet de copier toute une
arborescence
-i avertit l'utilisateur de l'existence d'un fichier du même
nom et lui demande s'il veut le remplacer.
-p effectue une copie en gardant le propriétaire et le groupe
d'origine.
-v affiche en clair le nom des fichiers copiés.

rm [option] fichiers=remove, supprimer des fichiers

o Attention, cette commande est très dangereuse.


Les suppressions sont définitives ! Eviter de l'utiliser en tant
que root !
o Ajoutez toujours l'option -i pour demander confirmation à
l'utilisateur.
o Principales options :
-i (demander confirmation)
-r (permet de supprimer un répertoire et ses sous
répertoires, attention TRÈS dangereux)
-f (en force, permet de supprimer les fichiers protégés en
écriture sans demande de confirmation.

mv [option] source fichier = renomme le fichier source


mv [option] source répertoire= déplace le fichiers source dans le
répertoire, en gardant son nom

Principales options :
-b (b=backup) effectue une sauvegarde des fichiers avant de
les déplacer. La copie porte le même nom suivi d'un tilde.
-i (i=interactive) demande confimation avant pour chaque
fichier.
-u (u=update) pour ne pas supprimer le fichier si sa date de
modification est postérieure à celle du fichier remplaçant.

Exemples
cp -R /home /root/tmp, crée une copie dans /root/tmp/home

rm -r /home/toto/tmp, demande à l'utilisateur la permission de supprimer les


fichiers un par un,
et ne supprime pas le rép. s'il n'est pas vide.
rm -rf /home/toto/tmp, détruit sans préavis l'arborescence

mv toto titi
mv /home/*.jpg /tmp/

Vous aimerez peut-être aussi