0% ont trouvé ce document utile (0 vote)
38 vues6 pages

Solution TPs

Le document contient plusieurs exemples de commandes Linux et Bash ainsi que des explications sur des sujets comme les profiles, les aliases, la coloration des prompts etc. Il y a également des exercices sur des sujets comme les options des scripts, la recherche dans des répertoires, la journalisation etc.

Transféré par

malak.bounejra
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues6 pages

Solution TPs

Le document contient plusieurs exemples de commandes Linux et Bash ainsi que des explications sur des sujets comme les profiles, les aliases, la coloration des prompts etc. Il y a également des exercices sur des sujets comme les options des scripts, la recherche dans des répertoires, la journalisation etc.

Transféré par

malak.bounejra
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP1

TD1
1) cat /etc/shells
2) echo $SHELL
3) grep $USER /etc/passwd | cut –d : -f7
4) chsh -s /bin/bash
5) chsh -s /bin/bash
6) installés dans le répertoire /bin, /usr/bin, et /usr/local/bin. Certains
éditeurs de texte courants incluent vi, nano, emacs, gedit, etc.
cat /etc/shells
echo $SHELL
chsh

TP1
1) { tail -n 5 losange;head -n 5 losange; } >tempfile ; mv tempfile losange

2)
#/bin/bash
(tail -n 5 losange|head -n -1; head -n 5 losange)>losangeinv
TP2
1. $ # echo bonjour

2. echo -e "Bonne \n Journée »

3.
#!/bin/bash
while true
do
echo -n -e `date` "\r"
done

4.
#!/bin/bash
for((i=1;i<11;i++))
do
j=`expr 11 - $i`
printf "Etudiant%-2d%10d\n" $i $j
done
TP3
1.

Fichier de profil : il peut s’agir de ~/.bash_profile, ~/.bash_login, ou


~/.profile. Ces fichiers sont lus lors de la connexion à votre compte.
Fichier de démarrage de session : il peut s'agir de ~/.bashrc. Ce
fichier est exécuté à chaque ouverture de terminal.
Fichier de démarrage de session globale : /etc/profile est souvent
utilisé pour les configurations globales de tous les utilisateurs.

2. alias ls='ls -la' # dans le fichier .bashrc

3.
#!/bin/bash
c0="\e[00m"
c1="\e[31;01m"
for i in {5..0}
do
echo -e "\r Suppression dans ${c1}${i}s${c0}\a\c"
sleep 1
done
echo -e "\n Suppression en cours"
# echo -e "\r suppression en cours!"
(Ce type de comptage est fréquemment utilisé dans les scripts ayant
une tâche potentiellement dangereuse, afin de laisser à l’utilisateur un
dernier délai de réflexion pendant lequel il peut encore presser Ctrl-C
pour annuler l’opération)

4.
PS1='\[\e[31m\]\u\[\e[0m\]@\[\e[32m\]\h/\[\e[34m\]\w\[\e[0m\]_\t\$\[\e[
0m\] ‘
PS1='\u@\h/\w_\t\$ '
TP4
4-1:
#!/bin/bash
if [ ${PWD#"$HOME"} = $PWD ]
then
echo $PWD
else
echo -e ${PWD/$HOME/"\e[34;01m~\e[00m"}
fi

4-2:

#!/bin/bash
[ $# -ne 1 ] && echo "USAGE: `basename $0` email" && exit 1
echo ${1%%@*}

4-3:

#!/bin/bash
# vérifier la syntaxe
for f in $1/*.$2
do
mv $f "${f%.*}.$3"
done
ls $1
TP5
5-1:

#!/bin/bash
getopts ":f:" opt
case $opt in
f)
[ ! -f $OPTARG ] && echo "$OPTARG n'est pas un fichier" 1>&2
&& exit 2 # le script vérifie si l'argument de l'option -f est un fichier
en utilisant
echo "Le fichier est: ${OPTARG##*/}"
echo "Le chemin est : ${OPTARG%/*}"
;;
:)
echo "L'option -$OPTARG nécessite une valeur" >&2 && exit 1
;;
*)
echo "L'option -$OPTARG n'est pas supportée" 1>&2 && exit 3
;;
esac

./q1 -f /home/ubuntu/tp5/file.txt

5-2:

#!/bin/bash
[ $# -ne 2 -o ! -d $2 ] && echo "USAGE: $(basename $0) <motif>
<rep>" 1>&2 && exit 1
ls $2 | xargs -n 1 grep "$1"

./q2 '#' .
TP6
#!/bin/bash
log_file="memoire.log"
current_date=$(date '+%Y-%m-%d %H:%M:%S')
memory_info=$(free -m | grep -E '^Mem:')
total_memory=$(echo $memory_info | cut -d ' ' -f2)
used_memory=$(echo $memory_info | cut -d ' ' -f3)
percentage_memory_used=$(( (used_memory * 100) / total_memory
))
echo "$current_date - Utilisation de la mémoire:
$percentage_memory_used%" >> $log_file

-----------------------------------

crontab -e
*/5 * * * * /chemin/script.sh

Vous aimerez peut-être aussi