Command disabled: index
 


=== 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.txt · Dernière modification: 2019/05/11 14:35 (modification externe)     Haut de page