Commandes Unix vues en TD
Par Junecooper • 14 Novembre 2018 • 3 770 Mots (16 Pages) • 589 Vues
...
-o -> “autre” -> other
-a -> “tous” -> all ( les 3 en même temps )
3 types de droits : -r -> “lire”-> read
-w-> “écrire/modifier” -> write
-x-> “execute” -> … execute
comment modifier un droit ?
il faut commencer en utilisant la commande “chmod”
ensuite
2 manières : -base octale -> exemple : chmod 750 fichier -> dans la logique des chose 7 donne tout les droit à l’utilisateur, 5 donne les droit de lecture et d'exécution au groupe, et 0 ne donne aucun droit aux autres.
000 = aucun droit pour tout le monde
777 = tout les droit pour tout le monde
-utilisation avec des lettres et des opérateurs -> exemple : chmod u+r fichier ou chmod ugo+rw fichier
Redirection de la sortie :
echo qui est la ?? >quiestla
cat quiestla
who >>quiestla
cat quiestla
Redirection de l’entrée :
sort quiestla
cat quiestla
Redirection des erreurs :
wc fichierinexistant1 fichier1 : sort un message d’erreur pour les fichiers inexistants (ici fichierinexistant1)
possibilité : wc fichierinexistant1 fichier1>error.log : enregistre dans error.log les messages d’erreurs
Generation de noms de fichiers
On suppose que le répertoire de travail contient au moins les fichiers suivants : toto1, toto2, toto3 et totor
* : remplace n'importe quelle nombre de caractères (y compris 0)
cat t* >grosfichier : concaténation de fichiers
cat t*o : tous les fichiers commençant par t et finissant par o
? : remplace n'importe quelle caractère
cat tot? : Fichiers de 4 caract. commençant par tot
[...] : définit une classe de caractères :
ls -l toto[123] : liste les fichiers toto1, toto2 et toto3.
[.-.] : représente un intervalle dans une classe de caractères :
ls toto[1-3] : liste les fichiers toto1, toto2 et toto3.
[!.-.] : représente un caractère sauf ceux inclus dans l'intervalle indiqué :
ls toto[!1-3] : liste le fichier totor.
Les pipes
Voir 23 dernières pages. (c’est pas si long c’est surtout les lignes de commandes qui prennent de la place) (faites ça à la fin de votre moodle quand vous avez terminé le reste)
La variable PATH
/!\ Les variables d'environnement sont généralement écrites en majuscules.
cette variable sert à déterminer séquentiellement les chemins de recherche à essayer à chaque fois qu’une commande relative (sans chemin!) est entrée.
echo $EXEMPLE (echo $PATH) : afficher le contenu d’une variable
Dans le PATH, les chemins de recherche sont séparés par “:”
Supposons que la variable PATH contient :
.:/usr/bin:/bin
si on entre ls le shell cherche la commande ls dans le répertoire local, puis il cherche dans /usr/bin et il trouve, donc il arrête les recherches. Cette variable est prédéfinie dans un fichier de démarrage appliqué au login de TOUT utilisateur, le fichier /etc/profile.
PATH=$PATH:chemin1:chemin2 : redéfinir une variable en ajout (conserver les chemins prédéfinis)
/!\ Si on place chemin1 et chemin2 AVANT $PATH, le shell recherchera les commandes relatives d'abord dans les répertoires chemin1 et chemin2.
La gestion des processus
Sous Unix, chaque processus est identifié par :
PID (Processus Identifier) : processus fils
PPID (Parent Processus Identifier) : processus père
execution de commande en tâche de fond
Si on termine sa commande par & alors on peut lancer une commande en continuant à travailler sur le shell (interpréteur de commande).
jobs : permet de connaitre la listes des tâches de fond.
fg : remet une tache de fond au premier plan.
CTRL + Z pour suspendre la tâche.
bg : remet une tache de fond à l’”arrière plan”.
sleep n : suspend l’execution durant n secondes (le shell passe à l’état bloqué durant ce temps)
ps : permet d’avoir la liste des différents processus.
kill : permet de tuer un processus ou un job.
Création d’utilisateurs et de groupes
adduser utilisateur1 : permet de créer un utilisateur, ici utilisateur1.
passwd utilisateur1 : permet de créer un mot de passe, ici le mot de passe de utilisateur1.
groupadd eleves : permet de créer un groupe, ici le groupe eleves.
usermod -G eleves : met le mode d’un groupe, ici le mode
...