This commit is contained in:
stiti 2023-12-09 17:51:11 +01:00
parent cd3bcfafbe
commit 4b25cf8981
60 changed files with 1554 additions and 0 deletions

0
TP01/AA/DIR1/DIR11/fi112 Normal file
View File

0
TP01/BB/DIR1/DIR11/fi112 Normal file
View File

97
TP01/Reponse Normal file
View File

@ -0,0 +1,97 @@
I
whoami = ammara
id = 840(ammara) gid =622(students22) groups =622(students22), 513(domain users),100001(BUILTIN\users)
os = Linux salle223-10 5.15.62-1-lts #1 SMP Sun, 21 Aug 2022 18:43:48 +0000 x86_64 GNU/Linux
/export/home/an22/ammara
total 4
drwxr-xr-x 5 ammara students22 4096 Sep 6 13:48
. .Xauthority .config .gnupg .xsession-errors
.. .bash_history .dmrc .local .xsession-errors.old
.ICEauthority .cache .emacs.d .mozilla Desktop
drwx------ 9 ammara students22 4096 Sep 6 13:48 .
drwxr-xr-x 90 root students22 4096 Sep 5 09:51 ..
-rw------- 1 ammara students22 0 Sep 2 11:22 .ICEauthority
-rw------- 1 ammara students22 56 Sep 6 13:45 .Xauthority
-rw------- 1 ammara students22 1177 Sep 5 16:13 .bash_history
drwxr-xr-x 7 ammara students22 4096 Sep 2 11:27 .cache
drwxr-xr-x 8 ammara students22 4096 Sep 2 11:24 .config
-rw-r--r-- 1 ammara students22 23 Sep 5 15:04 .dmrc
drwx------ 3 ammara students22 4096 Sep 6 13:51 .emacs.d
drwx------ 3 ammara students22 4096 Sep 2 11:22 .gnupg
drwxr-xr-x 3 ammara students22 4096 Sep 2 11:22 .local
drwx------ 4 ammara students22 4096 Sep 2 11:25 .mozilla
-rw------- 1 ammara students22 3547 Sep 6 13:46 .xsession-errors
-rw------- 1 ammara students22 4318 Sep 5 15:10 .xsession-errors.old
drwxr-xr-x 5 ammara students22 4096 Sep 6 13:48 Desktop
"que contient /etc/"
ImageMagick-7 gdb logrotate.d profile.d
ODBCDataSources gimp lvm protocols
UPower group machine-id pulse
X11 group- mailcap rc_keymaps
acpi grub.d makepkg.conf rc_maps.cfg
alsa gshadow man_db.conf request-key.conf
anacrontab gshadow- mdadm.conf request-key.d
ant.conf gss mime.types resolv.conf
apparmor.d gssproxy mke2fs.conf resolv.conf.bak
arch-release gtk-2.0 mkinitcpio.conf resolvconf.conf
audit gtk-3.0 mkinitcpio.d rpc
avahi healthd.conf modprobe.d samba
bash.bash_logout host.conf modules-load.d sasl2
bash.bashrc hostname mplayer securetty
bash_completion.d hosts mtab security
bind.keys idmapd.conf named.conf sensors.d
bindresvport.blacklist ifplugd ndctl sensors3.conf
binfmt.d initcpio ndctl.conf.d services
ca-certificates inputrc netconfig shadow
cifs-utils iproute2 netctl shadow-
conf.d iptables nfs.conf shells
cron.d issue nfs.conf.pacnew skel
cron.daily jack nfsmount.conf ssh
cron.deny java-8-openjdk nginx ssl
cron.hourly java-openjdk nscd.conf sudo.conf
cron.monthly java11-openjdk nsswitch.conf sudo_logsrvd.conf
cron.weekly kernel ntp.conf sudoers
crypttab keyutils odbc.ini sudoers.d
cups krb5.conf odbcinst.ini sysctl.d
daxctl.conf.d krb5.keytab openldap systemd
dconf ld.so.cache openmpi tmpfiles.d
default ld.so.conf openpmix tpm2-tss
depmod.d ld.so.conf.d openvswitch trusted-key.key
dhcpcd.conf libaudit.conf os-release ts.conf
docker libblockdev pacman.conf udev
e2scrub.conf libinput pacman.d udisks2
environment libnl pam.d updatedb.conf
ethertypes libpaper.d pam_ldap.conf vconsole.conf
exports libreoffice papersize vdpau_wrapper.cfg
exports.d libva.conf passwd vimrc
findlib.conf libvirt passwd- wgetrc
fonts lightdm pinentry xattr.conf
fop.conf lirc pkcs11 xdg
fstab locale.conf polkit-1 xinetd.d
fuse.conf locale.gen postfix xml
gai.conf localtime printcap yaourtrc
gconf login.defs profile
/export/home/an22/ammara
/etc
mkdir -p Desktop/SCR/TP1/AA/DIR1/DIR11/
fin du 3 non fait, c'est la meme que le protocole en inverse
debut IV

85
TP01/reponses.txt Normal file
View File

