Overblog All blogs Top blogs Jobs, Education & Studies
Edit post Follow this blog Administration + Create my blog
MENU
L'Américanisation

Master 1 Plurital 2012

Advertising

Séance du 17/10/2012:

 

Voici les nouvelles commandes apprises pendant la séance du 17/10/12 :

 

rm

rm˽test.txt

Remove – supprimer un fichier sans avertissement

 

rm˽i

rm˽i˽test.txt

Remove (interactive) – supprimer un fichier avec une demande de confirmation avant la suppression

rm˽r

rm˽-r˽rep1

Suppression d’un répertoire (et son contenu)

rm˽rf

rm˽-rf˽rep1

Forcer la suppression d’un répertoire.  Il faut faire très très très attention à cette option puisque l’anéantissement de l’ordinateur n’est pas impossible (si la commande rm˽-rf˽ est affectuée à partir de la racine) /!\ /!\ /!\

rmdir

rmdir˽rep1

Suppresion d’un répertoire (s’il est vide) et l’affichage d’un message d’erreur s’il n’est pas vide

cat

cat˽apple.txt

Afficher le contenu d’un fichier

head

head˽apple.txt

 

 

Afficher l’en tête (un certain nombre de lignes) du fichier.  Le nombre de lignes est prédéfini par le système (en général 10 lignes)

head˽-n

head˽-5˽apple.txt

Afficher les n premières lignes de texte dans le fichier (dans l’exemple les cinq premières lignes de apple.txt seront affichées)

Tail

tail˽apple.txt

 

Afficher les dernières lignes du fichier (un nombre prédéfini par le système – généralement 10 lignes)

tail˽-n

tail˽-5˽apple.txt

Afficher les n dernières lignes du fichier

tail˽-f

tail˽-f˽apple.txt

En ajoutant f (follow) comme option, les  dernières lignes seront affichées, ainsi que toute ligne ajoutée ensuite au fichier.  Cet affichage dynamique permet de suivre l’exécution d’un programme.  Pour s’échapper de l’affichage dynamique taper sur Ctrl C

more

more˽apple.txt

Afficher le contenu du fichier qui rentre dans une seule fenêtre (le terminal est rempli de caractères).  ‘More’ permet de descendre dans la pagination mais ne permet pas de remonter.

less

less˽apple.txt

Afficher le contenu du fichier comme ‘more’ mais permet de scroller l’écran vers le haut.  ‘Less’ nettoie l’écran à la fin de la commande

 

q             - Pour sortir

Entrée  -  Pour défiler vers le bas d’un écran
Espace  - Pour défiler vers le bas d’une ligne
b             - Pour défiler vers le haut d’un écran

Y             - Pour défiler vers le haut d’une ligne
(ou on peut utiliser les flèches du clavier)

wc

wc˽apple.txt

Afficher le nombre de lignes, mots et caractères

wc˽-l

wc˽-l˽apple.txt

Afficher le nombre de lignes

wc˽-w

wc˽-w˽apple.txt

Afficher le nombre de mots

wc˽-c

wc˽-c˽apple.txt

Afficher le nombre de caractères

echo

echo˽"hello"

Afficher une chaîne de caractères.

L’exemple va afficher : hello

find

find˽/home/documents˽-name˽ "*apples*"

Chercher un objet dans l’arborescence depuis un certain endroit.  Dans l’exemple on va chercher dans le répertoire documents tout objet contenant le mot ‘apples’ dans son nom.

On peut également chercher par –type, -user, -group, -size, -atime (dernier accès) etc. en changeant l’option de la commande.

read

read˽variable1

(attend à ce que l’utilisateur entre une valeur)

 

 

echo˽$variable1

Permet l’affectation d’une variable en utilisant le contenu entré par l’utilisateur

La valeur qu’entre l’utilisateur sera affecté à la variable

Nous pouvons vérifier la valeur de variable1 en exécutant la commande ‘echo’ qui nous affiche la valeur de la variable.

 

Attention : le symbole $ s’utilise lors de l’affichage d’une variable, mais non pas pour son affectation

let

let˽ variable='$variable+5'

Permet de faire des calculs avec des variables

 

Métacaractères:

 

Ce sont des caractères qui ont une signification spéciale dans la ligne de commande (donc à éviter dans les noms de fichiers/répertoires).  En général, ils sont utilisés pour remplacer le début ou la fin d’un mot recherché.

