Commande options arguments
-l = affichage des détails -a = affichage des éléments cachés
Le chemin absolu est le chemin complet c’est-à-dire à partir de la racine du système /. Le chemin relatif est un chemin qui ne commence pas forcement par la racine.
Le répertoire « . » désigne le répertoire qui le contient, et le répertoire « .. » désigne le répertoire parent.
-p = créer les répertoires parents si ils n’existent pas -v = affiche un message pour chaque création
-p = supprime la totalité du chemin
-i = confirmation d’écrasement -r = autorisation de copie sans confirmation -p = la copie garde les mêmes propriétés que la source
-i = confirmation d’écrasement -f = autorisation l’écrasement sans confirmation
Pour renommer un fichier il faut changer que le nom mais pas le chemin.
-i = demande de confirmation -f = annule les demandes de confirmation -r = supprime toute l’arborescence (pour supprimer un dossier pleins)
-s = création d’un lien symbolique
Un lien physique est un autre nom pour le même fichier que la source. Un lien symbolique est un fichier spécial qui contient le chemin du fichier qu’il « pointe ».
-a = affiche la taille de tous les fichiers rencontrés
- Les droits pour un fichier : Lecture = lire le contenu ou redirection sur sortie standard Ecriture = modifier le contenu ou sortie, pas d’incidence sur la suppression Exécution = il faut les droits de lecture et d’écriture
- Les droits pour un répertoire : Lecture = consulter son contenu Ecriture = ajout, suppression et renommage, il faut aussi le droit d’exécution Exécution = autorise l’accès au répertoire et donc de le traverser (ls, cd…)
-R = applique les modifications à l’arborescence
Mode absolu :
1er chiffre = propriétaire Lecture (r) = 4 2nd chiffre = groupe Ecriture (w) = 2 3éme chiffre = autres Exécution (x) = 1
Mode symbolique :
u = propriétaire = = fixer exactement g = groupe + = ajouter o = autres - = supprimer a = tous
Il est construit comme le chmod absolu, cependant les chiffres désignent les permissions à ne pas accorder.
-S = affichage du umask sous forme symbolique
-f = pas de messages d’erreur -R = récursivité sur les répertoires et leurs contenus
(chgrp groupe reference)
-f et -R = comme chgrp
(chgrp user groupe reference)
-a = demande toutes les correspondances
Cette commande permet notamment de savoir si c’est une commande interne ou externe.
Interne = commandes fournies par Bash
Externe = commandes contenu ailleurs dans le système référencer dans le PATH
-S = affiche seulement le synopsis de la commande
- Affichage de la pagination :
Arrêter la commande = « q » Défiler la page d’une ligne = « Entrée » Afficher la page suivante = « Espace » Afficher la page précédente = « b »
« \ » permet de protéger le caractère qui le suit « ? » représente n’importe quel caractère sauf « / » et « . » « * » représente n’importe quelle suite de caractères sauf « / » et « . » « [[ ] ensemble] représente un caractère appartenant à son ensemble, « ^ » est l’inverse « ‘’ » est un constructeur de chaines avec aucune interprétation de caractère spécial « « » s’emploie comme la « ‘ » mais « $, `, ! » ne sont pas protégés
-e = demande d’interpréter certaines séquences commençant par « \ »
Affichage de la pagination :
Arrêter la commande = « q » Défiler la page d’une ligne = « Entrée » Afficher la page suivante = « Espace » Afficher la page précédente = « b »
Redirections :
Redirection de l’entrée standard : < fichier d’entrée Redirection de la sortie standard : > fichier sortie Attention si l’on veut concaténer au lieu d’écraser : >> Redirection de la sortie d’erreur : 2> fichier d’erreur Redirection des sorties ensemble : &> fichier sorties ou > fichier sorties 2>&1 Attention si l’on veut concaténer au lieu d’écraser : >> fichier sorties 2>&1
Ils permettent de former des chaines de traitement en cascadant des commandes, on utilise le « | » entre chaque commande. Pour rediriger la sortie d’erreur par le pipe entre deux commandes : c1 2>&1 | c2.
Cat = reproduire l’entrée sur la sortie Less = paginer l’entrée Head = ne garder que les premières lignes en entrée Tail = ne garder que les dernières lignes en entrée Uniq = éliminer les lignes identiques Sort = trier les lignes de l’entrée Cut = extraire les colonnes sur les lignes en entrée
-l = compter les lignes -w = compter les mots -c = compter les octets
S’il y a aucune option les 3 sont activées par défaut
-m = compter les caractères
Sans option la commande affiche les 10 premières lignes
-n = nombre de lignes -c = nombre d’octets
Ces deux options sont séparées par « | »
-q = désactivé l’en-tête, il est forcé par –v
Même utilisation que « head »
cut –c intervalles [--output-delimiter=odélim] cut –f intervalles [-d délim] [--output-delimiter=odélim] -c = demande de n’afficher que les caractères préciser par les intervalles, où intervalles est une liste séparés par des virgules --output-delimiter = demande d’afficher le caractère précisé par odélim entre les intervalles qui ne se chevauchent pas -f = traiter chaque ligne comme une série de champs où le séparateur est de champ est défini par délim de l’option –d, le délimiteur par défaut est la tabulation
Cela permet d’associer un identificateur a une ligne de commande. Alias ident=’ligne de commande’
function nomfonctiom { } $1 jusqu’à $9 désigne les arguments de la fonction à partir du 10éme cela s’écrit ${10}, autrement $* désigne tous les arguments.
Cette variable contient une liste de chemins consultés par bash pour rechercher les fichiers exécutables correspondant aux commandes externes.
Vider son contenu : PATH= « » Ajouter le chemin chemin au début : PATH= « chemin :$PATH » Ajouter le chemin chemin à la fin : PATH= «$PATH : chemin »
Commun à tous les users en modifiable par root : /etc/profile (environnement minimal de l’utilisateur exécuté par le login shell) et /etc/bash.bashrc (initialise l’invite de commande exécuté par un shell interactif) Propre à chaque utilisateur : .bash_profile (exécuté par le login shell, il définit les préférences de son environement) et .bashrc (exécuté par les shell interactifs, il concerne par exemple la création de fonction et d’alias) Login shell = shell de connexion ou d’ouverture de session Shell interactif = affiche le prompt, analyse les lignes de commandes… Shell non-interactif = exécution des scripts
Un processus est toujours créer par un autre, appelé processus père, excepté du init qui est le numéro 1. Le PID est le numéro de la tache exécuté et le PPID est le numéro de son père.
La plupart des commandes sont au premier plan, cependant pour lancer en arrière-plan il suffit de mettre « & » après la commande.
-l = demande l’affichage du numéro de processus (PID)
Agir sur un processus :
CTRL + C : provoque la mort du processus (s’il le veut bien) CTRL + \ : provoque la mort du processus (il n’a pas le choix) CTRL + Z : provoque l’interruption du processus où l’on pourra déclencher la continuation avec fg (premier plan) ou bg (tache de fond)
15 ou TERM = demande gentiment de terminer proprement le processus 2 ou INT = signal brutalement un arrêt immédiat du processus 9 ou KILL = provoque la mort sans condition du processus
Les fichiers /etc/passwd et /etc/shadow contient une ligne par utilisateur : nom : mot de passe : uid : gid : infos : répertoire : shell
On peut utiliser aussi userdel ou usermod.
-r = spécifier le contrôleur de domaine qui gère le mot de passe
Les fichiers /etc/group et /etc/gshadow contient une ligne par groupe : nom : mot de passe : gid : membres
-r = demande la création d’un groupe système -g = permet de spécifer le gid
-g = pour le gid -u = pour le uid -r = demande l’identité réelle
-A = ajoute en administrateur (par root) -a = ajoute un utilisateur -d = supprimer l’utilisateur -R = interdire l’accès aux non-membres
Motif ::= … Les caractères suivants : ?, +, {, }, (, ) et | ont une signification spécial si ils sont précédés de « \ » Le « . » remplace n’importe quel caractère \n, remplacé par la niéme expression entre parenthèses \+ = au moins une fois \ ? = au plus une fois ^ et $ = aucun caractère
-i = ne pas distinguer les majuscules et les minuscules
Il permet d’écrire sur la sortie standard la transformation des lignes lues dans des fichiers ou l’entrée standard.
s/exp_reg/chaine_remp/[options] = modifie le tampon en remplaçant la chaine correspondant à l’expression regulière exp_reg par chaine_ramp. y/source/dest/ = modifie le tampon en remplaçant chaque caractère de source par le caractère correspondant de dest.
-l = spécifier le nombre de lignes (n) -b = spécifier la taille (n), qui peut étre suivi de b pour bloc de 512 octet, k pour bloc d’1 Ko et m pour bloc de 1 Mo. A la fin on peut mettre le préfixe commun des différents fichiers.
On recrée le fichier d’origine avec un cat (cat x* > cigale.txt)
-print = (utilisé par défaut par find) affiche une référence de chaque fichier rencontré -a = et -o = ou -type = f pour fichier et d pour répertoire -user = nom -group = groupe -name = nom du fichier -mtime [+|-]n = la modification remonte a + ou – n jours -exec commande = si vrai => exécute la commande -ok = comme –exec mais affiche un message pour demande s’il faut exécuter la commande
Chaque fichier sera remplacé par son équivalent compressé avec le même nom mais une extension .gz.
-d = permet de décompresser -c = affiche sur la sortie standard -v = taux de compression ecrit sur la sortie d’erreur
Gunzip = gzip –d
-c = création d’archive -x = extraction du contenu d’une archive -t = affichage des entrées contenues dans l’archive -z = (dé)compression par gzip -Z = (dé)compression par compress