@ -0,0 +1,85 @@
Commande pour ouvrir le document réponses : emacs reponses.txt& -> '&' permet de ne pas bloquer le terminal
Réponses TP01 :
I.
Commande pour connaître la session courante :
whoami -> stiti
id -> uid=2134(stiti) gid=623(students23) groups=623(students23),513(domain users),100001(BUILTIN\users)
Commande pour connaître le système dexploitation :
uname -> Linux
Commande pour connaître le chemin jusquau dossier maison :
printenv HOME -> /export/home/an23/stiti
---------------------------------------------------------------
II.
Commande pour connaître le répertoire de travail :
pwd -> Exemple : /export/home/an23/stiti/SCR/TP01 (L'endroit ou je suis actuellement)
Commande pour se déplacer dans les dossiers :
cd -> Exemple : cd Desktop
---------------------------------------------------------------
III.
Commande pour créer des dossiers et fichiers vident:
mkdir -p permet de créer plusieurs dossiers -> Exemple 1 (mkdir) : mkdir -p dossier1 dossier2 dossier3 (quand je suis déjà dans le bon emplacement pour créer mon fichier) ///
touch permet de créer des fichiers Exemple 2 (mkdir) : mkdir -p export/.../dossier1 export/.../dossier2
Commande pour consulter le contenu d'un fichier:
ls -a permet de voir les fichiers cachés
-l permet de voir les permissions
-R permet de voir les fichiers de l'arborecence complète)
Commande pour copier le contenu d'un fichier:
cp
Commande pour déplacer et renommer un fichier:
mv
Commandes que j'ai effectués :
1. ls AA/DIR3 /////// Ls AA/DIR1/DIR11
2. cp -r AA/DIR3/fi31 AA/DIR2
3. cp -r AA/DIR3/fi31 AA/DIR1/Fi11
4. cp -r AA/DIR3/fi31 AA/DIR3/Fi31cp
5. mv AA/DIR3/fi31 AA/DIR1/DIR11 /////// ls AA/DIR1/DIR11
6. mv AA/DIR3/Fi31cp AA/DIR3/fi31
7. mv AA/DIR3/Fi31cp AA/DIR3/fi31
8. cp -r AA ~/SCR/TP1/BB
---------------------------------------------------------------
IV.
1. Je me place dans mon domicile, je tape fi21 :
-> Résultat obtenue : 'bash: fi21: command not found'
1. Consulter la valeur de la variable d'environnement PATH (démarche identique à ce qui a été fait, plus haut, avec la variable HOME)
-> Je tape 'printenv PATH' ||| Résultat obtenue : /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
2.En restant dans mon domicile, je tape ./fi21 :
-> Résultat obtenue : bash: ./fi21: No such file or directory
3. En restant dans mon domicile, je recommence en donnant le chemin complet vers fi21 :
-> ./TP01/AA/DIR2/fi21 ||| Résultat obtenue : bash: ./TP01/AA/DIR2/fi21: Is a directory
4. Je me place dans DIR2 et je tape fi21 :
-> Résultat obtenue : bash: fi21: command not found
5. Je reste dans DIR2 et je tape ./fi21 :
-> Résultat obtenue : bash: ./fi21: Is a directory
6. Jajoute la permission “x” au fichier fi21 et je tape ./fi21 :

74
TP01/reponses.txt~ Normal file
View File

@ -0,0 +1,74 @@
Réponses TP01 :
I.
Commande pour connaître la session courante :
whoami -> stiti
id -> uid=2134(stiti) gid=623(students23) groups=623(students23),513(domain users),100001(BUILTIN\users)
Commande pour connaître le système dexploitation :
uname -> Linux
Commande pour connaître le chemin jusquau dossier maison :
printenv HOME -> /export/home/an23/stiti
---------------------------------------------------------------
II.
Commande pour connaître le répertoire de travail :
pwd -> Exemple : /export/home/an23/stiti/SCR/TP01 (L'endroit ou je suis actuellement)
Commande pour se déplacer dans les dossiers :
cd -> Exemple : cd Desktop
---------------------------------------------------------------
III.
Commande pour créer des dossiers et fichiers vident:
mkdir -p permet de créer plusieurs dossiers -> Exemple 1 (mkdir) : mkdir -p dossier1 dossier2 dossier3 (quand je suis déjà dans le bon emplacement pour créer mon fichier) ///
touch permet de créer des fichiers Exemple 2 (mkdir) : mkdir -p export/.../dossier1 export/.../dossier2
Commande pour consulter le contenu d'un fichier:
ls -a permet de voir les fichiers cachés
-l permet de voir les permissions
-R permet de voir les fichiers de l'arborecence complète)
Commande pour copier le contenu d'un fichier:
cp
Commande pour déplacer et renommer un fichier:
mv
Commandes que j'ai effectués :
1. Ls AA/DIR3 /////// Ls AA/DIR1/DIR11
2. cp -r AA/DIR3/fi31 AA/DIR2
3. cp -r AA/DIR3/fi31 AA/DIR1/Fi11
4. cp -r AA/DIR3/fi31 AA/DIR3/Fi31cp
5. mv AA/DIR3/fi31 AA/DIR1/DIR11 /////// ls AA/DIR1/DIR11
6. mv AA/DIR3/Fi31cp AA/DIR3/fi31
7. mv AA/DIR3/Fi31cp AA/DIR3/fi31
8. cp -r AA ~/SCR/TP1/BB
---------------------------------------------------------------
IV.
1. Je me place dans mon domicile, je tape fi21 :
-> Résultat obtenue : 'bash: fi21: command not found'
1. Consulter la valeur de la variable d'environnement PATH (démarche identique à ce qui a été fait, plus haut, avec la variable HOME)
-> Je tape 'printenv PATH' ||| Résultat obtenue : /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
2.
OUVRIR FICHIER TEXTE : emacs reponses.txt&

11
TP02/#separation# Normal file
View File

@ -0,0 +1,11 @@
echo (renvoie valeur variable / peut indiquer les erreur)
grep ( comme un Ctrl +F)
cat (affiche contenue)
&qf ";" il exectue l'un puis l'autre
"&&" il execute la premiere si elle marche pas il arrete sinon il continue
"||" il essaye d'executer cmd1 si ca marche il s'art sinon il essaye cmd 2
si tu veux cree un fichier txt
cat > "nom du nouveau ficiher"

6
TP02/#separation#~ Normal file
View File

@ -0,0 +1,6 @@
echo (renvoie valeur variable / peut indiquer les erreur)
grep ( comme un Ctrl +F)
cat (affiche contenue)
&qf ";" il exectue l'un puis l'autre
"&&" il execute la premiere si elle marche pas il arrete sinon il continue
"||" il essaye d'executer cmd1 si ca marche il s'art sinon il essaye cmd 2

2
TP02/error_file Normal file
View File

@ -0,0 +1,2 @@
ls: cannot access 'nofi': No such file or directory
ls: cannot access 'nofi': No such file or directory

1
TP02/output_file Normal file
View File

@ -0,0 +1 @@
fi:

View File

@ -0,0 +1 @@
fifi:

4
TP02/separation Normal file
View File

@ -0,0 +1,4 @@
&qf ";" il exectue l'un puis l'autre
"&&" il execute la premiere si elle marche pas il arrete sinon il continue
"||" il essaye d'executer cmd1 si ca marche il s'art sinon il essaye cmd 2

1
TP02/tati Normal file
View File

@ -0,0 +1 @@
cmd copie de #speration#

84
TP02/tp02-reponses.txt Normal file
View File

@ -0,0 +1,84 @@
I:
Forme simple:
1. echo -> Affiche quelque chose dans le terminal
2. echo "Hello World" -> Affiche Hello World (sans les guillemets)
3. echo "$?" -> Affiche 0
4. ls fi -> Affiche le contenue de fi (étant donner qu'il est vide ça n'affiche rien)
5. echo "$?" -> Affiche 0
6. ls -l fi -> affiche total 0
7.e cho "$?" -> Affiche 0
8. ls nofi -> ls: cannot access 'nofi': No such file or directory
9. echo "$?" -> Affiche 2 (C'est le code erreur 2 de la commande ls)
Pipeline :
1.echo "Hello world1!" | echo "Hello world2!" -> Affiche Hello world2! -> POURQUOI ? jsp
2.echo "Hello world2!" | echo "Hello world1!" -> Affiche Hello world1! -> POURQUOI ? jsp
Liste :
(\n = saut de ligne dans le terminal)
2.ls fi ; echo "$?" -> 0
3. ls nofi ; echo "$?" -> 2
4.ls fi && echo "Hello world!" ; echo "$?" -> Hello world! \n 0
5.ls nofi && echo "Hello world!" ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 2
6. ls fi || echo "Hello world!" ; echo "$?" -> 0
7.ls nofi || echo "Hello world!" ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n Hello world! \n 0
8.ls nofi || ls fi ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 0
9.ls fi || ls nofi ; echo "$?" -> 0
10.ls nofi && ls fi ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 2
II.
ligne_de_commandes > un_fichier signifie que la sortie standard des résultats de ligne_de_commande a été redirigée vers le fichier un_fichier : les résultats ne seront pas affichés à l'écran mais sont écrits dans le fichier un_fichier. Le fichier est créé s'il n'existe pas. S'il existe, il sera réinitialisé : sa taille est remise à 0.
ligne_de_commandes >> un_fichier même chose que > sauf que le fichier un_fichier n'est pas réinitialisé s'il existe déjà : les résultats sont ajoutés en fin de fichier.
ligne_de_commandes 2> un_fichier signifie que la sortie standard des erreurs de ligne_de_commandes a été redirigée vers le fichier un_fichier : les erreurs ne sont pas affichées à l'écran, mais sont écrites dans le fichier un_fichier. le fichier est créé s'il n'existe pas. S'il existe, il sera réinitialisé.
ligne_de_commandes 2>> un_fichier même chose que 2> sauf que le fichier un_fichier n'est pas réinitialisé s'il existe déjà : les erreurs sont ajoutés en fin de fichier.
1.ls nofi fi -> cela nous donne une erreur
2.ls nofi fi > output_file ->permet de mettre les message d'erreur dans output-file et écrase ce qu'il y a déjà dans le fichier.
3.cat output_file permet d'afficher le contenues de output_file mais cela marche pas car le output-file n'acceuil pas les message d'erreur. output_file permet d'acceuillir les outputs des commandes (les message réussis)
4.ls nofi > output_file -> voir question 2
5.cat output_file -> voir question 3
6.ls fifi nofifi > output_file voir question 2
7.cat output_file voir question 3
8.ls nofi >> output_file permet de mettre les message d'erreur dans un fichier mais ne l'écrase pas. Mais cela marche pas car le output-file n'acceuil pas les message d'erreur.
9.cat output_file voir question 3
10.ls nofi fi 2> error_file permet de mettre les messages d'erreurs de la sortie d'erreur standard.
11.cat error_file permet d'afficher le contenue d'error_file qui contient les messages d'erreurs.
12.ls fi nofifi 2> error_file voir question 10
13.cat error_file voir question 11
14.
15.
16.
17.
18
19.
20.
21. affiche le nombre de lignes/mots/caractères d'un texte écrit ou d'un fichier ou bien d'une rentrée/sortie de commande
22.on obtiens le nombre de lignes/mots/caractères tapé précedemment.
23.
24.
25.
26.
27. ls -l /etc/ > output_file && wc < output_file on lie les deux commandes pour les exécutées.
ls -l /etc/ | wc
Les opérateurs :
A;B -> Execute A et execute ensuite B
A|B -> Execute A et prend le resultat de A en entrer pour B
A&&B -> Execute A, si code retour de A (?) = 0 alors executer B
A||B -> Execute A, si code retour de A (?) > 0 (= A est en erreur) alors executer B

153
TP02/tp02-reponses.txt~ Normal file
View File

@ -0,0 +1,153 @@
Forme simple :
1.echo -> Affiche quelque chose dans le terminal
2.echo "Hello World" -> Affiche Hello World (sans les guillemets)
3.echo "$?" -> Affiche 0
4.ls fi -> Affiche le contenue de fi (étant donner qu'il est vide ça n'affiche rien)
5.echo "$?"I.
Forme simple :
1.echo -> Affiche quelque chose dans le terminal
2.echo "Hello World" -> Affiche Hello World (sans les guillemets)
3.echo "$?" -> Affiche 0
4.ls fi -> Affiche le contenue de fi (étant donner qu'il est vide ça n'affiche rien)
5.echo "$?" -> Affiche 0
6.ls -l fi -> affiche total 0
7.echo "$?" -> Affiche 0
8.ls nofi -> ls: cannot access 'nofi': No such file or directory
9.echo "$?" -> Affiche 2 (C'est le code erreur 2 de la commande ls)
Pipeline :
1.echo "Hello world1!" | echo "Hello world2!" -> Affiche Hello world2
2.echo "Hello world2!" | echo "Hello world1!" -> Affiche Hello world1
Liste (\n = saut de ligne dans le terminal) :
2.ls fi ; echo "$?" -> 0
3. ls nofi ; echo "$?" -> 2
4.ls fi && echo "Hello world!" ; echo "$?" -> Hello world! \n 0
5.ls nofi && echo "Hello world!" ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 2
6. ls fi || echo "Hello world!" ; echo "$?" -> 0
7.ls nofi || echo "Hello world!" ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n Hello world! \n 0
8.ls nofi || ls fi ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 0
9.ls fi || ls nofi ; echo "$?" -> 0
10.ls nofi && ls fi ; echo "$?" ->ls: cannot access 'nofi': No such file or directory \n 2
II.
1.ls nofi fi -> cela nous donne une erreur
2.ls nofi fi > output_file ->permet de mettre les message d'erreur dans output-file et écrase ce qu'il y a déjà dans le fichier.
3.cat output_file permet d'afficher le contenues de output_file mais cela marche pas car le output-file n'acceuil pas les message d'erreur. output_file permet d'acceuillir les outputs des commandes (les message réussis)
4.ls nofi > output_file -> voir question 2
5.cat output_file -> voir question 3
6.ls fifi nofifi > output_file voir question 2
7.cat output_file voir question 3
8.ls nofi >> output_file permet de mettre les message d'erreur dans un fichier mais ne l'écrase pas. Mais cela marche pas car le output-file n'acceuil pas les message d'erreur.
9.cat output_file voir question 3
10.ls nofi fi 2> error_file permet de mettre les messages d'erreurs de la sortie d'erreur standard.
11.cat error_file permet d'afficher le contenue d'error_file qui contient les messages d'erreurs.
12.ls fi nofifi 2> error_file voir question 10
13.cat error_file voir question 11
14.
15.
16.
17.
18.
19.
20.
21. affiche le nombre de mots/lettres/caractères d'un texte écrit ou d'un fichier ou bien d'une rentrée/sortie de commande
22. on obtiens le nombre de lignes/mots/caractères tapé précedemment.
23.
24.
25.
26.
27. ls -l /etc/ > output_file && wc < output_file on lie les deux commandes pour les exécutées.
Les opérateurs :
A;B -> Execute A et execute ensuite B
A|B -> Execute A et prend le resultat de A en entrer pour B
A&&B -> Execute A, si code retour de A (?) = 0 alors executer B
A||B -> Execute A, si code retour de A (?) > 0 (= A est en erreur) alors executer B
A > P -> Execute A, prend
A>>B
A<B
A -> Affiche 0
6.ls -l fi -> affiche total 0
7.echo "$?" -> Affiche 0
8.ls nofi -> ls: cannot access 'nofi': No such file or directory
9.echo "$?" -> Affiche 2 (C'est le code erreur 2 de la commande ls)
Pipeline :
1.echo "Hello world1!" | echo "Hello world2!" -> Affiche Hello world2
2.echo "Hello world2!" | echo "Hello world1!" -> Affiche Hello world1
Liste (\n = saut de ligne dans le terminal) :
2.ls fi ; echo "$?" -> 0
3. ls nofi ; echo "$?" -> 2
4.ls fi && echo "Hello world!" ; echo "$?" -> Hello world! \n 0
5.ls nofi && echo "Hello world!" ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 2
6. ls fi || echo "Hello world!" ; echo "$?" -> 0
7.ls nofi || echo "Hello world!" ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n Hello world! \n 0
8.ls nofi || ls fi ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 0
9.ls fi || ls nofi ; echo "$?" -> 0
10.ls nofi && ls fi ; echo "$?" ->ls: cannot access 'nofi': No such file or directory \n 2
II.
1.ls nofi fi -> cela nous donne une erreur
2.ls nofi fi > output_file ->permet de mettre les message d'erreur dans output-file et écrase ce qu'il y a déjà dans le fichier.
3.cat output_file permet d'afficher le contenues de output_file mais cela marche pas car le output-file n'acceuil pas les message d'erreur. output_file permet d'acceuillir les outputs des commandes (les message réussis)
4.ls nofi > output_file -> voir question 2
5.cat output_file -> voir question 3
6.ls fifi nofifi > output_file voir question 2
7.cat output_file voir question 3
8.ls nofi >> output_file permet de mettre les message d'erreur dans un fichier mais ne l'écrase pas. Mais cela marche pas car le output-file n'acceuil pas les message d'erreur.
9.cat output_file voir question 3
10.ls nofi fi 2> error_file permet de mettre les messages d'erreurs de la sortie d'erreur standard.
11.cat error_file permet d'afficher le contenue d'error_file qui contient les messages d'erreurs.
12.ls fi nofifi 2> error_file voir question 10
13.cat error_file voir question 11
14.
15.
16.
17.
18.
19.
20.
21. affiche le nombre de mots/lettres/caractères d'un texte écrit ou d'un fichier ou bien d'une rentrée/sortie de commande
22.
23.
24.
25.
26.
27. ls -l /etc/ > output_file && wc < output_file on lie les deux commandes pour les exécutées.
Les opérateurs :
A;B -> Execute A et execute ensuite B
A|B -> Execute A et prend le resultat de A en entrer pour B
A&&B -> Execute A, si code retour de A (?) = 0 alors executer B
A||B -> Execute A, si code retour de A (?) > 0 (= A est en erreur) alors executer B
A > P -> Execute A, prend
A>>B
A<B
A

1
TP03/print_unicode_char Executable file
View File

@ -0,0 +1 @@
read -p "Type an HEX UNICODE:" x;echo -e "Corresponding Char: \U$x"

35
TP03/reponses.txt Normal file
View File

@ -0,0 +1,35 @@
I) ¥,
II:
1) On fait man bash et on va au paragraphe SHELL BUILTIN COMMANDS (commandes intégrées au shell).
La on a la liste de toutes les commandes internes au shell comme read, echo...
2) On fait $x si x est le nom de la variable.
3) On fait read x puis on tape ce qu'on beut saisir comme valeur dans x.
On peut véridier en faisant echo $x
4) -p
5) -n
6) ;
7) read -p "Type var value:" var;echo "var value is: $var"
III:
1) on va dans man bash paragraphe SHELL BUILTIN COMMANDS, on lit ce qu'y est écrit à propos de echo, on trouve que l'option en question est -e.
2) read -p "Type an HEX UNICODE:" x;echo -e "Corresponding Char: \U$x"
3) Dans un fichier de nom print_unicode_char, on met la ligne de commande en 2). On veut ensuite lancer la même chose qu'en 2) mais à travers le fichier, c'est à dire, on veut lancer ./print_unicode_char
-> Le problème c'est que nous avons uniquement la permission de lire et d'écrire et pas d'executer DONC :
chmod -c u+x print_unicode_char (modifie les permissions et nous autorise tout)
IV:
1) -C
2) read x;echo -ne "\U$x"

