Vous êtes sur la page 1sur 37

Katy Blanc

kblanc@i3s.unice.fr
 Libre
 basé sur le respect de l’utilisateur : droit d’utiliser, de modifier et de partager
un logiciel comme il le souhaite

 Open Source
 Possibilité d’accéder au code source: voir comment le programme a été fait,
pouvoir modifier le code source

 Gratuit
 Pas de licence : logiciel accessible sans payer

2
 Système d’exploitation libre et open source. Tout comme la plupart des
logiciels qui y sont disponibles.
 Des dizaines de distributions différentes : Ubuntu, Debian, ArchLinux,
Fedora, etc…

 Des millions de machines (super-calculateurs, serveurs Web, machines


personnelles, smartphones, matériels embarqués, etc…)

Tianhe-2
(Kylin Linux)

3
 Des communautés actives grâce à des millions d’utilisateurs
 Distribution GNU/Linux pour les débutants

 Gratuit et simple à installer :


http://fr.openclassrooms.com/informatique/cours/reprenez-le-controle-a-
l-aide-de-linux/tester-et-installer-ubuntu

4
 Découverte de Gnu/Linux et Ubuntu, prise en main de votre
environnement
 Commandes de base en gestion des fichiers
 Gestion des utilisateurs et des droits
 Les informations complémentaires: liens, alias et installations
 Les variables et les redirections
 Les scripts Shell
 Récapitulatif

5
6
7
8
9
 Fond d’écran
 Autre thèmes à
télécharger sur :
www.gnome-look.org

10
11
 Découverte de Gnu/Linux et Ubuntu, prise en main de votre
environnement
 Commandes de base en gestion des fichiers
 Gestion des utilisateurs et des droits
 Les informations complémentaires: liens, alias et installations
 Les variables et les redirections
 Les scripts Shell
 Récapitulatif

13
 Arrêtez de cliquer!!
 Terminal ou Interpréteur de commande ou Shell
 Outil indispensable pour un ingénieur
 Pourquoi:
 Traitements sur un nombre important de fichiers en UNE ligne
Renommer toutes mes photos avec le nom contenant la date de création
Rechercher tous les fichiers dont le nom contient un « old » sur toute ma machine
Recherche le fichier qui contient le mot « main »
 Travail sur une machine sans interface graphique
serveur à distance (Tianhe-2) , objet connecté, système embarqué…

14
nom_utilisateur @ nom_machine : répertoire_courant $

Une commande est décomposée en 3 partie:


 le nom de la commande: TOUJOURS en premier
 ses options: commence toujours par un tiret –
 des arguments

date  Manuel des commandes : man commande


cal / pour rechercher un mot et q pour quitter
cal –y
cal 2012
cal –m juin
15
 Les chemins pour désigner un répertoires ou un
fichier
 La racine ou « root » /
 Les chemins absolus commence TOUJOURS
depuis la racine
/dev/console
/home/john/docs/cours
/home/bob/src/a.out

 Les chemins relatifs dépendent de là où vous


êtes
Si vous êtes dans home -> bob/date
Si vous êtes dans / -> usr/bin/grep
16
 Les répertoires relatifs spéciaux
 Répertoire courant .
 Répertoire parent ..

Si vous êtes dans le répertoire /home/bob et vous


voulez avoir le chemin relatif de /usr/bin
../../usr/bin

 Les répertoires absolus spéciaux


 votre homedir ~
 homedir d’un utilisateur quelconque
~bob
~john
Si vous êtes l’utilisateur bob,
/home/bob/src/a.out devient ~/src/a.out ou
~bob/src/a.out 17
 Donner le chemin absolu du répertoire courant : pwd
 Lister les fichiers et les répertoires : ls
 Ses options
 -a : lister TOUS les fichiers (même les fichiers cachés)
 -l : lister en version longue, avec toutes les informations
ls /usr
ls –a Bureau
ls –l ..

 Se déplacer : cd
cd ~
cd ..
cd /home/user/Bureau  Ecrire dans un fichier : gedit

 Créer un fichier vide : touch  Afficher le contenu d’un fichier: cat


18
 Créer un répertoire vide : mkdir
 Copier : cp fichier_a_copier nom_de_la_copie
cp test.txt test2.txt
cp test.txt ../Bureau/test2.txt
cp test.txt ../Bureau/
 Ses options
 -r : récursivement = copier le répertoire et TOUT ce qu’il contient

 Déplacer ou Renommer un fichier ou un répertoire:


mv fichier_a_deplacer destination
mv test.txt Documents
mv test.txt test3.txt

 Supprimer : rm Pas de corbeille! Suppression définitive!


 Ses options
 -r : récursivement = supprimer le répertoire et TOUT ce qu’il contient 19
 Références à plusieurs dossiers
 Chaine de caractère quelconque *
ls *ne
ls *ne*
 Un seul caractère quelconque ?
ls anne?
ls annee??
 Un ensemble de caractères définit […]
ls annee[45]*
 Un caractère quelconque SAUF ceux préciser [^…]
ls anne[^4]*

20
 Découverte de Gnu/Linux et Ubuntu, prise en main de votre
environnement
 Commandes de base en gestion des fichiers
 Gestion des utilisateurs et des droits
 Les informations complémentaires: liens, alias et installations
 Les variables et les redirections
 Les scripts Shell
 Récapitulatif

21
 Les systèmes Unix sont multi-utilisateurs: gérer les permissions par sécurité
 Le 1er caractère: le type du fichier
 - pour les fichiers ordinaires
 d pour les dossiers/répertoires
 l pour les liens symboliques

 Les droits selon que ce soit un fichier ou un répertoire

Droit Fichier Répertoire

Lecture (r) Lire le fichier Voir le contenu du répertoire

Ecriture (w) Modifier le fichier Renommer, supprimer ou


déplacer les fichiers contenus
dans le répertoire
Exécuter (x) Exécuter le fichier (ne vaut rien Traverser le répertoire et aller
sans r) dans ses sous-répertoires
22
 Trois niveaux de droits d’accès
 utilisateur (u)
 groupe (g)
 autres (o)

 Les permissions sont exprimées de trois façons:


 Symbolique: rwx ou r-x ou --x
 Binaire 111 ou 101 ou 001
 Octales 7 ou 5 ou 1

23
 Commande pour modifier les droits: chmod
 Option –r pour le faire récursivement
 En symbolique
chmod u+x fichier
chmod g-w fichier
chmod o-rwx fichier
chmod a+rw fichier
 En base 8/ en octale
chmod 750 fichier
chmod 650 fichier

24
 Le super-utilisateur root a tous les droits
 Utiliser la commande sudo avant votre commande pour devenir
ponctuellement un super-utilisateur, votre mot de passe vous sera
demandé.
 Exemple:
touch fichier
ls –l fichier ->normalement j’ai le droit de lecture
gedit fichier ->écrire quelque chose dans le fichier et l’enregistrer
cat fichier -> on peut voir son contenu
chmod u-r fichier
cat fichier
sudo cat fichier

25
 Seul les utilisateurs inscrit dans le groupe sudo ont le droit d‘utiliser la
commande sudo
 ATTENTION: vous pouvez supprimer ou modifier des fichiers sensibles pour le
fonctionnement de votre machine

 Les utilisateurs: toutes les informations dans le fichiers /etc/passwd


login : mot_de_passe : numero_utilisateur : numero_de_groupe : commentaire : repertoire : interpreteur

 Commandes pour gérer les utilisateurs


useradd nom_utilisateur option –m pour créer son homedir en même temps
passwd nom_utilisateur
userdel nom_utilisateur

26
 Devenir un autre utilisateur que soit: commande su
 Qui suis-je ? whoami

 Les groupes: toutes les informations dans le fichiers /etc/group


nom_groupe : champ_special : numero_groupe : membre1 , membre2,

 Commande de gestion des groupes:


addgroup nom_groupe
groupdel nom_groupe

 Commande utile : chercher un mot dans un fichier avec la commande


grep pattern fichier
27
 Découverte de Gnu/Linux et Ubuntu, prise en main de votre
environnement
 Commandes de base en gestion des fichiers
 Gestion des utilisateurs et des droits
 Les informations complémentaires: liens, alias et installations
 Les variables et les redirections
 Les scripts Shell
 Récapitulatif

28
 Traditionnellement, un nom = un fichier en mémoire
 En créant un lien physique, un autre accès à ce fichier en mémoire sera
créé

 Commande pour créer un lien physique: ln ancien_fichier lien


 Combien de liens physiques? Voir le compteur de référence (ls –l)
 La commande rm permet de décrémenter ce compter. Quand le compteur
tombe à 0, l’espace mémoire est libéré.
 Tout lien physique est comme un fichier quelconque. Ce n’est un lien que
