Vous êtes sur la page 1sur 9

Série2

Exercice1:
1 - sudo useradd -u 3000 -e '2021-01-16' -d '/home/RepSMI1' -m SMI1
2 - sudo mkdir -p /home/Comptes/ClasseSMI
sudo usermod -d /home/Comptes/ClasseSMI SMI1
3 - cat /etc/passwd
4 - sudo passwd SMI1
5 - su SMI1 // On remarque que la couleur d'affichage (sur ubuntu) a
été changée
6 - sudo usermod -s /bin/bash SMI1
7 - sudo userdel -r SMI1
8 - sudo useradd -m -s /bin/bash SMI1
sudo useradd -m -s /bin/bash SMI2
sudo useradd -m -s /bin/bash SMA1
sudo useradd -m -s /bin/bash SMA2
sudo useradd -m -s /bin/bash SMPC1
sudo useradd -m -s /bin/bash SMPC2
9 - groups SMI1 ou id SMI1
10- sudo groupadd Info
sudo groupadd Math
sudo groupadd Phys
11- sudo gpasswd -a SMI1 Info ou sudo usermod -g Info SMI1
12- sudo gpasswd -a SMA1 Info
sudo gpasswd -a SMA2 Info

Exercice2:
1 - touch Cours.txt
2 - chmod 751 Cours.txt
3 - chmod 521 fichier : r-x -w- --x
chmod 742 fichier : rwx r-- -w-
chmod 641 fichier : rw- r-- --x
4 - mkdir Rep1; mv Cours.txt Rep1
5 - chmod 751 Rep1
6 - après avoir exécuté umask, on a obtenu 002. Donc:
pour un fichier: 666-002=664=rw-rw-r--
pour un dossier: 777-002=775=rwxrwxr-x
si on veut créer un fichier avec les droit par défaut 651,
on calcule le umask 666-651=015
pour un umask=223, les permissionspar défaut sont:
pour un fichier: 666-223=443=r--r---wx
pour un dossier: 777-223=554=r-xr-xr--
7 - sudo chown SMI1 Rep1/Cours.txt
8 - sudo chgrp Math Rep1/Cours.txt
9 - setfacl -m u:SMPC1:rwx Rep1/Cours.txt
10- setfacl -m u:SMA1:rwx Rep1/Cours.txt
setfacl -m u:SMPC2:rwx Rep1/Cours.txt
11- getfacl Rep1/Cours.txt
12- setfacl -b Rep1/Cours.txt

Exercice3:
1- dans le fichier /etc/shadow la commande est: sudo cat /etc/shadow
2- dans le fichier /etc/group la commande est: sudo cat /etc/group
3- dans le fichier /etc/pam.d/common-session la commande est: cat
/etc/pam.d/common-session
4- sudo gpasswd user root ou sudo usermod -G root user
TD SERIE 3
Exercice1:
1 - echo 'Bonjour tout le monde' >test
2 - echo 'Au revoir' >>test
3 - find /etc -name hosts 2>err.txt
4 - find /etc -name hosts 1>std.out 2>std.err
5 - Les deux fichiers contiennent le même chose
6 - tr 'a-z' 'A-Z'
7 - tr 'a-z' 'A-Z' < test
8 - tr 'a-z' 'A-Z' <find1.out >FIND1.OUT

