[Alt] + [Fx]
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Les systèmes Linux possèdent des utilitaires graphiques dédiés au travail d’un administrateur.
Mais :
Lorsque le système ne démarre pas correctement, seul le shell reste accessible.
L’administration à distance se fera en ligne de commande.
Afin de préserver les ressources du serveur l’interface graphique peut ne pas être installée.
L’administration se fait en partie via des scripts.
L’interface en mode texte (le shell) est commune à toutes les distributions Linux, seules quelques commandes varient. |
L’utilisateur est défini par :
Nom de compte de connexion (login)
UID (User Identifier)
GID (Group Identifier)
Mot de passe
Interpréteur de commandes (shell)
Répertoire de connexion (home directory)
Prompt de connexion
Le prompt de connexion est représenté par :
# pour l’administrateur
$ pour les utilisateurs
Il est possible de se connecter avec plusieurs utilisateurs simultanément sur des terminaux différents. |
Méthodes pour changer de terminal :
Depuis le mode ligne de commande
[Alt] + [Fx]
Depuis le mode graphique
[Ctrl] + [Alt] + [Fx]
Le Shell se comporte comme une boucle infinie.
Pour interrompre une commande en cours d’exécution, il faut appuyer sur |
La syntaxe d’une commande respecte toujours la même séquence.
commande [-option(s)] [argument…]
Le nom de la commande est toujours en minuscules.
Un espace sépare les éléments.
Les options courtes (1 caractère) commencent par un tiret -
.
Les options longues (x caractères) commencent par un --
.
Un double tiret seul --
indique la fin de la liste d’options.
Certaines options sont groupables :
[root]# ls -l -i –a
[root]# ls -lia
Il peut y avoir plusieurs arguments après une option.
Afficher le manuel d’aide d’une commande
man [numéro de section] commande
man ls
man 5 intro
Culture Linux
|
La commande man est interactive et possède des commandes d’utilisation qui lui sont propres.
Rechercher un mot-clé dans les pages man
whatis mot-clé
$ whatis man
man (1) - format and display the online manual
man (7) - macros to format man pages
man.config (5) - configuration data for man
Arrêter le système
shutdown [-h] [-r] heure [message]
[root]# shutdown -h 0:30 "Arrêt serveur à 0h30"
[root]# shutdown -r +5
-h | Arrête électriquement le système |
-r | Redémarre le système |
Afficher l’historique des commandes
history [-option]
$ history
147 man ls
148 man 1 intro
149 man shutdow
-w | Copie l’historique en cours de la session dans le fichier |
-c | Efface l’historique en cours de la session mais pas le fichier |
Il est possible d’appeler les dernières commandes de plusieurs façons :
!!
Appel de la dernière commande passée.
!n
Appel de la commande par son N°(n) dans liste.
!string
Appel la commande la plus récente commençant par la lettre.
[↑]
Permet de remonter l’historique des commandes.
[↓]
Permet de redescendre.
Compléter automatiquement les saisies.
L’auto-complétion permet de compléter les commandes, les chemins saisis ou les noms de fichiers.
Un appui sur la touche [TAB] complète la saisie dans le cas d’une seule solution.
Sinon, un deuxième appui permet d’obtenir la liste des possibilités.
S’il ne se passe rien alors aucune saisie ne correspond.
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Effacer l’écran du terminal
clear
$ clear
Afficher une chaîne de caractères
echo [-e] [-n] "message"
$ echo "Ce message"
Ce message
-e | Permet l’exécution de séquences spéciales |
-n | Ne pas revenir à la ligne après avoir affiché le message |
Afficher la date et l’heure
date [-d AAAAMMJJ] [format]
$ date
mer. Avril 17 16:46:53 CEST 2013
$ date -d 20150729 +%j
210
-d | Affiche une date donnée |
Modifier la date et l’heure
date -s "[AA]AA-MM-JJ hh:mm[:ss]"
[root] # date –s "2013-04-17 10:17"
jeu. Avril 17 10:17:00 CEST 2013
-s "[AA]AA-MM-JJ hh:mm[:ss]" | Modifie la date et l’heure |
Affiche le nom d’utilisateur et ses groupes
id [-g] [-G] [-n] [-u] [login]
$ id albert
uid=501(albert) gid=400(GroupA) groupes=400(GroupA)
-g | Affiche le GID du groupe principal |
-G | Affiche les GID des groupes secondaires |
-n | Affiche le nom au lieu de l’identifiant numérique |
-u | Affiche l’UID |
Affiche le nom des utilisateurs connectés
$ who
stagiaire tty1 2017-07-29 10:30
root pts/0 2017-07-29 10:31
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Répertoire racine :
Premier répertoire, parent de tous les autres :
/
Répertoire de connexion :
Répertoire associé à l’utilisateur :
~/
Répertoire courant :
Répertoire où se trouve l’utilisateur :
./
Répertoire parent :
Répertoire parent du répertoire courant :
../
Chemin absolu :
Chemin commençant par le répertoire racine
Exemple : /home/groupeA/alice
Chemin relatif :
Chemin depuis le répertoire courant
Exemple : ../bob
Print Working Directory
Afficher le chemin absolu du répertoire courant
pwd
[stagiaire]$ pwd
/home/stagiaire
Changer le répertoire courant :
cd [répertoire]
$ cd /tmp
$ pwd
/tmp
$ cd ../
$ pwd
/
$ cd
$ pwd
/home/stagiaire
Afficher le contenu d’un répertoire
ls [-a] [-i] [-l] [répertoire...]
$ ls –a /home
. .. groupeA groupeB
-a | Affiche tous les fichiers, même ceux cachés |
-i | Affiche les numéros d’inode |
-l | Affiche des informations supplémentaires |
Le résultat est affiché par colonnes
$ ls -lih /home/groupeA
283369 drwx------. 4 alice groupeA 4,0K 22 août 15:21 alice
283374 drwx------. 4 bob groupeA 4,0K 22 août 15:22 bob
283369 | Numéro d’inode |
drwx------ | Type de fichier (d) et droits (rwx------) |
4 | Nombre de sous-répertoires ("." et ".." inclus) Pour un fichier lien physique : Nombre de liens physiques |
alice | Utilisateur propriétaire |
groupeA | Groupe propriétaire |
4, 0K | Taille en octets |
22 août 15:21 | Date de dernière modification |
alice | Nom du fichier (ou du répertoire) |
Créer un répertoire
mkdir [-p] répertoire [répertoire…]
[root]# mkdir /home/groupeB
Sans option, le répertoire |
| Crée les répertoires parents s’ils n’existent pas |
Modifier l’horodatage d’un fichier ou créer un fichier vide si le fichier n’existe pas
touch [-t date] fichier
$ touch /home/stagiaire/fichier
| Modifie la date de dernière modification du fichier avec la date précisée |
La date est au format : |
Supprimer un répertoire vide
rmdir [-p] répertoire
| Supprime le ou les répertoire(s) parent(s) à la condition qu’ils soient vides |
Supprimer un fichier ou un répertoire
rm [-f] [-i] [-r] chemin [chemin...]
$ rm -r /home/stagiaire/STAGE/
| Ne demande pas de confirmation de la suppression |
| Demande confirmation de la suppression |
| Supprime récursivement les sous-répertoires |
Créez un fichier -dur-dur en tapant la commande suivante, puis visualisez le :
$ >-dur-dur ; ls
Quelle commande permet de le supprimer ?
Solution 1 :
$ rm -f -dur-dur
Solution 2 :
$ rm -f ./-dur-dur
Solution 3 :
$ rm -f -- -dur-dur
Déplacer et renommer des fichiers ou des répertoires
mv [-f] [-i] source… destination
$ mv /home/stagiaire/fic1 /home/stagiaire/fic2
$ mv /home/stagiaire/fic1 /home/stagiaire/fic2 /tmp/
| Ne demande pas de confirmation si écrasement du fichier destination |
| Demande confirmation si écrasement du fichier destination (par défaut) |
Copier un fichier
cp [-f] [-p] [-r] source… destination
$ cp -r /home/stagiaire/groupeA/ /tmp/
| Ne demande pas de confirmation si écrasement du fichier destination |
| Conserve le propriétaire, les permissions et l’horodatage du fichier copié |
| Copie un répertoire avec ses fichiers et sous-répertoires |
$ cp fic1 /repexiste/fic2
fic1
est copié dans /repexiste
sous le nom fic2
$ mv fic1 fic2
fic1
est renommé fic2
Si le répertoire de destination existe
$ cp fic1 /repexiste
fic1
est copié dans /repexiste
Si le répertoire de destination n’existe pas.
$ mv fic1 /repexistepas
fic1
est déplacé à la racine et renommé repexistepas
Atelier 1 : Affichage et identification
Atelier 2 : Arborescence et fichiers
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Afficher le type d’un fichier
file fichier
$ file /etc/passwd /etc
/etc/passwd: ASCII text
/etc: directory
Afficher le contenu d’un ou plusieurs fichiers
less fichier
less /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
user1:x:500:500:grp1:/home/user1:/bin/bash
...
La commande less est interactive et possède des commandes d’utilisation qui lui sont propres. |
| Aide |
Flèches | Monter, descendre d’une ligne ou aller à droite ou à gauche |
Enter | Descendre d’une ligne |
Espace | Descendre d’une page |
PgAR / PgAV | Monter ou descendre d’une page |
Pos1 / Fin | Se placer en début de fichier ou en fin de fichier |
/texte | Rechercher le texte |
q | Quitter la commande less |
Concaténer le contenu de plusieurs fichiers et l’afficher à l’écran
cat fichier
$ cat /etc/passwd /etc/group
root:x:0:0:root:/root:/bin/bash
...
alain:x:501:501::/home/GroupeA/alain:/bin/bash
root:x:0:
..
GroupeA:x:501:
Afficher le début d’un fichier
head [-n x] fichier
----
$ head –n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
| Affiche les x premières lignes du fichier |
Afficher la fin d’un fichier
tail [-f] [-n x] fichier
$ tail -n 3 /etc/passwd
sshd:x:74:74:Privilege-separeted sshd:/var/empty /sshd:/sbin/nologin
tcpdump::x:72:72::/:/sbin/nologin
user1:x:500:500:grp1:/home/user1:/bin/bash
| Affiche les x dernières lignes du fichier |
| Affiche les modification du fichier en temps réel |
Trier les lignes d’un fichier
sort [-kx] [-n] [-o fichier] [-ty] fichier
$ sort -k3 -t: -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm/:/sbin/nologin
| Colonne x sur laquelle le tri sera effectué |
| Demande un tri numérique |
| Enregistre le tri dans le fichier précisé |
| Précise le caractère séparateur de champs y |
Compter le nombre de lignes, mots ou octets d’un fichier
wc [-l] [-m] [-w] fichier
wc -l /etc/passwd
43 /etc/passwd
| Compte le nombre d’octets |
| Compte le nombre de caractères |
| Compte le nombre de lignes |
| Compte le nombre de mots |
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Rechercher l’emplacement d’un fichier
find [répertoire] [-name nom] [-type type] [-user login] [-date date]
$ find /home/groupeA -name ".bashrc"
/home/groupeA/alice/.bashrc
/home/groupeA/bob/.bashrc
| Recherche selon le nom |
| Recherche selon le type |
| Recherche selon le nom du propriétaire |
Rechercher des fichiers liés à une commande
whereis [-b] [-m] [-s] commande
$ whereis -b ls
ls: /bin/ls
| Ne recherche que le fichier binaire |
| Ne recherche que les pages de manuel |
| Ne recherche que les fichiers sources |
Rechercher une chaîne de caractères dans un fichier
grep [-i] [-v] "chaîne" fichier
$ grep "root:" /etc/passwd
root:x:0:0:root:/root:/bin/bash
| Ignore la casse de la chaîne de caractères recherchée |
| Inverse le résultat de la recherche |
Ils se substituent à un ou plusieurs caractères (ou une absence) lors d’une recherche et sont combinables.
Le caractère « * » remplace une chaîne composée de plusieurs caractères
$ find /home -name "test*"
/home/test
/home/test1
/home/test11
/home/tests
/home/test362
Le caractère « ? » remplace un unique caractère.
$ find /home -name "?roupeA"
/home/groupeA
Les crochets « [ ] » permettent de spécifier les valeurs que peut prendre un unique caractère.
$ find /home -name "groupe[AP]"
/home/groupeA
/home/groupeP
Atelier 3 : Recherches et filtres
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Par défaut, le clavier est le périphérique d’entrée pour le canal stdin.
Par défaut, l’écran est le périphérique de sortie pour les canaux stdout et stderr.
Rappel : sous Linux, tout est fichier. |
La redirection va permettre d’utiliser toutes sortes de fichiers à la place de l’entrée et des sorties standards.
Il est possible de la rediriger depuis un autre fichier grâce au caractère « < ».
Seules les commandes demandant une saisie au clavier pourront gérer la redirection d’entrée.
C’est peu utilisé, mais parfois nécessaire.
La sortie standard peut être redirigée vers un autre fichier grâce aux caractères « > » ou « >> »
Seules les commandes affichant un résultat à l’écran (périphérique de sortie standard) pourront gérer la redirection de sortie
La redirection simple « > » écrase le contenu du fichier de sortie :
$ date +%F > fic_date
La redirection double « >> » ajoute du contenu au fichier de sortie :
$ date +%F >> fic_date
La sortie d’erreur standard peut être redirigée vers un autre fichier avec « 2> » et « 2>> »
Seules les commandes affichant leurs erreurs à l’écran pourront gérer la redirection d’erreur
La redirection simple « 2> » écrase le contenu du fichier de sortie :
$ ls -R / 2> fic_erreurs
La redirection double « 2>> » ajoute du contenu au fichier de sortie :
$ ls -R / 2>> fic_erreurs
Redirection de deux sorties vers deux fichiers :
$ ls -R / >>fic_OK 2>>fic_NOK
Redirection de deux sorties vers un même fichier :
$ ls -R / >>fic.log 2>&1
Redirection vers le « puits sans fond » :
$ ls -R / 2>>/dev/null
Redirection vers la ou les consoles actives :
$ ls -R / 2>>/dev/console
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Mécanisme permettant de relier la sortie standard d’une première commande vers l’entrée standard d’une seconde.
Communication monodirectionnelle avec le symbole « | ».
$ ls -lia / | less
N’affiche que le début :
$ ls -lia / | head
N’affiche que la fin :
$ ls -lia / | tail
Trie le résultat :
$ ls -lia / | sort
Compte le nombre de lignes / mots / caractères :
$ ls -lia / | wc
Cherche une chaîne de caractères dans le résultat :
$ ls -lia / | grep fichier
Généralités
Affichage et identification
Arborescence et fichiers
Visualisation
Recherche
Redirections
Tubes
Points particuliers
Définir des alias de commandes
alias [nom_alias=‘commande’]
$ alias ll='ls -lia'
$ alias
ll='ls -lia'
$ ll /STAGE
78489 drwxr-xr-x 4 root users 4096 25 oct. 08:10 STAGE
Pour lancer la commande et non l’alias, la faire précéder d’un « \ ». |
Supprimer des alias de commandes
unalias [-a] nom_alias
unalias ll
| Désactive tous les alias |
Chaîner les commandes
Les commandes s’exécuteront toutes séquentiellement dans l’ordre saisi une fois que l’utilisateur aura appuyé sur [ENTREE]
.
$ ls / ; cd /home ; ls -lia ; cd /
Atelier 4 : Tubes et redirections