====== 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/03 11:59]
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
  
 +
 +=== 5 : fonction touch  =====
 +
 +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
 +
 +===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.
 +
 +===3. Recommencez l’opération avec un nom de fichier n’existant pas.===
 +
 +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.===
 +
 +(| = 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
 +
 +===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
 +
 +===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
 +
 +
 +===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
 +
 +===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
 +
 +===9. Lancez un shell, puis la commande tty pour récupérer le nom du terminal.===
 +
 +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.===
 +
 +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.===
 +
 +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.===
 +
 +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.===
 +
 +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).===
 +
 +cut -f1,2,3,4 -d":"​ /etc/passwd
 +
 +===15. Recherchez dans ce même fichier la ligne contenant votre nom d’utilisateur.===
 +
 +grep NOM_D'​UTILISATEUR /etc/passwd
 +
 +===16. En utilisant les commandes date et cut, affichez le mois courant.===
 +
 +date | cut -f3 -d" "
 +
 +===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
 +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.===
 +
 +cat /etc/passwd | head -n9 | tail -n5
 +
 +===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.1380794363.txt.gz · Dernière modification: 2019/05/11 14:35 (modification externe)     Haut de page