256
TP04/t-localesq Normal file
View File

@ -0,0 +1,256 @@
LOCALECTL(1) localectl LOCALECTL(1)
NNAAMMEE
localectl - Control the system locale and keyboard layout settings
SSYYNNOOPPSSIISS
llooccaalleeccttll [OPTIONS...] {COMMAND}
DDEESSCCRRIIPPTTIIOONN
llooccaalleeccttll may be used to query and change the system locale and
keyboard layout settings. It communicates with ssyysstteemmdd--llooccaalleedd(8) to
modify files such as /etc/locale.conf and /etc/vconsole.conf.
The system locale controls the language settings of system services and
of the UI before the user logs in, such as the display manager, as well
as the default for users after login.
The keyboard settings control the keyboard layout used on the text
console and of the graphical UI before the user logs in, such as the
display manager, as well as the default for users after login.
Note that the changes performed using this tool might require the
initramfs to be rebuilt to take effect during early system boot. The
initramfs is not rebuilt automatically by localectl.
Note that ssyysstteemmdd--ffiirrssttbboooott(1) may be used to initialize the system
locale for mounted (but not booted) system images.
CCOOMMMMAANNDDSS
The following commands are understood:
ssttaattuuss
Show current settings of the system locale and keyboard mapping. If
no command is specified, this is the implied default.
sseett--llooccaallee LLOOCCAALLEE, sseett--llooccaallee VVAARRIIAABBLLEE==LLOOCCAALLEE......
Set the system locale. This takes one locale such as "en_US.UTF-8",
or takes one or more locale assignments such as "LANG=de_DE.utf8",
"LC_MESSAGES=en_GB.utf8", and so on. If one locale without variable
name is provided, then "LANG=" locale variable will be set. See
llooccaallee(7) for details on the available settings and their meanings.
Use lliisstt--llooccaalleess for a list of available locales (see below).
lliisstt--llooccaalleess
List available locales useful for configuration with sseett--llooccaallee.
sseett--kkeeyymmaapp MMAAPP [[TTOOGGGGLLEEMMAAPP]]
Set the system keyboard mapping for the console and X11. This takes
a mapping name (such as "de" or "us"), and possibly a second one to
define a toggle keyboard mapping. Unless ----nnoo--ccoonnvveerrtt is passed,
the selected setting is also applied as the default system keyboard
mapping of X11, after converting it to the closest matching X11
keyboard mapping. Use lliisstt--kkeeyymmaappss for a list of available keyboard
mappings (see below).
lliisstt--kkeeyymmaappss
List available keyboard mappings for the console, useful for
configuration with sseett--kkeeyymmaapp.
sseett--xx1111--kkeeyymmaapp LLAAYYOOUUTT [[MMOODDEELL [[VVAARRIIAANNTT [[OOPPTTIIOONNSS]]]]]]
Set the system default keyboard mapping for X11 and the virtual
console. This takes a keyboard mapping name (such as "de" or "us"),
and possibly a model, variant, and options, see kkbbdd(4) for details.
Unless ----nnoo--ccoonnvveerrtt is passed, the selected setting is also applied
as the system console keyboard mapping, after converting it to the
closest matching console keyboard mapping.
lliisstt--xx1111--kkeeyymmaapp--mmooddeellss, lliisstt--xx1111--kkeeyymmaapp--llaayyoouuttss,
lliisstt--xx1111--kkeeyymmaapp--vvaarriiaannttss [[LLAAYYOOUUTT]], lliisstt--xx1111--kkeeyymmaapp--ooppttiioonnss
List available X11 keymap models, layouts, variants and options,
useful for configuration with sseett--kkeeyymmaapp. The command
lliisstt--xx1111--kkeeyymmaapp--vvaarriiaannttss optionally takes a layout parameter to
limit the output to the variants suitable for the specific layout.
OOPPTTIIOONNSS
The following options are understood:
----nnoo--aasskk--ppaasssswwoorrdd
Do not query the user for authentication for privileged operations.
----nnoo--ccoonnvveerrtt
If sseett--kkeeyymmaapp or sseett--xx1111--kkeeyymmaapp is invoked and this option is
passed, then the keymap will not be converted from the console to
X11, or X11 to console, respectively.
--HH, ----hhoosstt==
Execute the operation remotely. Specify a hostname, or a username
and hostname separated by "@", to connect to. The hostname may
optionally be suffixed by a port ssh is listening on, separated by
":", and then a container name, separated by "/", which connects
directly to a specific container on the specified host. This will
use SSH to talk to the remote machine manager instance. Container
names may be enumerated with mmaacchhiinneeccttll --HH _H_O_S_T. Put IPv6 addresses
in brackets.
--MM, ----mmaacchhiinnee==
Execute operation on a local container. Specify a container name to
connect to, optionally prefixed by a user name to connect as and a
separating "@" character. If the special string ".host" is used in
place of the container name, a connection to the local system is
made (which is useful to connect to a specific user's user bus:
"--user --machine=lennart@.host"). If the "@" syntax is not used,
the connection is made as root user. If the "@" syntax is used
either the left hand side or the right hand side may be omitted
(but not both) in which case the local user name and ".host" are
implied.
--hh, ----hheellpp
Print a short help text and exit.
----vveerrssiioonn
Print a short version string and exit.
----nnoo--ppaaggeerr
Do not pipe output into a pager.
EEXXIITT SSTTAATTUUSS
On success, 0 is returned, a non-zero failure code otherwise.
EENNVVIIRROONNMMEENNTT
_$_S_Y_S_T_E_M_D___L_O_G___L_E_V_E_L
The maximum log level of emitted messages (messages with a higher
log level, i.e. less important ones, will be suppressed). Either
one of (in order of decreasing importance) eemmeerrgg, aalleerrtt, ccrriitt, eerrrr,
wwaarrnniinngg, nnoottiiccee, iinnffoo, ddeebbuugg, or an integer in the range 0...7. See
ssyysslloogg(3) for more information.
_$_S_Y_S_T_E_M_D___L_O_G___C_O_L_O_R
A boolean. If true, messages written to the tty will be colored
according to priority.
This setting is only useful when messages are written directly to
the terminal, because jjoouurrnnaallccttll(1) and other tools that display
logs will color messages based on the log level on their own.
_$_S_Y_S_T_E_M_D___L_O_G___T_I_M_E
A boolean. If true, console log messages will be prefixed with a
timestamp.
This setting is only useful when messages are written directly to
the terminal or a file, because jjoouurrnnaallccttll(1) and other tools that
display logs will attach timestamps based on the entry metadata on
their own.
_$_S_Y_S_T_E_M_D___L_O_G___L_O_C_A_T_I_O_N
A boolean. If true, messages will be prefixed with a filename and
line number in the source code where the message originates.
Note that the log location is often attached as metadata to journal
entries anyway. Including it directly in the message text can
nevertheless be convenient when debugging programs.
_$_S_Y_S_T_E_M_D___L_O_G___T_I_D
A boolean. If true, messages will be prefixed with the current
numerical thread ID (TID).
Note that the this information is attached as metadata to journal
entries anyway. Including it directly in the message text can
nevertheless be convenient when debugging programs.
_$_S_Y_S_T_E_M_D___L_O_G___T_A_R_G_E_T
The destination for log messages. One of ccoonnssoollee (log to the
attached tty), ccoonnssoollee--pprreeffiixxeedd (log to the attached tty but with
prefixes encoding the log level and "facility", see ssyysslloogg(3), kkmmssgg
(log to the kernel circular log buffer), jjoouurrnnaall (log to the
journal), jjoouurrnnaall--oorr--kkmmssgg (log to the journal if available, and to
kmsg otherwise), aauuttoo (determine the appropriate log target
automatically, the default), nnuullll (disable log output).
_$_S_Y_S_T_E_M_D___P_A_G_E_R
Pager to use when ----nnoo--ppaaggeerr is not given; overrides _$_P_A_G_E_R. If
neither _$_S_Y_S_T_E_M_D___P_A_G_E_R nor _$_P_A_G_E_R are set, a set of well-known
pager implementations are tried in turn, including lleessss(1) and
mmoorree(1), until one is found. If no pager implementation is
discovered no pager is invoked. Setting this environment variable
to an empty string or the value "cat" is equivalent to passing
----nnoo--ppaaggeerr.
Note: if _$_S_Y_S_T_E_M_D___P_A_G_E_R_S_E_C_U_R_E is not set, _$_S_Y_S_T_E_M_D___P_A_G_E_R (as well
as _$_P_A_G_E_R) will be silently ignored.
_$_S_Y_S_T_E_M_D___L_E_S_S
Override the options passed to lleessss (by default "FRSXMK").
Users might want to change two options in particular:
KK
This option instructs the pager to exit immediately when Ctrl+C
is pressed. To allow lleessss to handle Ctrl+C itself to switch
back to the pager command prompt, unset this option.
If the value of _$_S_Y_S_T_E_M_D___L_E_S_S does not include "K", and the
pager that is invoked is lleessss, Ctrl+C will be ignored by the
executable, and needs to be handled by the pager.
XX
This option instructs the pager to not send termcap
initialization and deinitialization strings to the terminal. It
is set by default to allow command output to remain visible in
the terminal even after the pager exits. Nevertheless, this
prevents some pager functionality from working, in particular
paged output cannot be scrolled with the mouse.
See lleessss(1) for more discussion.
_$_S_Y_S_T_E_M_D___L_E_S_S_C_H_A_R_S_E_T
Override the charset passed to lleessss (by default "utf-8", if the
invoking terminal is determined to be UTF-8 compatible).
_$_S_Y_S_T_E_M_D___P_A_G_E_R_S_E_C_U_R_E
Takes a boolean argument. When true, the "secure" mode of the pager
is enabled; if false, disabled. If _$_S_Y_S_T_E_M_D___P_A_G_E_R_S_E_C_U_R_E is not set
at all, secure mode is enabled if the effective UID is not the same
as the owner of the login session, see ggeetteeuuiidd(2) and
ssdd__ppiidd__ggeett__oowwnneerr__uuiidd(3). In secure mode, LLEESSSSSSEECCUURREE==11 will be set
when invoking the pager, and the pager shall disable commands that
open or create new files or start new subprocesses. When
_$_S_Y_S_T_E_M_D___P_A_G_E_R_S_E_C_U_R_E is not set at all, pagers which are not known
to implement secure mode will not be used. (Currently only lleessss(1)
implements secure mode.)
Note: when commands are invoked with elevated privileges, for
example under ssuuddoo(8) or ppkkeexxeecc(1), care must be taken to ensure
that unintended interactive features are not enabled. "Secure" mode
for the pager may be enabled automatically as describe above.
Setting _S_Y_S_T_E_M_D___P_A_G_E_R_S_E_C_U_R_E_=_0 or not removing it from the inherited
environment allows the user to invoke arbitrary commands. Note that
if the _$_S_Y_S_T_E_M_D___P_A_G_E_R or _$_P_A_G_E_R variables are to be honoured,
_$_S_Y_S_T_E_M_D___P_A_G_E_R_S_E_C_U_R_E must be set too. It might be reasonable to
completely disable the pager using ----nnoo--ppaaggeerr instead.
_$_S_Y_S_T_E_M_D___C_O_L_O_R_S
Takes a boolean argument. When true, ssyysstteemmdd and related utilities
will use colors in their output, otherwise the output will be
monochrome. Additionally, the variable can take one of the
following special values: "16", "256" to restrict the use of colors
to the base 16 or 256 ANSI colors, respectively. This can be
specified to override the automatic decision based on _$_T_E_R_M and
what the console is connected to.
_$_S_Y_S_T_E_M_D___U_R_L_I_F_Y
The value must be a boolean. Controls whether clickable links
should be generated in the output for terminal emulators supporting
this. This can be specified to override the decision that ssyysstteemmdd
makes based on _$_T_E_R_M and other conditions.
SSEEEE AALLSSOO
ssyysstteemmdd(1), llooccaallee(7), llooccaallee..ccoonnff(5), vvccoonnssoollee..ccoonnff(5), llooaaddkkeeyyss(1),
kkbbdd(4), TThhee XXKKBB CCoonnffiigguurraattiioonn GGuuiiddee[1], ssyysstteemmccttll(1), ssyysstteemmdd--
llooccaalleedd..sseerrvviiccee(8), ssyysstteemmdd--ffiirrssttbboooott(1), mmkkiinniittrrdd(8)
NNOOTTEESS
1. The XKB Configuration Guide
http://www.x.org/releases/current/doc/xorg-docs/input/XKB-Config.html
systemd 251 LOCALECTL(1)

16
TP04/tp-04-reponses.txt Normal file
View File

@ -0,0 +1,16 @@
1)
localectl status
localectl list-keymaps
2)
lsblk
nvme0n1 en 5 disques logique
lsblk -p
findmnt -l : affiche systeme de fichier sous forme de liste
non ca n'affiche pas la meme chose mount et cat /etc/mtab

