====== Différences ======
Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.
cours:activite1:linux_initiation_au_shell [2013/10/08 12:31] 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 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====== | ======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.===== | + | ===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 | cat > toto.txt | ||
Ligne 281: | Ligne 359: | ||
VAR="toto" #attribue la variable | VAR="toto" #attribue la variable | ||
export VAR #export la variable | export VAR #export la variable | ||
- | echo $VAR #affiche 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 | ||