Exercice2:
1 - head -8 /etc/passwd | tail -4
2 - sudo grep ':!:' /etc/shadow | cut -d ':' -f 1
3 - sudo cut -d ':' -f 1-3 /etc/shadow|grep '::'|cut -d ':' -f 1
4 - sudo cut -d ':' -f 1,2 /etc/shadow | grep ':\$' | cut -d ':' -f 1
5 - find ~/Bureau -user 'user1' | grep -ir 'Sami' 2> /dev/null
6 - find ~/Bureau -type f | ls -l | awk -F ' ' '{print $5,$9}' | sort -
nr |head -1|cut -d ' ' -f 2
7 - ps -ef |awk '{print $3,$6,$8}'|grep -E "^1 " | grep " tty1 "
8 - grep -E "^Info:" /etc/group|cut -d ":" -f4
TD SERIE 4
Exercice1 :
#! /bin/bash
echo -n &quot;Entrer un nombre : &quot;
read N
echo &quot;table de multiplication de $N :&quot;
for((i=1; i&lt;=10 ; i++))
do
prod=$(($i*$N))
echo $N&quot;x&quot;$i&quot;=&quot;$prod
done
Exercice2 :
#! /bin/bash
for FILE in $(ls /etc)
do
FILE=&quot;/etc/&quot;$FILE
if [[ -f $FILE &amp;&amp; -r $FILE &amp;&amp; -w $FILE ]] ;then
echo $FILE
fi
done
Exercice3 :
#! /bin/bash
if [[ ! -d ~/Scripts ]];then
mkdir ~/Scripts
fi
user=$(whoami)
source=$(find &quot;/&quot; -type f -user $user -iname &quot;*.sh&quot;)
mv $source ~/Scripts
for file in $(ls ~/Scripts)
do
chmod u+x ~/Scripts/$file
done
Exercice4:
#! /bin/bash
Rep=~/$(date +&#39;%d-%m-%Y&#39;)
if [[ ! -d $Rep ]];then
mkdir $Rep
fi
user=$(whoami)
cp $(find ~ -ctime -1 -user $user) $Rep 2&gt;/dev/null
for type in mp4 jpg txt
do
echo &quot;Nombre de fichiers $type : &quot;$(ls $Rep|grep &quot;.$type$&qu
ot;|wc -l) &gt;&gt;~/bilan
done

Exercice5:
#! /bin/bash
Rep=~/users
[ ! -d $Rep ] &amp;&amp; mkdir $Rep
users=$(cut -d &quot;:&quot; -f 1 /etc/passwd)
for user in $users
do
ps -eo user,command | grep -
E &quot;^$user&quot; | awk &#39;{print $2}&#39;&gt;$Rep/$user
echo $user&quot;:&quot;$(wc -l $Rep/$user|cut -d &quot; &quot; -
f 1) &gt;&gt;$Rep/temp
done
sort -t &quot;:&quot; -nr -k2 $Rep/temp

Exercice6:
#! /bin/bash
echo &quot;avant: &quot; $(ls -l $1)
touch -m $1 #Change la date de la dernière modification
echo &quot;après: &quot; $(ls -l $1)

Exercice7:
#! /bin/bash
echo &quot;Nombre de fichiers: &quot;$(ls -l $1|cut -c 1|grep -c &quot;-
&quot;)
echo &quot;Nombre de dossiers: &quot;$(ls -l $1|cut -c 1|grep -
c &quot;d&quot;)
echo &quot;Nombre d&#39;exécutables: &quot;$(ls -l $1|cut -c 4|grep -
c &quot;x&quot;)

Exercice8 :
#! /bin/bash
Filieres=$(cut -d &quot;;&quot; -f 4 $1|sort|uniq)
for filiere in $Filieres
do
MAJORANT=$(grep &quot;;$filiere;&quot; $1|sort -t &quot;;&quot; -
nrk 5|head -1)
nom=$(echo $MAJORANT|cut -d &quot;;&quot; -f 1)
prenom=$(echo $MAJORANT|cut -d &quot;;&quot; -f 2)
sexe=$(echo $MAJORANT|cut -d &quot;;&quot; -f 3)
moyenne=$(echo $MAJORANT|cut -d &quot;;&quot; -f 5)
if [[ $sexe == &quot;M&quot; ]];then
civilite=&quot;Mr&quot;
else civilite=&quot;Mlle&quot;
fi
echo &quot;Le majorant de la filiere $filiere est: $civilite $prenom $nom a
vec une
moyenne égale à $moyenne&quot;
done

Exercice9:
#! /bin/bash
processus=$(ps -ef|awk &#39;{print $3&quot;;&quot;$8 &quot;-
&gt;&quot; $4&quot;;&quot;$2}&#39;|grep &quot;^2;&quot;)
for process in $processus
do
echo $(echo $process|cut -d &quot;:&quot; -f 2) &gt;&gt; anciennesPriorités
pid=$(echo $process|cut -d &quot;;&quot; -f 3 )
renice -5 $pid
done;
Exercicé
Exercice1 : Donner les commandes Unix qui réalisent les objectifs suivants
:
1) Entrer en tant qu’administrateur
2) Accéder au bureau de l’utilisateur &quot;Suptech&quot;
3) Créer un dossier nommé &quot;Examen&quot; dans le bureau
4) Créer un fichier nommé &quot;Exercices&quot;
5) Renommer le fichier &quot;Exercices&quot; en &quot;Correction&quot;
6) Copier le fichier &quot;Correction&quot; vers le dossier
&quot;Examen&quot;
7) Editer le fichier &quot;Correction&quot;
8) Afficher le contenu du fichier Correction
9) Afficher les 3 premières lignes de &quot;Correction&quot;
10) Supprimer le dossier &quot;Examen&quot;
Exercice 2 :
1) Créer l’utilisateur &quot;User&quot; avec un dossier personnel «
/home/User », un langage de script
« /bin/bash » et un UID « 4002 »