0
TP04/tp-04-reponses.txt~ Normal file
View File

23
TP04/tp04-reponses.txt Normal file
View File

@ -0,0 +1,23 @@
I.
1. La commande est localectl status ou localectl (tout court) donne la locale courante (langue...) ainsi que la disposition courante du clavier.
- Le contenue du fichier /etc/vconsole.conf est conforme à ce qui est annoncé par localectl.
- localectl list-keymaps donne la liste des dispositions clavier disponibles dans le système
II.
1.
-lsblk donne le nom du disque ainsi que la liste de ses partitions
-divisé en 5 partitions
-lsblk -p
2. mount donne la liste de tous les systèmes de fichiers qui sont montés y compris les pseudo systèmes de fichiers (ceux qui ne correspondent pas à des partitions sur disque) mount et/etc/mtab donnent les mêmes informations
-man fstab dit que le fichier /etc/fstab donne les systèmes de fichiers qui peuvent être montés:
certains au moment du boot, d'autre, plus tard, par l'utilisateurs, par exemple
-findmnt donne les mêmes informations que mount mais en les structurant sous la forme d'un arbre
-findmnt --real ne donne que les "vrais" systèmes de fichiers donc ne donne pas les pseudo-syst de fichiers
III.
Ip link permet de voir la liste des interfaces réseau de la machine
ip adresse montre sur quelle interface on a une adresse réseau affecter
rfkill verifie si la carte wifi est bloquée ou non
2. ip link permet, entre autres, de "reveiller" la carte reseau si elle n'est pas indiquée "LOWER_UP". Faire ip link help
ou man ip pour voir quelle ligne de commande on passe dans ce cas. On écrit la ligne de cmd dans le fichier réponse. On ne pourra pas la tester, ici parce qu'il faut être root sur la machine.0

