====== Différences ======

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

cours:activite1:linux_initiation_au_shell [2013/10/07 16:34]
r.doiteau
cours:activite1:linux_initiation_au_shell [2019/05/11 14:35] (Version actuelle)
Ligne 1: Ligne 1:
-====== Commandes de base ======+=== Commandes de base ===
  
 <fc #​008000>​La fonction "mkdir NOM_DU_DOSSIER"​ permet de créer un dossier.</​fc>​ <fc #​008000>​La fonction "mkdir NOM_DU_DOSSIER"​ permet de créer un dossier.</​fc>​
Ligne 19: Ligne 19:
 <fc #​008000>​La fonction "su NOM_DE_L'​UTILISATEUR"​ permet de se connecter en tant que cet utilisateur.</​fc>​ <fc #​008000>​La fonction "su NOM_DE_L'​UTILISATEUR"​ permet de se connecter en tant que cet utilisateur.</​fc>​
  
-===== 1 : fonction cal  ​=====+=== 1 : fonction cal  ===
  
 **cal COMMAND:** **cal COMMAND:**
Ligne 69: Ligne 69:
  Ici, la commande «cal» affiche le calendrier des mois d’avril, mai et juin de l’année 2008.  Ici, la commande «cal» affiche le calendrier des mois d’avril, mai et juin de l’année 2008.
  
-===== 2 : fonction date  ​=====+=== 2 : fonction date  ===
  
 **date COMMAND :** **date COMMAND :**
Ligne 150: Ligne 150:
 mercredi mercredi
  
-===== 3 : fonction echo  =====+===3 : fonction echo  =====
  
 **syntaxe :** **syntaxe :**
Ligne 165: Ligne 165:
 +%r heure en format 24-heure identique à %H:%M +%r heure en format 24-heure identique à %H:%M
  
-===== 4 : fonction ls  =====+=== 4 : fonction ls  =====
  
 **syntaxe** **syntaxe**
Ligne 173: Ligne 173:
 -i, --inode ​               affiche le numéro d'​index de chaque fichier -i, --inode ​               affiche le numéro d'​index de chaque fichier
  
-======Pratique====== 
  
 +=== 5 : fonction touch  =====
  
-=====1. Créez un fichier contenant la date du jour. Ajoutez à la fin de ce fichier le contenu du répertoire courant.=====+permet de créer un fichier 
 + 
 +ex: touch toto.txt 
 + 
 + 
 +=== 6 : fonction cat  ===== 
 + 
 +concatène et affiche le fichier 
 + 
 +ex : cat toto.txt 
 +                    Salut 
 +                     
 +ou cat > toto.txt permet ​         #​l'​edition de celui-ci 
 +   cat toto.txt toto2.txt >       #​toto3.txt concaténe toto et toto2 vers toto3 
 +    
 + 
 +=== 7 : fonction grep  =====   
 + 
 +recherche des fichiers 
 + 
 +ex : recherche des fichiers dans les processus en cours, bash étant le mot recherché 
 + 
 +    ps | grep bash  
 +  
 +ex : recherche dans le dossier /​etc/​services,​ le mot "​hhtp"​ en indiquant le nom des lignes 
 + 
 +   grep -w  http /​etc/​services  
 + 
 +ex : <fc #​FF0000>​ne pas</​fc>​ recherché dans le dossier /​etc/​services,​ le mot "​hhtp"​ en indiquant le nom des lignes 
 + 
 +   grep -v  http /​etc/​services ​  
 +   
 +ex : recherche et compte dans le dossier /​etc/​passwd,​ le mot "​sbin"​ en indiquant le nom des lignes ​   
 +    
 +   grep -w -c  sbin /​etc/​passwd 
 +   
 +ex : recherche une chaîne de caractère "​tux"​ dans le dossier /etc 
 +    
 +   grep -l -R  tux /etc/ 
 +    
 +ex : recherche sans respecter la casse 
 +   
 +   grep -i iana /​etc/​services 
 + 
 +=== 8 : fonction cut  =====  
 + 
 +supprime une partie de chaque ligne du fichier, 
 + 
 +<note warning>​Attention il faut préciser les délimiteurs : par -d ":"​ si le délimiteurs est :</​note>​ 
 + 
 +ex : cut -f1,3 -d":"​ /​etc/​group 
 + 
 + 
 +=== 9 : fonction sort  =====  
 + 
 +tri les lignes 
 + 
 +ex : sort /​etc/​passwd 
 + 
 +- n permet de trier du plus grand au plus petir 
 +-t : -(position inf) +(position sup) permet de trier a partir d'un position prédéfinie 
 + 
 +=== 10 : fonction head et tail  =====  
 + 
 +affiche le début ou la fin de chaque fichier 
 + 
 +ex : -n5 affiche les 5 premières ligne du fichier  
 + 
 +head -n5 /​etc/​passwd 
 + 
 +-n+(position) : permet de sélectionner un ligne  pur afficher à partir de la niéme 
 + 
 + 
 +   
 +     
 +======Pratique TP 2====== 
 + 
 + 
 +===1. Créez un fichier contenant la date du jour. Ajoutez à la fin de ce fichier le contenu du répertoire courant.===
  
 Créer un fichier: touch NOM_DU_FICHIER (date.txt). Ajouter la date: date > date.txt Créer un fichier: touch NOM_DU_FICHIER (date.txt). Ajouter la date: date > date.txt
  