3) Supprimer l’utilisateur User avec son dossier personnel

Exercice 3 :
Soit le fichier &quot;Index&quot; qui contient une liste de fichiers avec
leurs chemins, taille, utilisateur et date de
création. Ce contenu prend la forme : Nom de
fichier:Chemin:Taille:Propriétaire:Date de création
Fichier1.txt:/home/User1/Bureau:23:User1:12/12/2018
Fichier2.sh:/home/User1/Documents:55:root:24/01/2019
Fichier4.sh:/home/User2/Bureau:23:root:15/01/2019
……………:…………………………………:…:………:………………………

1) Ecrire une commande qui affiche seulement le nom des fichiers et leurs
dates de création

2) Ecrire une commande qui affiche seulement les fichiers de l’utilisateur


&quot;root&quot;

3) Ecrire une commande qui affiche seulement les fichiers créés en 2019

4) Ecrire une commande qui compte le nombre de fichiers de l’utilisateur «


root »

Exercice 4 :
1) Ecrire une commande qui cherche tous les fichiers du Bureau qui
contiennent le mot
‘Système’ (sans respecter la casse)

2) Ecrire une commande qui cherche tous les fichiers dont le nom commence
par &quot;F&quot;

3) Ecrire une commande qui cherche tous les fichiers dont la taille est
comprise entre 1Ko et 2Mo

4) Ecrire une commande qui cherche tous les fichiers modifiés dans les 7
derniers jourse1 :
#! /bin/bash
echo -n &quot;Entrer un nombre : &quot;
read N
CCCCCONé
Exercice1 : Donner les commandes Unix qui réalisent les objectifs suivants
:
1) Entrer en tant qu’administrateur
2) Accéder au bureau de l’utilisateur &quot;Suptech&quot;
3) Créer un dossier nommé &quot;Examen&quot; dans le bureau
4) Créer un fichier nommé &quot;Exercices&quot;
5) Renommer le fichier &quot;Exercices&quot; en &quot;Correction&quot;
6) Copier le fichier &quot;Correction&quot; vers le dossier
&quot;Examen&quot;
7) Editer le fichier &qé
Exercice1 : Donner les commandes Unix qui réalisent les objectifs suivants
:
1) Entrer en tant qu’administrateur
2) Accéder au bureau de l’utilisateur &quot;Suptech&quot;
3) Créer un dossier nommé &quot;Examen&quot; dans le bureau
4) Créer un fichier nommé &quot;Exercices&quot;
5) Renommer le fichier &quot;Exercices&quot; en &quot;Correction&quot;
6) Copier le fichier &quot;Correction&quot; vers le dossier
&quot;Examen&quot;
7) Editer le fichier &quot;Correction&quot;
8) Afficher le contenu du fichier Correction
9) Afficher les 3 premières lignes de &quot;Correction&quot;
10) Supprimer le dossier &quot;Examen&quot;
Exercice 2 :
1) Créer l’utilisateur &quot;User&quot; avec un dossier personnel «
/home/User », un langage de script
« /bin/bash » et un UID « 4002 »

3) Supprimer l’utilisateur User avec son dossier personnel

Exercice 3 :
Soit le fichier &quot;Index&quot; qui contient une liste de fichiers avec
leurs chemins, taille, utilisateur et date de
création. Ce contenu prend la forme : Nom de
fichier:Chemin:Taille:Propriétaire:Date de création
Fichier1.txt:/home/User1/Bureau:23:User1:12/12/2018
Fichier2.sh:/home/User1/Documents:55:root:24/01/2019
Fichier4.sh:/home/User2/Bureau:23:root:15/01/2019
……………:…………………………………:…:………:………………………

1) Ecrire une commande qui affiche seulement le nom des fichiers et leurs
dates de création

2) Ecrire une commande qui affiche seulement les fichiers de l’utilisateur


&quot;root&quot;

3) Ecrire une commande qui affiche seulement les fichiers créés en 2019

4) Ecrire une commande qui compte le nombre de fichiers de l’utilisateur «


root »

Exercice 4 :
1) Ecrire une commande qui cherche tous les fichiers du Bureau qui
contiennent le mot
‘Système’ (sans respecter la casse)

2) Ecrire une commande qui cherche tous les fichiers dont le nom commence
par &quot;F&quot;