7
TP05/TP5 Normal file
View File

@ -0,0 +1,7 @@
1. man man dit qu'avec l'option -k man nous propose une liste de commandes et/ou de noms de fichiers de configuration en rapport avec un mot-clé. La commande apropos (si elle est installée) est équivalente à man -k.
2. On fait man -k host pour qu'on nous propose une liste de commandes et/ou de fichiers de config en rapport avec le mot-clé host. En lisant les descriptions, on voit que hostname est ce qu'on cherche. En fait man 5 hostname on trouve que le nom du fichier de config en question est /etc/hostname
3. On peut commencer par faire man -k kernal pour que man nous propose une liste On utilise uname -r -> cela affiche 6.4.3-arch1-2
4. cat /proc/cpuinfo -> procesor -> 15 processeurs
5. cat /proc/cpuinfo -> CPU MHZ -> 2900.90MHZ soit 2.9GHZ
6. cat /proc/cpuinfo -> vendorID -> GenuineIntel
7.

0
TP06/GLOB/11glob22blog3 Normal file
View File

0
TP06/GLOB/1glob Normal file
View File

0
TP06/GLOB/1glob22 Normal file
View File

0
TP06/GLOB/1glob22gloB333 Normal file
View File

0
TP06/GLOB/gLob/44patterN Normal file
View File

0
TP06/GLOB/gLob/Pattern4 Normal file
View File

0
TP06/GLOB/gLob/pAtterN Normal file
View File

View File

0
TP06/GLOB/gLob/patterN Normal file
View File

0
TP06/GLOB/gloB1bloG Normal file
View File

BIN
TP06/globpattern.tar Normal file

Binary file not shown.

57
TP06/tp06-reponses.txt Normal file
View File