par sa création.
29
 Un lien symbolique contient un accès vers le chemin d’un fichier.
 Créer grâce à l’option s : ln –s fichier lien

 Propriétés du lien symbolique


 N’incrémente pas le compteur de référence.
 Un lien symbolique est de type l (1er caractère de ls –l )
 Toutes les permissions pour tous le monde: ce sont en fait les permissions du fichier de
destination qui seront appliquées
 La suppression de la destination n’affecte pas le lien symbolique

30
 Résumer par un mot une commande ou suite de commandes ou un chemin
que l’on utilise souvent: alias nom_alias=« commande »
 Commande alias sans paramètre: liste les alias existants
 Commande pour supprimer les alias : unalias nom_alias
 Ces commandes de création et de suppression ne sont valables que pour
la session en cours: uniquement pour votre terminal ouvert.
 Pour créer et supprimer définitivement des alias, modifier le fichier
~/.bashrc qui permet l’initialisation de votre terminal

31
 Vu précédemment : par la logithèque
 Par le terminal, pour les applications disponibles sur le dépôt APT:
 pour installer une application
sudo apt-get install appli
 Pour supprimer
sudo apt-get remove appli

 Pour les applications non disponibles sur le dépôt:


 Chercher l’archive (sur internet), voir installation sur ubuntu 64 bits
 Décompresser l’archive : tar –xvzf application.tar.gz
 Se rendre dans le répertoire créé
 Suivre les instruction du fichier README.txt (qui consiste souvent à faire : ./configure
make; sudo make install)

32
 Découverte de Gnu/Linux et Ubuntu, prise en main de votre
environnement
 Commandes de base en gestion des fichiers
 Gestion des utilisateurs et des droits
 Les informations complémentaires: liens, alias et installations
 Les variables et les redirections
 Les scripts Shell
 Récapitulatif

33
 Il existe 3 types de variables:
 Les variables utilisateur (celle que vous créez pour vos programmes): a, my_var, …
 Les variables prédéfinies du shell : PATH, HOSTNAME, USER, …
 Les variables prédéfinies des commandes Unix: TERM, …

 Attention: il y a une différence entre une variable var et sa valeur $var


 La commande echo pour afficher un message ou une valeur:
echo $PATH

 Pour initialiser une variable, on utiliser


 le signe = : x=23
y=« Bonjour »
 la commande read :
read –p « Entrez votre prénom » prenom

34
 Entrée et sortie d’une commande
 Entrée stdin, canal 0: par défaut, elle provient du clavier
 Sortie standard stout, canal 1: par défaut l’écran
 Sortie d’erreur sterr, canal 2: par défaut l’écran

 On peut rediriger l’entrée d’une commande pour la récupérer depuis un


fichier:
read ligne < fichier.txt

 Rediriger la sortie standard pour la stocker dans un fichier:


ls –l > sortie.txt ou ls –l 1> sortie.txt
Utile : si vous utiliser cat sans paramètre, il attend que vous utiliser la clavier comme entrée. Avec cette astuce, vous pouvez
écrire dans un fichier sans passer par gedit en redirigeant la sortie dans un fichier : cat > fichier2.txt

 Rediriger la sortie d’erreur pour la stocker dans un fichier:


ls inexistant 2> erreur.txt
35
 Rediriger sans écraser le contenu du fichier : >> , 1>> ou 2>>
 Rediriger la sortie d’erreur vers la standard 2>&1
 Combiner les redirections:
Prog <fichier.txt 1> fichier.out 2> fichier.err

 Rediriger la sortie standard d’une commande dans une variable


var=$(ls *) ou var=`ls *`
Attention: c’est la sortie standard qui est stockée, pas la sortie d’erreur

 Rediriger la sortie d’une commande vers l’entrée d’une autre


ls –l * > tmp.out ou ls –l * | wc -l
wc –l < tmp.out
rm tmp.out 36
 Un enchainement de commandes peut être écrit dans un scripts pour être
réutilisable:
 La première ligne d’un script permet de préciser l’interpréteur de commande:
#!/bin/bash
 Il aura généralement une extension .sh
 Il sera exécutable
 Et sera exécuté par l’appel de son nom ./script.sh

 Les paramètres d’un script :


 $0: nom du script
 $1, $2, $3 … les paramètres passés à la commande
 $# le nombre de paramètres
 $* l’ensemble des paramètres

On peut exécuter un script en donnant juste son nom si son répertoire


parent a été préalablement ajouté à la variable PATH 37