-=====2. Choississez un fichier existant et listez ses caractéristiques avec l’option l.=====+===2. Choississez un fichier existant et listez ses caractéristiques avec l’option l.===
  
 Lister les caractéristiques d'un fichier: ls -l NOM_DU_FICHIER. Lister les caractéristiques d'un fichier: ls -l NOM_DU_FICHIER.
  
-=====3. Recommencez l’opération avec un nom de fichier n’existant pas.=====+===3. Recommencez l’opération avec un nom de fichier n’existant pas.===
  
 Cf 2 Cf 2
  
-=====4. Effectuez les mêmes opérations que ci-dessus, mais en sauvegardant les résultats dans respectivement out-normal et out-err.=====+===4. Effectuez les mêmes opérations que ci-dessus, mais en sauvegardant les résultats dans respectivement out-normal et out-err.===
  
 (| = pipe) (| = pipe)
 Lister et sauvegarder:​ ls -l NOM_DU_FICHIER > NOM_DU_FICHIER_SAUVEGARDE | ls -l NOM_DU_FICHIER_NON_EXISTANT >& NOM_DU_FICHIER_SAUVEGARDE_ERR Lister et sauvegarder:​ ls -l NOM_DU_FICHIER > NOM_DU_FICHIER_SAUVEGARDE | ls -l NOM_DU_FICHIER_NON_EXISTANT >& NOM_DU_FICHIER_SAUVEGARDE_ERR
  
-=====5. Listez les caractéristiques d’un second fichier existant avec l’option l, et en ajoutant ce résultat au fichier out-normal.=====+===5. Listez les caractéristiques d’un second fichier existant avec l’option l, et en ajoutant ce résultat au fichier out-normal.===
  
 Ajout de données à un fichier: ls -l NOM_DU_FICHIER >> NOM_DU_FICHIER_SAUVEGARDE Ajout de données à un fichier: ls -l NOM_DU_FICHIER >> NOM_DU_FICHIER_SAUVEGARDE
  
-=====6. Listez deux fichiers, l’un connu, l’autre inconnu et récupérer,​ en une seule commande, les informations dans les fichiers out-normal et out-err.=====+===6. Listez deux fichiers, l’un connu, l’autre inconnu et récupérer,​ en une seule commande, les informations dans les fichiers out-normal et out-err.===
  
 ls -l NOM_DE_FICHIER >​NOM_DU_FICHIER_SAUVEGARDE|ls -l NOM_DU_FICHIER_NON_EXISTANT >& NOM_DU_FICHIER_SAUVEGARDE_ERR ls -l NOM_DE_FICHIER >​NOM_DU_FICHIER_SAUVEGARDE|ls -l NOM_DU_FICHIER_NON_EXISTANT >& NOM_DU_FICHIER_SAUVEGARDE_ERR
  
  
-=====7. Idem mais dans un même fichier out.=====+===7. Idem mais dans un même fichier out.===
  
 ls -l NOM_DE_FICHIER>​NOM_DU_FICHIER_SAUVEGARDE|ls -l NOM_DU_FICHIER_NON_EXISTANT &> NOM_DU_FICHIER_SAUVEGARDE ls -l NOM_DE_FICHIER>​NOM_DU_FICHIER_SAUVEGARDE|ls -l NOM_DU_FICHIER_NON_EXISTANT &> NOM_DU_FICHIER_SAUVEGARDE
  
-=====8. Idem mais en utilisant le périphérique null (/dev/null) pour ne pas afficher les messages d’erreur.=====+===8. Idem mais en utilisant le périphérique null (/dev/null) pour ne pas afficher les messages d’erreur.===
  
 ls -l NOM_DE_FICHIER>​NOM_DU_FICHIER_SAUVEGARDE|ls -l NOM_DU_FICHIER_NON_EXISTANT &> /dev/null ls -l NOM_DE_FICHIER>​NOM_DU_FICHIER_SAUVEGARDE|ls -l NOM_DU_FICHIER_NON_EXISTANT &> /dev/null
  
-=====9. Lancez un shell, puis la commande tty pour récupérer le nom du terminal.=====+===9. Lancez un shell, puis la commande tty pour récupérer le nom du terminal.===
  
 Ouvrir un nouveau shell: maj+ctrl+n Ouvrir un nouveau shell: maj+ctrl+n
  
-=====10. Exécutez quelques commandes dans une fenêtre et afficher le résultat dans la seconde et éventuellement la sortie erreur dans une troisième.=====+===10. Exécutez quelques commandes dans une fenêtre et afficher le résultat dans la seconde et éventuellement la sortie erreur dans une troisième.===
  
 Afficher le résultat des commandes dans l'​autre shell: ls -l > /dev/pts/1 Afficher le résultat des commandes dans l'​autre shell: ls -l > /dev/pts/1
  
-=====11. La commande ps permet d’obtenir des informations sur la liste des processus actifs sur la machine. En combinant cette commande, à l’aide d’un pipe, avec la commande appropriée,​ affichez le nombre de processus actifs.=====+===11. La commande ps permet d’obtenir des informations sur la liste des processus actifs sur la machine. En combinant cette commande, à l’aide d’un pipe, avec la commande appropriée,​ affichez le nombre de processus actifs.===
  
 ps --no-header | wc -l ps --no-header | wc -l
  
-=====12. La commande sort permet de trier ce qui lui est communique sur l’entrée standard. Affichez par ordre de taille tous vos fichiers et vos répertoires.=====+===12. La commande sort permet de trier ce qui lui est communique sur l’entrée standard. Affichez par ordre de taille tous vos fichiers et vos répertoires.===
  
 ls -l| sort -k5 -g ls -l| sort -k5 -g
  
-=====13. Écrire une suite de commandes reliées par des pipes qui compte le nombre de lignes d’un fichier qui contiennent toto.=====+===13. Écrire une suite de commandes reliées par des pipes qui compte le nombre de lignes d’un fichier qui contiennent toto.===
  
 cat NOM_DU_FICHIER |wc -l NOM_DU_FICHIER cat NOM_DU_FICHIER |wc -l NOM_DU_FICHIER
  
