Verified Commit f49f9e84 authored by Stephane Bonnet's avatar Stephane Bonnet
Browse files

tty et devices

parent 98f75f2a
Pipeline #33737 passed with stage
in 21 seconds
......@@ -573,15 +573,13 @@ $ cat erreurs
ls: impossible d'accéder à 'foo': Aucun fichier ou dossier de ce type
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\begin{frame}{Redirection vers un descripteur}
On peut indiquer optionnellement le descripteur de destination
\begin{block}{Redirection vers un descripteur}
Il suffit d'indiquer le numéro de descripteur préfixé par \cmd{\&}
Il suffit d'indiquer le numéro de descripteur préfixé par \cmd{\&}
\end{block}
\begin{exampleblock}{Redirection de \cmd{stderr} vers \cmd{stdout}}
......@@ -592,10 +590,75 @@ ls: impossible d'accéder à 'foo': Aucun fichier ou dossier de ce type
\end{exampleblock}
\begin{alertblock}{Attention à l'ordre}
\cmd{ls -lR / 2>\&1 >filelist} ne produit pas le même résultat
\cmd{ls -lR / 2>\&1 >filelist} ne produit pas le même résultat
\end{alertblock}
\end{frame}
\begin{frame}[fragile]{Les fichiers stdin, stdout, stderr existent-ils?}
Sous Unix, tout est un fichier : données, programmes, périphériques comme le
clavier et l'écran sont des fichiers.
\begin{block}{\cmd{tty}}
La commande \cmd{tty} permet de voir à quel fichier sont associés les entrées et sorties standard.
Il s'agit du terminal de contrôle du shell (\emph{controlling tty})
\end{block}
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ tty
/dev/pts/0
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\begin{frame}{Les fichiers de périphérique}
Les fichiers de périphériques (\emph{device files}) comme \cmd{/dev/pts/0} sont des interfaces avec le noyau
Linux.
Y accéder déclenche l'exécution d'un service du noyau, comme lire des caractères depuis le clavier ou afficher
des caractères à l'écran, au travers d'un sous-système du noyau ou d'un pilote de périphérique.
\begin{block}{\cmd{/dev}}
Le répertoire \cmd{/dev} contient tous les fichiers de périphériques.
Ils peuvent être créés à la volée, par exemple après connexion d'une clé USB.
\end{block}
\end{frame}
\begin{frame}[fragile]{Jouons avec /dev/pts}
\begin{exampleblock}{}
Ouvrez deux terminaux. Dans chaque, lancez \cmd{tty} pour observer leur terminal de contrôle.
\end{exampleblock}
\vspace{10pt}
\begin{columns}[b]
\begin{column}{.45\textwidth}
Ecrivez dans le terminal en redirigeant vers le terminal de contrôle de \textbf{l'autre} terminal
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ tty
/dev/pts/0
$ echo Salut > \textcolor{yellow}{/dev/pts/1}
\end{Verbatim}
\end{beamercolorbox}
\vspace{0pt}
\end{column}
\begin{column}{.45\textwidth}
Le texte tapé dans l'autre terminal s'affiche ici!
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ tty
\textcolor{yellow}{/dev/pts/1}
$ Salut
\end{Verbatim}
\end{beamercolorbox}
\vspace{0pt}
\end{column}
\end{columns}
\end{frame}
\subsection{Économiser le clavier}
\begin{frame}{L'autocomplétion}
......@@ -603,10 +666,10 @@ ls: impossible d'accéder à 'foo': Aucun fichier ou dossier de ce type
Accessible par \cmd{TAB} après avoir tapé le début de ce qu'on cherche.
\begin{block}{Autocomplétion dans le système de fichiers}
\begin{enumerate}
\begin{description}
\item[\cmd{TAB}] complète les première lettres s'il n'y a pas d'ambiguïté
\item[\cmd{TAB TAB}] affiche une liste des possibilités d'autocomplétion
\end{enumerate}
\end{description}
\end{block}
\begin{block}{Autocomplétion en général}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment