% +---------------------------------------------------------------------------+ % | Classe du document et paquetages utilises. | % +---------------------------------------------------------------------------+ \documentclass[12pt,a4paper]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[francais]{babel} \usepackage{graphicx} %\usepackage{shortlst} \usepackage{a4wide} \usepackage{array} \usepackage{multirow} \usepackage{multicol} \usepackage{colortbl} \usepackage{listings} \usepackage{verbatim} \usepackage{fancybox} \usepackage{tp} % +---------------------------------------------------------------------------+ % | Debut du document. | % +---------------------------------------------------------------------------+ \oddsidemargin -4mm % 3cm a gauche des impaires \evensidemargin 4mm % 2cm a gauche des paires \topmargin -4mm % 2.5cm en haut \headheight 13mm % taille de l'entete (lignes) \headsep 24pt % espace entre entete et texte \footskip 30pt % espace entre pied de page et texte \textheight 230mm % longeur du texte \textwidth 160mm % largeur du texte \parskip 0pt % pas de sauts entre paragraphes \parindent 1em % largeur de l'indentation \author{Florent \textsc{Devin}} \title{Unix\\Système de gestion de fichier} \date{} \begin{document} \maketitle \lstset{extendedchars=true,language=C,frame=trBL,frameround=tttt,breaklines=true,tabsize=2,morekeywords={FILE,t_stru_taille_image,t_stru_image,t_stru_couleur,cellule,début,fin,pour,tant que,si,alors,sinon}} \noindent Copier le fichier \texttt{dessus.txt}, qui est attaché à la séance, à la racine de votre compte Unix. Tous les déplacements que vous devez effectuer, en utilisant la commande \texttt{cd}, sont stipulés. Vous ne devez effectuer \textbf{que} les déplacements indiqués. \begin{enumerate} \item Regarder où on se trouve dans l'arborescence. \reponsett{ pwd } \item Se déplacer à la racine du disque. Lister les répertoires existants. \reponsett{ cd /;ls } \item Se déplacer dans le répertoire de travail par défaut (racine de votre espace de travail) (3 solutions) \reponsett{ \begin{itemize} \item cd \item cd $\sim$ \item cd /pau/homee/toto \end{itemize} } \item Créer un répertoire de nom \texttt{Info} \reponsett{mkdir Info} \item Sous \texttt{Info} créer un répertoire de nom \texttt{SGF}. \reponsett{mkdir Info/SGF} \item Aller dans le dernier répertoire créé. \reponsett{cd Info/SGF} \item Créer un répertoire de nom \texttt{tmp}. \reponsett{mkdir tmp} \item Aller dans le répertoire \texttt{tmp}. \reponsett{cd tmp} \item Créer un fichier vide nommé \texttt{toto} (2 solutions). \reponsett{ \begin{itemize} \item touch toto \item cat > toto (C-d) \end{itemize} } \item Lister l'arborescence du répertoire \texttt{Info} en format long. \reponsett{ls -l $\sim$/Info} \item Remonter d'un niveau dans l'arborescence. \reponsett{cd ..} \item Détruire le répertoire \texttt{tmp} avec la commande \texttt{rmdir}. \begin{enumerate} \item Que se passe-t-il ? \reponse{Le système empêche la destruction d'un répertoire non vide} \item Faites en sorte de détruire ce répertoire (2 solutions). \reponsett{ \begin{itemize} \item rm -rf tmp \item rm -f ./tmp/*;rmdir tmp \end{itemize} } \end{enumerate} \item Afficher les $15$ premières lignes du fichier \texttt{dessus.txt}. \reponsett{head -15 dessus.txt} \item Afficher le texte des lignes $24$ à $31$ du fichier \texttt{dessus.txt} en n'utilisant qu'une seule commande. \reponsett{more -7 +23 dessus.txt} \item Créer un fichier \texttt{data.txt} contenant les lignes de numéros $12$ à $14$ et $33$ à $36$ (inclus) du fichier \texttt{dessus.txt}, en utilisant uniquement les commandes \texttt{head}, \texttt{tail}, \texttt{cat} et les redirections (exclusivement la sortie standard). \reponsett{ head -14 dessus.txt > data3.txt\\ tail -3 data3.txt > data21.txt\\ head -36 dessus.txt > data3.txt\\ tail -4 data3.txt > data22.txt\\ cat data21.txt data22.txt > data.txt\\ rm data21.txt data22.txt data3.txt } \item Visualiser le fichier \texttt{dessus.txt} à l'aide de la commande \texttt{cat}. Puis le visualiser à l'aide de la commande \texttt{more}. Quelles sont les différences? \reponse{ \texttt{cat dessus.txt\\more dessus.txt}\\ La commande \texttt{more} affiche page par page, ce qui n'est pas le cas avec \texttt{cat}. De plus la commande \texttt{more} permet de rechercher des motifs, et beaucoup d'autres choses. } \item Le rouvrir avec la commande \texttt{more}. Rechercher le mot \emph{locataire} puis \emph{toto}, et enfin \emph{immeuble}. \reponsett{more dessus.txt\\/locataire\\Revenir au début du fichier puis /toto} \item Recréer le répertoire \texttt{tmp}. \reponsett{mkdir tmp} \item Effectuer une copie du fichier \texttt{dessus.txt} dans le répertoire \texttt{tmp}. \reponsett{cp dessus.txt ./tmp/} \item Aller dans le répertoire \texttt{tmp} et renommer le fichier \texttt{dessus.txt} en \texttt{Dessous.txt}. \reponsett{cd tmp;mv dessus.txt Dessous.txt} \item Le déplacer à la racine de votre compte. \reponsett{mv Dessous.txt $\sim$/} \item Vérifier que le fichier s'y trouve bien. \reponsett{ls $\sim$} \item Créer un lien symbolique sur le fichier \texttt{Dessous.txt}. \reponsett{ln -s $\sim$/Dessous.txt} \item Lister le contenu du répertoire courant en affichant tous les détails des fichiers. \reponsett{ls -l} \item Supprimer le fichier se trouvant à la racine de votre compte. \reponsett{rm $\sim$/Dessous.txt} \item Lister le contenu du répertoire \texttt{tmp}. Que remarquez vous ? \reponse{Le lien existe toujours\ldots} \end{enumerate} \end{document}