-=====14. Chaque ligne du fichier /etc/passwd donne des informations relatives à un utilisateur du système, et contient plusieurs champs séparés par le caractère:​(deux points). Affichez tous les champs de ce fichier, depuis le nom d’utilisateur jusqu’`a son UID (ie. les 4 premiers champs).=====+===14. Chaque ligne du fichier /etc/passwd donne des informations relatives à un utilisateur du système, et contient plusieurs champs séparés par le caractère:​(deux points). Affichez tous les champs de ce fichier, depuis le nom d’utilisateur jusqu’`a son UID (ie. les 4 premiers champs).===
  
 cut -f1,2,3,4 -d":"​ /etc/passwd cut -f1,2,3,4 -d":"​ /etc/passwd
  
-=====15. Recherchez dans ce même fichier la ligne contenant votre nom d’utilisateur.=====+===15. Recherchez dans ce même fichier la ligne contenant votre nom d’utilisateur.===
  
 grep NOM_D'​UTILISATEUR /etc/passwd grep NOM_D'​UTILISATEUR /etc/passwd
  
-=====16. En utilisant les commandes date et cut, affichez le mois courant.=====+===16. En utilisant les commandes date et cut, affichez le mois courant.===
  
 date | cut -f3 -d" " date | cut -f3 -d" "
  
-=====17. Affichez le nombre d’utilisateurs connectés sur votre poste (Voir la commande who).==+===17. Affichez le nombre d’utilisateurs connectés sur votre poste (Voir la commande who).===
  
 who -u | cut -f1 -d" "| sort -k1 -u| wc -l who -u | cut -f1 -d" "| sort -k1 -u| wc -l
 affiche le nombre d'​utilisateur | prend la première colonne | tri par nom et enlève les doublons | Compte les lignes. ​ affiche le nombre d'​utilisateur | prend la première colonne | tri par nom et enlève les doublons | Compte les lignes. ​
  
-=====18. A l’aide des commandes head et tail, affichez la portion d’un fichier comprise entre les lignes 5 à 9.=====+===18. A l’aide des commandes head et tail, affichez la portion d’un fichier comprise entre les lignes 5 à 9.===
  
 cat /etc/passwd | head -n9 | tail -n5 cat /etc/passwd | head -n9 | tail -n5
  
-=====19. Comment utiliser la commande cat pour écrire du texte dans un fichier?​=====+===19. Comment utiliser la commande cat pour écrire du texte dans un fichier?=== 
 + 
 +cat > toto.txt 
 + 
 +======Pratique TP 3====== 
 + 
 +=== Créer un processus en arrière plan === 
 +    xclock&​ 
 + 
 +=== Tuer un processus === 
 +    kill 4427 #le numéro de processus apparaît lors du lancement de celui-ci 
 + 
 +=== Retrouver un numéro de processus pour le tuer === 
 + 
 +   ps 
 +      3735 pts/1    00:00:00 bash 
 +      4422 pts/1    00:00:00 xclock 
 +      5101 pts/1    00:00:00 ps 
 +       
 +   kill -9 4422 #le -9 kill tous les process en rapport avec celui-ci 
 + 
 +=== Afficher la valeur d'une variable === 
 +   echo $HOME    # $ donne la valeur de la variable et non le nom de la variable 
 +    
 + 
 +=== Afficher les variables d'​environnement du shell === 
 +    export 
 +=== Attribuer une variable === 
 +    VAR="​toto" ​   #attribue la variable 
 +    export VAR    #export la variable 
 +    echo $VAR     #​affiche la variable 
 +    
 +=== Attribuer une variable pour l’exécuter simplement=== 
 + 
 +PATH=/​home/​r.doiteau/​script/:​$PATH ​  #​attribution de la variable 
 +export ​                              #​vérification ​        
 + 
 +   ​declare -x PATH="/​home/​r.doiteau/​script/:/​usr/​local/​bin:/​usr/​bin:/​bin:/​usr//​games:/​usr/​games"​  
 + 
 +script.sh ​                           #​exécution  ​
  
 +=== Enregistrement permanent des alias===
 +   ​Éditer les alias dans le fichier .bashrc ​  ​présent à la racine de root
  
  
  
 
cours/activite1/linux_initiation_au_shell.1381156449.txt.gz · Dernière modification: 2019/05/11 14:35 (modification externe)     Haut de page