====== 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:58]
r.doiteau créée
cours:activite1:linux_initiation_au_shell [2019/05/11 14:35] (Version actuelle)
Ligne 1: Ligne 1:
-dfsdfs+=== Commandes de base === 
 + 
 +<fc #​008000>​La fonction "mkdir NOM_DU_DOSSIER"​ permet de créer un dossier.</​fc>​ 
 + 
 +<fc #​008000>​La fonction "touch NOM_DU_FICHIER.EXTENTION"​ permet de créer un fichier.</​fc>​ 
 + 
 +<fc #​008000>​La fonction "rm NOM_DU_FICHIER.EXTENTION"​ permet du supprimer un fichier/​dossier.</​fc>​ 
 + 
 +<fc #​008000>​La fonction "nano NOM_DU_FICHIER.EXTENTION"​ permet d'​éditer le fichier.</​fc>​ 
 + 
 +<fc #​008000>​La fonction "cat NOM_DU_FICHIER.EXTENTION"​ permet de lire le fichier.</​fc>​ 
 + 
 +<fc #​008000>​La fonction "cp NOM_DU_FICHIER.EXTENTION NOM_DU_FICHIER2.EXTENTION"​ copie le premier dans le deuxième.</​fc>​ 
 + 
 +<fc #​008000>​La fonction "mv NOM_DU_FICHIER.EXTENTION NOM_DU_DOSSIER"​ bouge le fichier dans le dossier.</​fc>​ 
 + 
 +<fc #​008000>​La fonction "chmod 700 NOM_DU_FICHIER.EXTENTION"​ permet de donner des droits selon le chiffre: 700, droit que pour l'​admin,​ 777: droit pour tout le monde.</​fc>​ 
 + 
 +<fc #​008000>​La fonction "su NOM_DE_L'​UTILISATEUR"​ permet de se connecter en tant que cet utilisateur.</​fc>​ 
 + 
 +=== 1 : fonction cal  === 
 + 
 +**cal COMMAND:​** 
 +     La commande «cal» est utilisée pour afficher le calendrier. 
 + 
 +**syntaxe:​** 
 +  La syntaxe est 
 +     cal [options] [month] [year] 
 + 
 +**options :** 
 +      
 +-1 Affiche un mois unique comme résultat. 
 +-3 Affiche le mois prev/​current/​next (précédent/​actuel/​suivant) comme résultat. 
 +-s Affiche dimanche comme le premier jour de la semaine. 
 +-m Affiche lundi comme le premier jour de la semaine. 
 +-j Affiche la date ordinale (les jours incrémentés de 1, à partir du 1er janvier). 
 +-y Affiche un calendrier pour l’année actuelle. 
 + 
 + 
 + 
 +**exemple :** 
 + 
 +    cal  
 + 
 +Résultat : 
 + 
 +      september 2008    
 +    Su Mo Tu We Th Fr Sa 
 +        1  2  3  4  5  6 
 +     ​7 ​ 8  9 10 11 12 13 
 +    14 15 16 17 18 19 20 
 +    21 22 23 24 25 26 27 
 +    28 29 30 
 + 
 +La commande «cal» affiche le mois calendaire actuel. 
 + 
 +    cal -3 5 2008 
 + 
 +Résultat : 
 + 
 +      April 2008             May 2008             June 2008       
 +    Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa 
 +           ​1 ​ 2  3  4  5               ​1 ​ 2  3   ​1 ​ 2  3  4  5  6  7 
 +     ​6 ​ 7  8  9 10 11 12   ​4 ​ 5  6  7  8  9 10   ​8 ​ 9 10 11 12 13 14 
 +    13 14 15 16 17 18 19  11 12 13 14 15 16 17  15 16 17 18 19 20 21 
 +    20 21 22 23 24 25 26  18 19 20 21 22 23 24  22 23 24 25 26 27 28 
 +    27 28 29 30           25 26 27 28 29 30 31  29 30      
 + 
 + Ici, la commande «cal» affiche le calendrier des mois d’avril, mai et juin de l’année 2008. 
 + 
 +=== 2 : fonction date  === 
 + 
 +**date COMMAND :** 
 + 
 +Affiche la date actuelle selon le FORMAT spécifié ou initialise la date système. 
 + 
 +**syntaxe :** 
 + 
 + -d, --date=STRING ​       affiche la date selon le format STRING, sans « now » 
 + -f, --file=DATEFILE ​     identique à --date pour chaque ligne de DATEFILE 
 + -r, --reference=FILE ​     affiche la dernière heure de modification de FILE 
 + -R, --rfc-2822 ​           affiche la date et l'​heure selon le format RFC 2822. 
 +                            Exemple, Mon, 07 Aug 2006 12:34:56 -0600 
 +      --rfc-3339=TIMESPEC ​ affiche la date et l'​heure selon le format RFC-3339. 
 +                           ​TIMESPEC=`date',​ `seconds',​ ou `ns' pour 
 +                           la date et l'​heure selon la précision voulue. 
 +                           Les éléments date et heure sont séparés par 
 +                           une simple espace, 2006-08-07 12:​34:​56-06:​00 
 + -s, --set=STRING ​        ​initialise la date selon STRING 
 + -u, --utc, --universal ​  ​affiche ou initialise le système de temps universel 
 + 
 +Afin de contrôler les caractéres il est necessaire d'​utiliser date +x 
 + 
 +  %%   un caractère % 
 +  %a   les noms abrégés des jours de la semaine (p. ex. lun.) 
 +  %A   les noms complets localisés des jours de la semaine (p. ex. lundi) 
 +  %b   les noms abrégés localisés des mois (p. ex. janv.) 
 +  %B   les noms complets localisés des mois (p. ex. janvier) 
 +  %c   la date et l'​heure localisées (p. ex. mar. 28 avril 2009 08:37:32 CEST) 
 +  %C   ​siècle ; comme %Y, sans les 2 derniers chiffres (p. ex. 20) 
 +  %d   jour du mois (p. ex. 01) 
 +  %D   date, identique à %m/%d/%y 
 +  %e   jour du mois, complété avec une espace, identique à %_d 
 +  %F   la date complète, identique à %Y-%m-%d 
 +  %g   les deux derniers chiffres de l'​année du numéro de semaine ISO (voir %G) 
 +  %G   ​l'​année correspondant au numéro de semaine ISO (voir %V) ; normalement\ 
 +       utile seulement avec %V 
 +  %h   ​identique à %b 
 +  %H   heure (00..23) 
 +  %I   heure (01..12) 
 +  %j   jour de l'​année (001..366) 
 +  %k   heure avec espace ( 0..23), identique à %_H 
 +  %l   heure avec espace ( 1..12), identique à %_I 
 +  %m   mois (01..12) 
 +  %M   ​minute (00..59) 
 +  %n   un retour à ligne 
 +  %N   ​nanosecondes (000000000..999999999) 
 +  %p   ​indicateur localisé AM ou PM en majuscules (blanc si inconnu) 
 +  %P   ​identique à %p mais en minuscules 
 +  %r   heure locale au format 12-heure (p. ex. 11:11:01 PM) 
 +  %R   heure en format 24-heure identique à %H:%M 
 +  %s   ​secondes depuis 1970-01-01 00:00:00 UTC 
 +  %S   ​secondes (00..60) 
 +  %t   une tabulation 
 +  %T   ​l'​heure,​ identique à %H:%M:%S 
 +  %u   le jour de la semaine (1..7) ; 1 représente le lundi 
 +  %U   le numéro de la semaine de l'​année,​ avec le dimanche comme premier jour 
 +       de la semaine (00..53) 
 +  %V   le numéro de la semaine ISO, avec le lundi comme premier jour de la 
 +       ​semaine (01..53) 
 +  %w   le jour de la semaine (0..6), avec 0 étant le dimanche 
 +  %W   le numéro de la semaine, avec le lundi comme premier jour de la semaine 
 +       ​(00..53) 
 +  %x   ​représentation localisée de la date (p. ex. 12/31/99) 
 +  %X   ​représentation localisée de l'​heure (p. ex. 23:13:48) 
 +  %y   les deux derniers chiffres de l'​année (00..99) 
 +  %Y   ​l'​année 
 +  %z   ​fuseau horaire numérique +hhmm  (p. ex. -0400) 
 +  %:z  fuseau horaire numérique +hh:mm (p. ex. -04:00) 
 +  %::z  fuseau horaire numérique +hh:mm:ss (p. ex. -04:​00:​00) 
 +  %:::z  fuseau horaire numérique selon la précision nécessaire (p. ex. -04, +05:30) 
 +  %Z   ​abréviation alphabétique des fuseaux horaires (p. ex. EDT) 
 + 
 +**exemple :** 
 + 
 +date -d 120222 +%A 
 + 
 +affiche la date du 12/02/2012 et affiche uniquement les noms abrégés des jours de la semaine 
 + 
 +mercredi 
 + 
 +===3 : fonction echo  ===== 
 + 
 +**syntaxe :** 
 +  
 +Un signe $ précède les commandes qui ne nécessitent pas de droits administrateur ; un signe # précède celles qui nécessitent des droits administrateur (ces signes ne font PAS partie des commandes). Les lignes qui ne commencent pas par un signe $ ou # correspondent au résultat de la commande précédente. 
 + 
 +**exemple :** 
 + 
 +    echo Nous sommes le $(date +%x) il est $(date +%r) 
 +     
 +    Nous sommes le 01/10/2012 il est 11:13:53 
 +     
 ++%x indique représentation localisée de la date (p. ex. 12/31/99) 
 ++%r heure en format 24-heure identique à %H:%M 
 + 
 +=== 4 : fonction ls  ===== 
 + 
 +**syntaxe** 
 + 
 +-l                         ​utilise le format long d'​affichage 
 +-a, --all                  n'​ignore pas les entrées débutant par . 
 +-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.1380794299.txt.gz · Dernière modification: 2019/05/11 14:35 (modification externe)     Haut de page