@ -0,0 +1,57 @@
Notes :
Avec ls-d :
- * => n'importe quelle chaine de caractères
- ? => un caractère unique quelconque
-[[:upper:]] Maj
-[[ :lower: ]] Minuscule
-[[:digit:]] chiffre
I.
1.ls -d GLOB/gLob/*[[:upper:]] -> Affiche : GLOB/gLob/44patterN
2.ls -d GLOB/*[[:upper:]]*
3ls -d GLOB/?[[:digit:]]* GLOB/gLob/?[[:digit:]]*
4.ls -d GLOB/*[[:digit:]][[:digit:]]*
(on finiras au prochain TP)
II.
shopt : shopt [-pqsu] [-o] [optname ...]
Toggle the values of settings controlling optional shell behavior. The settings can be either those
listed below, or, if the -o option is used, those available with the -o option to the set builtin com
mand. With no options, or with the -p option, a list of all settable options is displayed, with an indi
cation of whether or not each is set; if optnames are supplied, the output is restricted to those op
tions. The -p option causes output to be displayed in a form that may be reused as input. Other options
have the following meanings:
-s Enable (set) each optname.
-u Disable (unset) each optname.
-q Suppresses normal output (quiet mode); the return status indicates whether the optname is set or
unset. If multiple optname arguments are given with -q, the return status is zero if all optnames
are enabled; nonzero otherwise.
-o Restricts the values of optname to be those defined for the -o option to the set builtin.
If either -s or -u is used with no optname arguments, shopt shows only those options which are set or un
set, respectively. Unless otherwise noted, the shopt options are disabled (unset) by default.
The return status when listing options is zero if all optnames are enabled, nonzero otherwise. When
setting or unsetting options, the return status is zero unless an optname is not a valid shell option.
1. (faire "man bash", puis faire "/shopt" puis appuyer sur espace jusqu'à arriver au bon endroit)
2. shopt permet d'activer/désactiver des options/paramètres du bash.
3.
a) le bash va comprendre *5 comme étant un fichier et va donc nous dire qu'il n'existe pas
b)shopt -s nullglob
c) après avoir activé nullglob, le bash va sauter ce qu'il ne comprends pas.
par conséquent, "cd *5" va être compris comme étant "cd" et va donc nous mettre sur le répertoire courant (~).

5
TP07/addr_dot.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
addr=$1
x=$(expr substr $addr 1 8) && y=$(expr substr $addr 9 8) && z=$(expr substr $addr 17 8) && t=$(expr substr $addr 25 8)
addr_dot=$(echo $((2#$x)).$((2#$y)).$((2#$z)).$((2#$t)))
echo $addr_dot

160
TP07/find-output.txt Normal file
View File

@ -0,0 +1,160 @@
/etc : 2018/08/30 : 4096
/etc/ssl : 2016/10/24 : 4096
/etc/machine-id : 2016/07/05 : 33
/etc/security : 2016/10/31 : 4096
/etc/resolvconf.conf : 2016/05/19 : 254
/etc/netctl : 2016/07/11 : 4096
/etc/localtime : 2017/07/06 : 25
/etc/pkcs11 : 2015/12/18 : 4096
/etc/ld.so.cache : 2018/08/30 : 83501
/etc/pam.d.ori : 2016/07/13 : 4096
/etc/arch-release : 2015/09/30 : 0
/etc/protocols : 2016/11/10 : 3145
/etc/fstab.ori : 2016/07/13 : 209
/etc/logrotate.conf : 2016/08/21 : 686
/etc/yaourtrc : 2016/11/09 : 1443
/etc/sudoers.d : 2016/03/25 : 4096
/etc/cron.daily : 2016/06/30 : 4096
/etc/avahi : 2016/03/06 : 4096
/etc/java-8-openjdk : 2016/10/23 : 4096
/etc/rsyncd.conf : 2016/11/20 : 172
/etc/ld.so.conf : 2015/09/30 : 71
/etc/udev : 2016/10/24 : 4096
/etc/shadow : 2018/07/17 : 843
/etc/samba : 2016/11/15 : 4096
/etc/exports.ori : 2015/11/06 : 439
/etc/hosts.ori : 2015/09/30 : 195
/etc/environment : 2016/06/09 : 97
/etc/sudoers : 2016/10/31 : 3213
/etc/ODBCDataSources : 2015/09/02 : 4096
/etc/vde : 2015/09/19 : 4096
/etc/crypttab : 2015/09/30 : 930
/etc/binfmt.d : 2016/06/18 : 4096
/etc/securetty : 2015/09/30 : 86
/etc/group- : 2016/10/31 : 842
/etc/mail.rc : 2016/10/20 : 6298
/etc/rpc : 2016/08/06 : 1634
/etc/depmod.d : 2015/11/18 : 4096
/etc/X11 : 2016/06/18 : 4096
/etc/shells : 2015/09/30 : 52
/etc/sysctl.d : 2016/06/18 : 4096
/etc/updatedb.conf : 2014/12/14 : 558
/etc/xinetd.d : 2016/11/23 : 4096
/etc/nss_ldap.conf.ori : 2016/07/13 : 9472
/etc/fuse.conf : 2016/06/22 : 216
/etc/libnl : 2016/08/22 : 4096
/etc/mkinitcpio.conf : 2016/09/09 : 2490
/etc/pacman.conf : 2016/05/18 : 2898
/etc/sysconfig : 2016/08/25 : 4096
/etc/passwd : 2016/10/31 : 1317
/etc/resolv.conf : 2018/07/18 : 49
/etc/bash.bashrc : 2016/11/14 : 576
/etc/mtab : 2016/07/05 : 19
/etc/fonts : 2016/08/06 : 4096
/etc/gdb : 2017/01/25 : 4096
/etc/modprobe.d : 2015/11/18 : 4096
/etc/odbcinst.ini : 2016/11/06 : 0
/etc/group : 2016/10/31 : 856
/etc/cron.weekly : 2016/06/30 : 4096
/etc/netconfig : 2015/11/06 : 767
/etc/man_db.conf : 2016/08/26 : 5134
/etc/bash.bash_logout : 2016/11/14 : 28
/etc/pcmcia : 2013/05/13 : 4096
/etc/gss : 2016/06/18 : 4096
/etc/profile : 2015/09/30 : 573
/etc/krb5.conf : 2016/03/07 : 369
/etc/conf.d : 2016/11/15 : 4096
/etc/initcpio : 2016/01/20 : 4096
/etc/odbc.ini : 2016/11/06 : 0
/etc/nsswitch.ldap : 2014/07/03 : 1300
/etc/gshadow : 2016/10/31 : 712
/etc/nanorc : 2016/10/29 : 8779
/etc/pacman.d : 2016/11/23 : 4096
/etc/iproute2 : 2016/10/24 : 4096
/etc/logrotate.d : 2016/11/15 : 4096
/etc/systemd : 2016/10/24 : 4096
/etc/ethertypes : 2016/03/14 : 1362
/etc/nsswitch.conf.ori : 2015/09/30 : 234
/etc/hostname.ori : 2016/07/05 : 4
/etc/mke2fs.conf : 2016/09/05 : 945
/etc/brlapi.key : 2016/10/31 : 33
/etc/.pwd.lock : 2016/07/05 : 0
/etc/dhcpcd.conf : 2016/08/15 : 1191
/etc/pulse : 2016/06/25 : 4096
/etc/hostname : 2016/07/13 : 9
/etc/ImageMagick-6 : 2016/11/23 : 4096
/etc/ntp.conf.ori : 2016/06/04 : 706
/etc/resolv.conf.bak : 2018/07/18 : 80
/etc/passwd- : 2016/10/31 : 1277
/etc/openldap : 2016/11/04 : 4096
/etc/vimrc : 2017/09/11 : 912
/etc/makepkg.conf : 2016/05/18 : 5897
/etc/libsmbios : 2016/05/20 : 4096
/etc/drirc : 2016/11/14 : 4479
/etc/shadow- : 2016/10/31 : 815
/etc/pam_ldap.conf.ori : 2014/07/01 : 8678
/etc/smbldap-tools : 2016/07/13 : 4096
/etc/gtk-3.0 : 2016/11/23 : 4096
/etc/ld.so.conf.d : 2016/08/22 : 4096
/etc/gssapi_mech.conf : 2013/10/21 : 918
/etc/locale.gen : 2016/07/05 : 9530
/etc/fstab : 2016/07/13 : 277
/etc/lvm : 2016/11/15 : 4096
/etc/kernel : 2016/06/18 : 4096
/etc/motd : 2015/09/30 : 0
/etc/ceph : 2016/10/09 : 4096
/etc/gshadow- : 2016/10/31 : 701
/etc/wgetrc : 2016/06/19 : 5026
/etc/ssh : 2016/10/24 : 4096
/etc/skel : 2016/11/23 : 4096
/etc/profile.d : 2016/11/09 : 4096
/etc/pam.d : 2016/11/15 : 4096
/etc/idmapd.conf : 2016/07/13 : 171
/etc/ifplugd : 2016/06/13 : 4096
/etc/dbus-1 : 2016/10/24 : 4096
/etc/services : 2016/11/10 : 294578
/etc/login.defs : 2016/10/29 : 5583
/etc/raddb.default : 2016/11/15 : 4096
/etc/nsswitch.conf : 2016/07/13 : 238
/etc/gai.conf : 2016/08/06 : 2584
/etc/modules-load.d : 2016/06/18 : 4096
/etc/exports : 2016/07/13 : 224
/etc/exports.d : 2015/11/06 : 4096
/etc/ca-certificates : 2016/05/07 : 4096
/etc/locale.gen.pacnew : 2016/08/06 : 9614
/etc/raddb : 2016/05/11 : 4096
/etc/mkinitcpio.d : 2016/11/23 : 4096
/etc/polkit-1 : 2015/10/25 : 4096
/etc/libvirt : 2016/11/15 : 4096
/etc/brltty.conf : 2016/07/28 : 23543
/etc/vconsole.conf : 2016/07/05 : 10
/etc/anacrontab : 2016/06/30 : 541
/etc/request-key.d : 2016/10/24 : 4096
/etc/pam_ldap.conf : 2016/07/15 : 311
/etc/cron.d : 2016/09/19 : 4096
/etc/os-release : 2016/07/05 : 21
/etc/sasl2 : 2016/11/15 : 4096
/etc/pam.d.old : 2016/07/13 : 4096
/etc/host.conf : 2015/09/30 : 63
/etc/request-key.conf : 2014/03/01 : 1814
/etc/hosts : 2016/07/13 : 182
/etc/mdadm.conf : 2016/02/02 : 2349
/etc/trusted-key.key : 2015/04/21 : 376
/etc/default : 2016/11/09 : 4096
/etc/.updated : 2016/10/24 : 163
/etc/nss_ldap.conf : 2016/07/15 : 321
/etc/locale.conf : 2016/07/05 : 17
/etc/gssproxy : 2016/11/09 : 4096
/etc/cron.deny : 2016/06/30 : 74
/etc/cron.monthly : 2016/06/30 : 4096
/etc/cron.hourly : 2016/09/19 : 4096
/etc/nscd.conf : 2016/08/06 : 2387
/etc/ntp.conf : 2016/07/15 : 1605
/etc/inputrc : 2016/11/06 : 714
/etc/xdg : 2016/10/31 : 4096
/etc/tmpfiles.d : 2016/06/18 : 4096
/etc/issue : 2015/09/30 : 20
/etc/nfsmount.conf : 2016/08/25 : 3605
/etc/vde2 : 2015/09/19 : 4096
/etc/whois.conf : 2017/03/15 : 382
/etc/iptables : 2016/03/14 : 4096

158
TP07/ls-output.txt Normal file
View File

@ -0,0 +1,158 @@
total 1048
-rw-r--r-- 1 root root 541 30 juin 2016 anacrontab
-rw-r--r-- 1 root root 0 30 sept. 2015 arch-release
drwxr-xr-x 3 root root 4096 6 mars 2016 avahi
-rw-r--r-- 1 root root 28 14 nov. 2016 bash.bash_logout
-rw-r--r-- 1 root root 576 14 nov. 2016 bash.bashrc
drwxr-xr-x 2 root root 4096 18 juin 2016 binfmt.d
-rw-r----- 1 root brlapi 33 31 oct. 2016 brlapi.key
-rw-r--r-- 1 root root 23543 28 juil. 2016 brltty.conf
drwxr-xr-x 4 root root 4096 7 mai 2016 ca-certificates
drwxr-xr-x 2 root root 4096 9 oct. 2016 ceph
drwxr-xr-x 2 root root 4096 15 nov. 2016 conf.d
drwxr-xr-x 2 root root 4096 19 sept. 2016 cron.d
drwxr-xr-x 2 root root 4096 30 juin 2016 cron.daily
-rw-r--r-- 1 root root 74 30 juin 2016 cron.deny
drwxr-xr-x 2 root root 4096 19 sept. 2016 cron.hourly
drwxr-xr-x 2 root root 4096 30 juin 2016 cron.monthly
drwxr-xr-x 2 root root 4096 30 juin 2016 cron.weekly
-rw------- 1 root root 930 30 sept. 2015 crypttab
drwxr-xr-x 3 root root 4096 24 oct. 2016 dbus-1
drwxr-xr-x 2 root root 4096 9 nov. 2016 default
drwxr-xr-x 2 root root 4096 18 nov. 2015 depmod.d
-rw-r--r-- 1 root root 1191 15 août 2016 dhcpcd.conf
-rw-r--r-- 1 root root 4479 14 nov. 2016 drirc
-rw-r--r-- 1 root root 97 9 juin 2016 environment
-rw-r--r-- 1 root root 1362 14 mars 2016 ethertypes
-rw-r--r-- 1 root root 224 13 juil. 2016 exports
drwxr-xr-x 2 root root 4096 6 nov. 2015 exports.d
-rw-r--r-- 1 root root 439 6 nov. 2015 exports.ori
drwxr-xr-x 4 root root 4096 6 août 2016 fonts
-rw-r--r-- 1 root root 277 13 juil. 2016 fstab
-rw-r--r-- 1 root root 209 13 juil. 2016 fstab.ori
-rw-r--r-- 1 root root 216 22 juin 2016 fuse.conf
-rw-r--r-- 1 root root 2584 6 août 2016 gai.conf
drwxr-xr-x 2 root root 4096 25 janv. 2017 gdb
-rw-r--r-- 1 root root 856 31 oct. 2016 group
-rw-r--r-- 1 root root 842 31 oct. 2016 group-
-rw------- 1 root root 712 31 oct. 2016 gshadow
-rw------- 1 root root 701 31 oct. 2016 gshadow-
drwxr-xr-x 3 root root 4096 18 juin 2016 gss
-rw-r--r-- 1 root root 918 21 oct. 2013 gssapi_mech.conf
drwxr-xr-x 2 root root 4096 9 nov. 2016 gssproxy
drwxr-xr-x 2 root root 4096 23 nov. 2016 gtk-3.0
-rw-r--r-- 1 root root 63 30 sept. 2015 host.conf
-rw-r--r-- 1 root root 9 13 juil. 2016 hostname
-rw-r--r-- 1 root root 4 5 juil. 2016 hostname.ori
-rw-r--r-- 1 root root 182 13 juil. 2016 hosts
-rw-r--r-- 1 root root 195 30 sept. 2015 hosts.ori
-rw-r--r-- 1 root root 171 13 juil. 2016 idmapd.conf
drwxr-xr-x 2 root root 4096 13 juin 2016 ifplugd
drwxr-xr-x 2 root root 4096 23 nov. 2016 ImageMagick-6
drwxr-xr-x 4 root root 4096 20 janv. 2016 initcpio
-rw-r--r-- 1 root root 714 6 nov. 2016 inputrc
drwxr-xr-x 2 root root 4096 24 oct. 2016 iproute2
drwxr-xr-x 2 root root 4096 14 mars 2016 iptables
-rw-r--r-- 1 root root 20 30 sept. 2015 issue
drwxr-xr-x 6 root root 4096 23 oct. 2016 java-8-openjdk
drwxr-xr-x 3 root root 4096 18 juin 2016 kernel
-rw-r--r-- 1 root root 369 7 mars 2016 krb5.conf
-rw-r--r-- 1 root root 83501 30 août 10:07 ld.so.cache
-rw-r--r-- 1 root root 71 30 sept. 2015 ld.so.conf
drwxr-xr-x 2 root root 4096 22 août 2016 ld.so.conf.d
drwxr-xr-x 2 root root 4096 22 août 2016 libnl
drwxr-xr-x 2 root root 4096 20 mai 2016 libsmbios
drwxr-xr-x 4 root root 4096 15 nov. 2016 libvirt
-rw-r--r-- 1 root root 17 5 juil. 2016 locale.conf
-rw-r--r-- 1 root root 9530 5 juil. 2016 locale.gen
-rw-r--r-- 1 root root 9614 6 août 2016 locale.gen.pacnew
lrwxrwxrwx 1 root root 25 6 juil. 2017 localtime -> ../usr/share/zoneinfo/UTC
-rw-r--r-- 1 root root 5583 29 oct. 2016 login.defs
-rw-r--r-- 1 root root 686 21 août 2016 logrotate.conf
drwxr-xr-x 2 root root 4096 15 nov. 2016 logrotate.d
drwxr-xr-x 5 root root 4096 15 nov. 2016 lvm
-r--r--r-- 1 root root 33 5 juil. 2016 machine-id
-r--r--r-- 1 root root 6298 20 oct. 2016 mail.rc
-rw-r--r-- 1 root root 5897 18 mai 2016 makepkg.conf
-rw-r--r-- 1 root root 5134 26 août 2016 man_db.conf
-rw-r--r-- 1 root root 2349 2 févr. 2016 mdadm.conf
-rw-r--r-- 1 root root 945 5 sept. 2016 mke2fs.conf
-rw-r--r-- 1 root root 2490 9 sept. 2016 mkinitcpio.conf
drwxr-xr-x 2 root root 4096 23 nov. 2016 mkinitcpio.d
drwxr-xr-x 2 root root 4096 18 nov. 2015 modprobe.d
drwxr-xr-x 2 root root 4096 18 juin 2016 modules-load.d
-rw-r--r-- 1 root root 0 30 sept. 2015 motd
lrwxrwxrwx 1 root root 19 5 juil. 2016 mtab -> ../proc/self/mounts
-rw-r--r-- 1 root root 8779 29 oct. 2016 nanorc
-rw-r--r-- 1 root root 767 6 nov. 2015 netconfig
drwxr-xr-x 5 root root 4096 11 juil. 2016 netctl
-rw-r--r-- 1 root root 3605 25 août 2016 nfsmount.conf
-rw-r--r-- 1 root root 2387 6 août 2016 nscd.conf
-rw-r--r-- 1 root root 321 15 juil. 2016 nss_ldap.conf
-rw-r--r-- 1 root root 9472 13 juil. 2016 nss_ldap.conf.ori
-rw-r--r-- 1 root root 238 13 juil. 2016 nsswitch.conf
-rw-r--r-- 1 root root 234 30 sept. 2015 nsswitch.conf.ori
-rw-r--r-- 1 root root 1300 3 juil. 2014 nsswitch.ldap
-rw-r--r-- 1 root root 1605 15 juil. 2016 ntp.conf
-rw-r--r-- 1 root root 706 4 juin 2016 ntp.conf.ori
drwxr-xr-x 2 root root 4096 2 sept. 2015 ODBCDataSources
-rw-r--r-- 1 root root 0 6 nov. 2016 odbc.ini
-rw-r--r-- 1 root root 0 6 nov. 2016 odbcinst.ini
drwxr-xr-x 6 ldap ldap 4096 4 nov. 2016 openldap
lrwxrwxrwx 1 root root 21 5 juil. 2016 os-release -> ../usr/lib/os-release
-rw-r--r-- 1 root root 2898 18 mai 2016 pacman.conf
drwxr-xr-x 3 root root 4096 23 nov. 2016 pacman.d
drwxr-xr-x 2 root root 4096 15 nov. 2016 pam.d
drwxr-xr-x 2 root root 4096 13 juil. 2016 pam.d.old
drwxr-xr-x 2 root root 4096 13 juil. 2016 pam.d.ori
-rw-r--r-- 1 root root 311 15 juil. 2016 pam_ldap.conf
-rw-r--r-- 1 root root 8678 1 juil. 2014 pam_ldap.conf.ori
-rw-r--r-- 1 root root 1317 31 oct. 2016 passwd
-rw-r--r-- 1 root root 1277 31 oct. 2016 passwd-
drwxr-xr-x 2 root root 4096 13 mai 2013 pcmcia
drwxr-xr-x 2 root root 4096 18 déc. 2015 pkcs11
drwxr-xr-x 3 root root 4096 25 oct. 2015 polkit-1
-rw-r--r-- 1 root root 573 30 sept. 2015 profile
drwxr-xr-x 2 root root 4096 9 nov. 2016 profile.d
-rw-r--r-- 1 root root 3145 10 nov. 2016 protocols
drwxr-xr-x 2 root root 4096 25 juin 2016 pulse
drwxr-xr-x 9 radiusd radiusd 4096 11 mai 2016 raddb
drwxr-xr-x 9 root root 4096 15 nov. 2016 raddb.default
-rw-r--r-- 1 root root 1814 1 mars 2014 request-key.conf
drwxr-xr-x 2 root root 4096 24 oct. 2016 request-key.d
-rw-r--r-- 1 root root 49 18 juil. 13:11 resolv.conf
-rw-r--r-- 1 root root 80 18 juil. 13:11 resolv.conf.bak
-rw-r--r-- 1 root root 254 19 mai 2016 resolvconf.conf
-rw-r--r-- 1 root root 1634 6 août 2016 rpc
-rw-r--r-- 1 root root 172 20 nov. 2016 rsyncd.conf
drwxr-xr-x 3 root root 4096 15 nov. 2016 samba
drwxr-xr-x 2 root root 4096 15 nov. 2016 sasl2
-rw-r--r-- 1 root root 86 30 sept. 2015 securetty
drwxr-xr-x 3 root root 4096 31 oct. 2016 security
-rw-r--r-- 1 root root 294578 10 nov. 2016 services
-rw------- 1 root root 843 17 juil. 12:32 shadow
-rw------- 1 root root 815 31 oct. 2016 shadow-
-rw-r--r-- 1 root root 52 30 sept. 2015 shells
drwxr-xr-x 2 root root 4096 23 nov. 2016 skel
drwxr-xr-x 2 root root 4096 13 juil. 2016 smbldap-tools
drwxr-xr-x 2 root root 4096 24 oct. 2016 ssh
drwxr-xr-x 5 root root 4096 24 oct. 2016 ssl
-r--r----- 1 root root 3213 31 oct. 2016 sudoers
drwxr-x--- 2 root root 4096 25 mars 2016 sudoers.d
drwxr-xr-x 2 root root 4096 25 août 2016 sysconfig
drwxr-xr-x 2 root root 4096 18 juin 2016 sysctl.d
drwxr-xr-x 5 root root 4096 24 oct. 2016 systemd
drwxr-xr-x 2 root root 4096 18 juin 2016 tmpfiles.d
-rw-r--r-- 1 root root 376 21 avril 2015 trusted-key.key
drwxr-xr-x 4 root root 4096 24 oct. 2016 udev
-rw-r--r-- 1 root root 558 14 déc. 2014 updatedb.conf
-rw-r--r-- 1 root root 10 5 juil. 2016 vconsole.conf
drwxr-xr-x 2 root root 4096 19 sept. 2015 vde
drwxr-xr-x 3 root root 4096 19 sept. 2015 vde2
-rw-r--r-- 1 root root 912 11 sept. 2017 vimrc
-rw-r--r-- 1 root root 5026 19 juin 2016 wgetrc
-rw-r--r-- 1 root root 382 15 mars 2017 whois.conf
drwxr-xr-x 3 root root 4096 18 juin 2016 X11
drwxr-xr-x 4 root root 4096 31 oct. 2016 xdg
drwxr-xr-x 2 root root 4096 23 nov. 2016 xinetd.d
-rw-r--r-- 1 root root 1443 9 nov. 2016 yaourtrc

26
TP07/tp07-reponses.txt Normal file
View File

@ -0,0 +1,26 @@
I)
- man expr me renvoie "length STRING
length of STRING"
- La commande "expr length stock_market" -> affiche 12 (soit le nombre de caractères dans "stock_market")
- La commande "expr substr stock_market 1 5" -> affiche les lettres à partir de "1" et affiche jusqu'à 5 la 5ème lettre (soit "stock")
- La commande "expr substr stock_market 7 12" -> affiche les lettres à partir de "7" et affiche jusqu'à la 12ème lettre (soit "market")
- La commande expr index stock_market "_" -> Affiche la taille de l'élément jusqu'à un tiret du bas parce que on lui as fournis le tiret du bas entre guillement
- La commande expr index stock_market "_c" -> Affiche ...
1. Je définie ma variable addr comme ceci : addr=10101010110101010101001100001111
expr length $addr -> m'affiche le nombre d'éléments dans ma variable addr (soit 32 dans notre cas)
2. x=$(expr substr $addr 1 8) && y=$(expr substr $addr 9 8) && z=$(expr substr $addr 17 8) && t=$(expr subst
r $addr 25 8)
=> Pourquoi ? Car 1 = élément de départ et 8 = nombres d'éléments qui prend
3. addr_dot=$(echo $((2#$x)).$((2#$y)).$((2#$z)).$((2#$t))) puis echo $addr_dot pour afficher
II)
1. tail -n +2 ls-output.txt | sort -n -k 5 ls-output => On trie avec sort, on précise -n pour des chiffres, -k pour la colonne qu'on veux (donc la 5) et ensuite on fait sort -n -r -k 5 ls-output.txt
2. sort -k 3 find-output.txt
=> sort -r -k 3 find-output.txt

16
TP08/bin2dot-with-for.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
reponse=""
if [[ $# -ne 2 ]]
then
echo "Erreur ! Il n'y as pas assez d'arguments"
fi
echo "" > $2
for line in $(cat $1)
do
addr=$line
x=$(expr substr $addr 1 8) && y=$(expr substr $addr 9 8) && z=$(expr substr $addr 17 8) && t=$(expr substr $addr 25 8)
addr_dot=$(echo $((2#$x)).$((2#$y)).$((2#$z)).$((2#$t)))
echo $addr_dot >> $2
done
exit

4
TP08/bin_ipv4_addres.dat Normal file
View File

@ -0,0 +1,4 @@
10110010111000101000011101110010
11100101110001010101100101010010
00110010111001101000010001110010
11110000111111110000000010101010

2
TP08/fichier.txt Normal file
View File

@ -0,0 +1,2 @@

14
TP08/mult_mat.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
if [[ $1 -gt 1 && $2 -gt 1 ]]
then
for ((i=$1;i<=$2;i++))
do
for ((x=$1;x<=$2;x++))
do
reponse=$(($i*$x))
echo -n "$reponse "
done
echo -e
done
fi

12
TP08/my_other_seq.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
if [[ $# -lt 2 ]];
then
echo "Merci de mettre deux arguments stp"
else
taille=$(expr length $2)
for ((i=$1;i<=$taille;i++))
do echo $(expr substr $2 $i 1)
done;
fi
exit

11
TP08/my_seq.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
if [[ $1 -gt 1 ]];
then
for ((i=1;i<=$1;i++))
do echo $i
done;
else
echo "Veuillez entrer une valeur positive"
fi

22
TP08/t.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
reponse=""
if [[ $# -ne 2 ]]
then
echo "Erreur ! Il n'y as pas assez d'arguments"
exit 1
fi
if [[ ! -f $1 ]]
then
echo "Erreur"
exit 2
fi
echo "" > $2
while read -r addr
do
x=$(expr substr $addr 1 8) && y=$(expr substr $addr 9 8) && z=$(expr substr $addr 17 8) && t=$(expr substr $addr 25 8)
addr_dot=$(echo $((2#$x)).$((2#$y)).$((2#$z)).$((2#$t)))
echo $addr_dot >> $2
done
exit

8
TP08/tp08-reponses.txt Normal file
View File

@ -0,0 +1,8 @@
TP08 :
a) "seq 5" -> affiche les nombres de 1 à 5
-> pour 5 : for((i=1;i<=5;i++));do echo $i; done;
-> pour 7 : for((i=1;i<=7;i++));do echo $i; done;
3. b) -> read x => on met la valeur (7) dans la variable x => read affichera donc (7)
-> read x => on met la valeur

4
TP08/truc.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
read x
echo "$? x=$x"

View File

View File

@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

Some files were not shown because too many files have changed in this diff Show More