====== Commandes systèmes UNIX ====== Commande options arguments ===== Les commandes de bases : ===== ==== Ls = affiche le contenu d’un répertoire ==== -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. ==== Cd = permet de changer de répertoire de travail ==== ==== - = retourne au répertoire précèdent ==== ==== Pwd = affiche le chemin absolu du répertoire actuel ==== ==== Mkdir = permet de créer un répertoire ==== -p = créer les répertoires parents si ils n’existent pas -v = affiche un message pour chaque création ==== Rmdir = supprime des répertoires ==== -p = supprime la totalité du chemin ==== Cp = copie des fichiers ==== -i = confirmation d’écrasement -r = autorisation de copie sans confirmation -p = la copie garde les mêmes propriétés que la source ==== Mv = déplace ou renomme un fichier ==== -i = confirmation d’écrasement -f = autorisation l’écrasement sans confirmation Pour renommer un fichier il faut changer que le nom mais pas le chemin. ==== Rm = supprime des fichiers ==== -i = demande de confirmation -f = annule les demandes de confirmation -r = supprime toute l’arborescence (pour supprimer un dossier pleins) ==== Ln = créer un lien ==== -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 ». ==== Du = calcul la taille des fichiers ou répertoires ==== -a = affiche la taille de tous les fichiers rencontrés ==== Quota = connaitre la limite de son occupation disque (pas d’arguments) ==== ===== Les Droits : ===== - 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…) ==== Chmod = modifier les permissions de fichiers ==== -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 ==== Umask = enlever des permissions par défaut pour le shell en cours ==== Il est construit comme le chmod absolu, cependant les chiffres désignent les permissions à ne pas accorder. -S = affichage du umask sous forme symbolique ==== Chgrp = modifier le groupe du fichier ==== -f = pas de messages d’erreur -R = récursivité sur les répertoires et leurs contenus (chgrp groupe reference) ==== Chown = modifier le propriétaire et le groupe d’un fichier ==== -f et -R = comme chgrp (chgrp user groupe reference) ===== Aide : ===== ==== Type = obtenir la nature d’une commande ==== -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 ==== Help = aide sur les commandes internes de Bash ==== -S = affiche seulement le synopsis de la commande ==== Man = le manuel en ligne ==== - 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 » ===== Concaténation et redirections : ===== ==== Les caractères spéciaux de Bash : ==== « \ » 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 ==== Echo = écrit sur la sortie standard ==== -e = demande d’interpréter certaines séquences commençant par « \ » ==== Cat = concaténer des fichiers ==== ==== Less = affiche le contenu des fichiers en paginant ==== 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 ===== Tty = connaitre son terminal ===== ===== Les Pipes : ===== 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. ===== Actions sur les fichiers : ===== ==== Les filtres : ==== 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 ==== Wc = comptage des mots, lignes et octets des fichiers ==== -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 ==== Head = écrire le début de fichiers ==== 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 ==== Tail = écrire la fin de fichiers ==== Même utilisation que « head » ==== Cut = écrire des parties de lignes ==== 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 ===== Les alias et fonctions : ===== ==== Alias = créer un alias ==== Cela permet d’associer un identificateur a une ligne de commande. Alias ident=’ligne de commande’ ==== Unalias = supprimer un alias ==== ==== Function = créer une fonction ==== 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. ===== La variable d’environnement PATH : ===== 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 » ===== Fichiers de personnalisations de Bash : ===== 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 ===== Les processus : ===== 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. ==== Jobs = lister les processus lancés par le shell ==== -l = demande l’affichage du numéro de processus (PID) ==== Ps = obtenir une liste de processus existants ==== 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) ==== Kill = envoyer un signal au processus ==== 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 ===== Gestion des utilisateurs : ===== Les fichiers /etc/passwd et /etc/shadow contient une ligne par utilisateur : nom : mot de passe : uid : gid : infos : répertoire : shell ==== Useradd = créer un utilisateur ==== On peut utiliser aussi userdel ou usermod. ==== Passwd = changer son mot de passe local ==== ==== Smbpasswd = changer son mot de passe avec Mamba ==== -r = spécifier le contrôleur de domaine qui gère le mot de passe ===== Gestion des groupes : ===== Les fichiers /etc/group et /etc/gshadow contient une ligne par groupe : nom : mot de passe : gid : membres ==== Groupadd = créer un goupe (comme useradd) ==== -r = demande la création d’un groupe système -g = permet de spécifer le gid ==== Id = connaitre son identité effective et réelle ==== -g = pour le gid -u = pour le uid -r = demande l’identité réelle ==== Whoami = connaitre son nom d’utilisateur effectif ==== ==== Groups = connaitre les groupes d’un utilisateur ==== ==== Gpasswd = administrer un groupe ==== -A = ajoute en administrateur (par root) -a = ajoute un utilisateur -d = supprimer l’utilisateur -R = interdire l’accès aux non-membres ==== Newgrp = nouveau shell en changeant de groupe ==== ===== Les expressions régulières : ===== 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 ==== Grep = filtrer des lignes de fichiers ==== -i = ne pas distinguer les majuscules et les minuscules ==== Sed = éditer un flux de texte ==== 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. ==== Split = découper un fichier en plusieurs fichiers ==== -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) ==== Find = rechercher des fichiers ==== -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 ===== La compression : ===== ==== Gzip = compression ==== 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 = décompression ==== Gunzip = gzip –d ==== Zcat = affiche le contenu d’un fichier (dé)compressé ==== ==== Tar = archivage ==== -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 {{tag> commande linux diver }} [[linux:bienvenue|Retour...]]