3) Ecrire une commande qui cherche tous les fichiers dont la taille est
comprise entre 1Ko et 2Mo
4) Ecrire une commande qui cherche tous les fichiers modifiés dans les 7
derniers joursuot;Correction&quot;
8) Afficher le contenu du fichier Correction
9) Afficher les 3 premières lignes de &quot;Correction&quot;
10) Supprimer le dossier &quot;Examen&quot;
Exercice 2 :
1) Créer l’utilisateur &quot;User&quot; avec un dossier personnel «
/home/User », un langage de script
« /bin/bash » et un UID « 4002 »

3) Supprimer l’utilisateur User avec son dossier personnel

Exercice 3 :
Soit le fichier &quot;Index&quot; qui contient une liste de fichiers avec
leurs chemins, taille, utilisateur et date de
création. Ce contenu prend la forme : Nom de
fichier:Chemin:Taille:Propriétaire:Date de création
Fichier1.txt:/home/User1/Bureau:23:User1:12/12/2018
Fichier2.sh:/home/User1/Documents:55:root:24/01/2019
Fichier4.sh:/home/User2/Bureau:23:root:15/01/2019
……………:…………………………………:…:………:………………………

1) Ecrire une commande qui affiche seulement le nom des fichiers et leurs
dates de création

2) Ecrire une commande qui affiche seulement les fichiers de l’utilisateur


&quot;root&quot;

3) Ecrire une commande qui affiche seulement les fichiers créés en 2019

4) Ecrire une commande qui compte le nombre de fichiers de l’utilisateur «


root »

Exercice 4 :
1) Ecrire une commande qui cherche tous les fichiers du Bureau qui
contiennent le mot
‘Système’ (sans respecter la casse)

2) Ecrire une commande qui cherche tous les fichiers dont le nom commence
par &quot;F&quot;

3) Ecrire une commande qui cherche tous les fichiers dont la taille est
comprise entre 1Ko et 2Mo

4) Ecrire une commande qui cherche tous les fichiers modifiés dans les 7
derniers joursecho &quot;CCCECble de multiplication de $N :&quot;
for((i=1; i&lt;=10 ; i++))
do
prod=$(($i*$N))
echo $N&quot;x&quot;$i&quot;=&quot;$prod
done
Exercice2 :
#! /bin/bash
for FILE in $(ls /etc)
do
FILE=&quot;/etc/&quot;$FILE
if [[ -f $FILE &amp;&amp; -r $FILE &amp;&amp; -w $FILE ]] ;then
echo $FILE
fi
done
Exercice3 :
#! /bin/bash
if [[ ! -d ~/Scripts ]];then
mkdir ~/Scripts
fi
user=$(whoami)
source=$(find &quot;/&quot; -type f -user $user -iname &quot;*.sh&quot;)
mv $source ~/Scripts
for file in $(ls ~/Scripts)
do
chmod u+x ~/Scripts/$file
done
Exercice4:
#! /bin/bash
Rep=~/$(date +&#39;%d-%m-%Y&#39;)
if [[ ! -d $Rep ]];then
mkdir $Rep
fi
user=$(whoami)
cp $(find ~ -ctime -1 -user $user) $Rep 2&gt;/dev/null
for type in mp4 jpg txt
do
echo &quot;Nombre de fichiers $type : &quot;$(ls $Rep|grep &quot;.$type$&qu
ot;|wc -l) &gt;&gt;~/bilan
done

Exercice5:
#! /bin/bash
Rep=~/users
[ ! -d $Rep ] &amp;&amp; mkdir $Rep
users=$(cut -d &quot;:&quot; -f 1 /etc/passwd)
for user in $users
do
ps -eo user,command | grep -
E &quot;^$user&quot; | awk &#39;{print $2}&#39;&gt;$Rep/$user
echo $user&quot;:&quot;$(wc -l $Rep/$user|cut -d &quot; &quot; -
f 1) &gt;&gt;$Rep/temp
done
sort -t &quot;:&quot; -nr -k2 $Rep/temp

Exercice6:
#! /bin/bash
echo &quot;avant: &quot; $(ls -l $1)
touch -m $1 #Change la date de la dernière modification
echo &quot;après: &quot; $(ls -l $1)

Exercice7:
#! /bin/bash
echo &quot;Nombre de fichiers: &quot;$(ls -l $1|cut -c 1|grep -c &quot;-
&quot;)
echo &quot;Nombre de dossiers: &quot;$(ls -l $1|cut -c 1|grep -
c &quot;d&quot;)
echo &quot;Nombre d&#39;exécutables: &quot;$(ls -l $1|cut -c 4|grep -
c &quot;x&quot;)