*            
un nombre quelconque de caractères (n’importe quelle chaîne de caractères) – ALL
Ex : ls˽fichier*.txt renvoie fichier.txt, fichier2.txt, fichiernouveau.txt etc. pour tout fichier qui commence par fichier suivi de n’importe quelle chaîne de caractères

?            
Un caractère quelconque (y compris une absence de caractère)
Ex : ls˽fichier?.txt renvoie fichier.txt, ficher2.txt, fichier9.txt etc. pour tous les fichiers qui commence par fichier suivi d’un caractère ou une absence de caractère

 [ ]         
Les crochets désignent une intervalle – entre la première et la deuxième valeur
Ex : ls˽[a-c]* renvoie la liste d’objets qui commencent par la lettre  "a", "b" ou "c" suivi de   n’importe quelle chaîne de caractères

$            
désigne la position de fin de la chaîne (donc à éviter donc les noms de fichiers/répertoires)

!             
Le complémentaire de quelque chose (NOT)

~            
Le tilde indique le répertoire de l’utilisateur (à ne pas confondre avec le ‘.’ (Répertoire courant)

 

Les Entrées – Sorties:

 

Le flux d’entrées = les informations envoyées au programme – stdin (standard input)
Le flux de sorties = les informations renvoyées par le programme – stdout (standard output)                
Le flux d’erreurs = L’output vers les erreurs - stderr (standard erreur)

echo˽"hello"     renovie le mot hello
L’input saisi avec le clavier est pareil que l’output affiché à l’écran

cat˽bananas.txt
L’input est le texte du fichier et l’output est le contenu du fichier affiché à l’écran. 

Le stdin est associé par défaut à la saisie du clavier et le stdout et le stderr sont associés tous les deux par défaut à l’écran.  Puisque le stdout et le stdeer s’affiche tous les deux à l’écran, il n’est pas évident de les différencier.  Cependant on verra qu’il est possible de les séparer, en les redirigeant vers deux endroits différents.

Il est possible de rediriger la sortie d’une commande vers un autre endroit (vers un fichier par exemple ou vers une autre commande afin d’effectuer une chaîne de commandes).  La redirection s’effectue en utilisant des symboles (les flux de redirection).

 

Redirection de la sortie des commandes:

 

x  >  y                   

Redirige la sortie de la commande x vers le fichier y (en écrasant la sortie de x à la fin du fichier).  Si le fichier y n’existe pas, il sera créé

echo˽"hello"  
L’input saisi avec le clavier est pareil que l’output affiché à l’écran.

echo˽"hello">bananas.txt
L’input saisi avec le clavier est redirigé vers le fichier "bananas.txt".  Le mot "hello" s’affiche dans ce fichier et remplace le contenu du fichier. 

 

x  >>  y                 
Redirige la sortie de la commande x vers le fichier y (en ajoutant la sortie de x à la fin du fichier). Si le fichier y n’existe pas, il sera crée.

echo˽"hello">>bananas.txt
L’input saisi est redirigé vers le fichier banans.txt et le mot "hello" s’affiche dans le fichier après le contenu du fichier (il ne l’écrase pas)

 

x 2>y                   
Redirige le flux d’erreur               de la commande x dans le fichier y        

ls˽plum˽fruits.txt˽2>err.txt
Les messages d’erreur (le flux d’erreur) de la commande ls (sur les arguments "plum" et "fruits.txt") seront redirigés vers le fichier err.txt 

 

2>> est possible aussi (voir >>) pour ne pas écraser le contenu du fichier

Ainsi, il est possible de dissocier les deux outputs (stdout et stderr).  Nous pouvons les placer dans deux endroits différents.  Si on ne spécifie pas, ils seront affichés à l’écran.

ls˽plum˽fruits.txt˽>˽resultat˽ 2> err.txt
Le stdout sera dirigé vers "resultat" et le stdeer vers le fichier err.txt

 

2>&1                    
Permet de rediriger les stderr vers le même endroit que le stdout si on veut les stocker ensemble

 

Redirection de l’entrée d’une commande: (au lieu de taper au clavier)

 

x < y                     
Redirige le fichier x sur le flux d’entrée de la commande X

cat˽ La commande cat prend en entrée le contenu du fichier orange.txt, qui est affiché à l’écran.  Ceci n’est pas la même commande que cat˽orange.txt, qui prend en entrée le nom du fichier.  Le fichier est alors ouvert pour afficher à l’écran le contenu.

Alors il est possible de diriger l’entrée (le contenu d’un fichier) vers un autre.
cat˽˽secondorange.txt
Le contenu de orange.txt sera affiché dans le fichier secondorange.txt

 

x << y                   
Les doubles chevrons nous permettent de prendre en entrée de la commande x ce qu’on tape au clavier.

Ex: cat << y (on écrit ce qu’on veut et quand on veut s’arrêter on tape y)
                                     

         

Redirection de la sortie vers l’entrée d’une autre commande:

 

Le tube (pipe) | permet de créer une chaîne de commandes.  Il permet d’utiliser la sortie (stdout) de la première commande en tant qu’entrée (stdin) pour la deuxième commande.  On peut ainsi compiler les commandes les unes après les autres.

find˽.˽-name˽"apples"|wc˽-l

La première commande "find˽.˽-name" cherche tout objet du nom "apples" dans le répertoire courant.  Normalement le stdout serait affiché à l’écran (une liste de tout objet correspondant à la recherche.  Mais ici on redirige le stdout (via le tube) vers une deuxième commande "wc_-l".  La commande "wc" nous affichera le nombre de lignes comprise dans la sortie de la première commande.

 

Les Variables:

 

L’affectation des variables peut s’effectuer par la commande "read".  C’est une commande qui attend à ce que l’utilisateur affecte une valeur à la variable désignée :

read˽nomvariable
Lavaleurquejeviensdentrer      

à La variable nomvariable aura desormais la valeur ‘lavaleurquejeviensdentrer’.  Pour tester ça, on peut utiliser "echo", qui va afficher la valeur de notre variable à l’écran.

Echo $nomvariable
Lavaleurquejeviensdentrer

Quand on invoque une variable pour l’utiliser on préfixe son nom par le symbole dollar ($).  Pour l’affectation d’une variable il n’y a pas de préfixe.

Nous pouvons incrémenter une variable en utilisant la commande ‘let’ :

Let˽"variable=$variable+5"

Notre variable de type numérique a désormais sa valeur +5.

 

Caractères:

 

#            
Le croisillon est un caractère utilisé pour les commentaires.  Ce qui suit ne sera pas affiché ou exécuté.  Il peut être utilisé pour indiquer quel dialecte il faut utiliser pour lire le programme

Ex: #!/usr/bin/bash
 

;             
Indique que les commandes séparés par le point-virgule seront s’effectué l’une après l’autre, sans interaction

Ex: ls ; pwd ; echo˽$variable1
 

( )          
Les parenthèses indiquent que les commandes qui se trouvent à l’intérieur devraient être considérées ensemble (pour un tube ou une redirection)
 

$( )        
Permet l’imbrication d’une commande dans une autre.

echo˽my name is˽$(echo˽$name˽$(read˽name))

  1. La commande "read" demande à l’utilisateur d’attribuer une valeur à la variable "name"
  2. La valeur de la variable est attribuée, ce qui permet au deuxième "echo" de l’afficher
  3. La valeur de "name" sera précédé par le texte "my name is"

Ex:          On attribue la valeur ‘Minnie Mouse’ à name
               Résultat = my name is Minnie Mouse

 

Les droits:

Quand on affiche le résultat de "ls˽-l" nous avons la liste d’objets dans le répertoire courant. Les premières informations sont les droits – qui ont les droits et ce qu’ils autorisés de faire.

La partie du texte concernant les droits est composée de dix caractères.  Le premier indique quelle sorte d’objet il est.  "d" désigne un répertoire (dossier).  Les neuf autres caractères sont consacrés à la description des droits. Les trois premiers sont pour l’utilisateur, les trois qui suivent pour le groupe et les trois derniers pour le monde.

                r = droit de lecture (read)
                w = droit de modification/suppression (write)
                x = droit d’exécution
                - = pas de droit

Pour donner les droits :              chmod + droit(r ou w ou x)
Pour supprimer les droits :         chmod - droit(r ou w ou x)

Pour préciser l’entité pour qui on veut modifier les droits :       

                u = user
                g = groupe
                o = others

chmod˽-g+x      = ajouter un droit d’exécution au group
chmod˽-u+rw    = ajouter le droit de lecture et modification à l’utilisateur

Pour donner tous les droits à tous les utilisateurs : chmod˽777

Advertising
Share this post
Repost0
To be informed of the latest articles, subscribe:
Comment on this post