Exercice8 :
#! /bin/bash
Filieres=$(cut -d &quot;;&quot; -f 4 $1|sort|uniq)
for filiere in $Filieres
do
MAJORANT=$(grep &quot;;$filiere;&quot; $1|sort -t &quot;;&quot; -
nrk 5|head -1)
nom=$(echo $MAJORANT|cut -d &quot;;&quot; -f 1)
prenom=$(echo $MAJORANT|cut -d &quot;;&quot; -f 2)
sexe=$(echo $MAJORANT|cut -d &quot;;&quot; -f 3)
moyenne=$(echo $MAJORANT|cut -d &quot;;&quot; -f 5)
if [[ $sexe == &quot;M&quot; ]];then
civilite=&quot;Mr&quot;
else civilite=&quot;Mlle&quot;
fi
echo &quot;Le majorant de la filiere $filiere est: $civilite $prenom $nom a
vec une
moyenne égale à $moyenne&quot;
done

Exercice9:
#! /bin/bash
processus=$(ps -ef|awk &#39;{print $3&quot;;&quot;$8 &quot;-
&gt;&quot; $4&quot;;&quot;$2}&#39;|grep &quot;^2;&quot;)
for process in $processus
do
echo $(echo $process|cut -d &quot;:&quot; -f 2) &gt;&gt; anciennesPriorités
pid=$(echo $process|cut -d &quot;;&quot; -f 3 )
renice -5 $pid
done;Exercice1:
1 - sudo useradd -u 3000 -e '2021-01-16' -d '/home/RepSMI1' -m SMI1
2 - sudo mkdir -p /home/Comptes/ClasseSMI
sudo usermod -d /home/Comptes/ClasseSMI SMI1
3 - cat /etc/passwd
4 - sudo passwd SMI1
5 - su SMI1 // On remarque que la couleur d'affichage (sur ubuntu) a été
changée
6 - sudo usermod -s /bin/bash SMI1
7 - sudo userdel -r SMI1
8 - sudo useradd -m -s /bin/bash SMI1
sudo useradd -m -s /bin/bash SMI2
sudo useradd -m -s /bin/bash SMA1
sudo useradd -m -s /bin/bash SMA2
sudo useradd -m -s /bin/bash SMPC1
sudo useradd -m -s /bin/bash SMPC2
9 - groups SMI1 ou id SMI1
10- sudo groupadd Info
sudo groupadd Math
sudo groupadd Phys
11- sudo gpasswd -a SMI1 Info ou sudo usermod -g Info SMI1
12- sudo gpasswd -a SMA1 Info
sudo gpasswd -a SMA2 Info

Exercice2:
1 - touch Cours.txt
2 - chmod 751 Cours.txt
3 - chmod 521 fichier : r-x -w- --x
chmod 742 fichier : rwx r-- -w-
chmod 641 fichier : rw- r-- --x
4 - mkdir Rep1; mv Cours.txt Rep1
5 - chmod 751 Rep1
6 - après avoir exécuté umask, on a obtenu 002. Donc:
pour un fichier: 666-002=664=rw-rw-r--
pour un dossier: 777-002=775=rwxrwxr-x
si on veut créer un fichier avec les droit par défaut 651,
on calcule le umask 666-651=015
pour un umask=223, les permissionspar défaut sont:
pour un fichier: 666-223=443=r--r---wx
pour un dossier: 777-223=554=r-xr-xr--
7 - sudo chown SMI1 Rep1/Cours.txt
8 - sudo chgrp Math Rep1/Cours.txt
9 - setfacl -m u:SMPC1:rwx Rep1/Cours.txt
10- setfacl -m u:SMA1:rwx Rep1/Cours.txt
setfacl -m u:SMPC2:rwx Rep1/Cours.txt
11- getfacl Rep1/Cours.txt
12- setfacl -b Rep1/Cours.txt

Exercice3:
1- dans le fichier /etc/shadow la commande est: sudo cat /etc/shadow
2- dans le fichier /etc/group la commande est: sudo cat /etc/group
3- dans le fichier /etc/pam.d/common-session la commande est: cat
/etc/pam.d/common-session
4- sudo gpasswd user root ou sudo usermod -G root user

Travaux-dirigés- Série2Correction.txt

Affichage de Travaux-dirigés- Série2Correction.txt

Vous aimerez peut-être aussi