site de Fabien Torre, université de Lille


Travaux pratiques sur Linux et le terminal

Exercices pratiques visant à manipuler des fichiers dans un terminal Linux, lancer des commandes, etc.

[ 1 ] Récupération et installation d'une archive compressée

  1. Télécharger le fichier seance-tp.tar.bz2 à l'url fournie.
    wget http://hebergement-peda.univ-lille3.fr/~ftorre/seance-tp.tar.bz2
    
  2. Décompresser ce fichier.
    bunzip2 seance-tp.tar.bz2
    
  3. Désarchiver l'archive, puis l'effacer.
    tar xvf seance-tp.tar
    rm seance-tp.tar
    
  4. Observer l'arborescence et les fichiers créés.
    ls -l
    cd seance-tp
    ls -l
    ls *
    

[ 2 ] Visualisation des fichiers du cours

  1. Trouver l'emplacement d'un fichier introduction.pdf et se rendre dans le dossier contenant ce fichier.
    cd ~
    find . -name "introduction.pdf"
    cd seance-tp/latex/
    
  2. Visualiser le fichier pdf.
    xreader introduction.pdf &
    
  3. Trouver l'emplacement du fichier demos.html.
    cd ~
    find . -name "demos.html"
    cd seance-tp/html-css/
    
  4. Lancer firefox pour visualiser ce fichier et naviguer.
    firefox demos.html
    

[ 3 ] Dans une arborescence : rechercher et compter

  1. Rechercher sur votre compte les fichiers pdf. Faire afficher leur nombre.
    cd ~
    find . -name "*.pdf"
    find . -name "*.pdf" | wc -l
    
  2. Rechercher dans le dossier seance-tp les occurrences du mot nature.
    cd ~
    man grep
    grep -r --color=auto nature seance-tp
    
  3. Se restreindre au mot lui-même mais autoriser les différences de casse.
    grep -riw --color=auto nature seance-tp
    
  4. Obtenir le nombre de ces occurrences.
    grep -riw nature seance-tp | wc -l
    
  5. Rediriger les lignes contenant le mot vers un fichier et consulter ce fichier dans un éditeur de texte.
    grep -riw nature seance-tp > resultats.txt
    xed resultats.txt &
    

[ 4 ] Extraction du texte d'un document

  1. Ouvrir les fichiers présents dans le dossier misc, contiennent-ils le mot nature ?
    cd seance-tp
    cd misc
    soffice chs-juin-2011.doc &
    xreader Programme.pdf &
    xreader risque-alcool.pdf &
    xreader pdyf-p55.pdf &
    xviewer cake.png &
    
  2. Extraire le texte contenu dans le document pdf nommé Programme.pdf.
    pdftotext -layout Programme.pdf
    
  3. OCRiser l'image de document nommée de cake.png pour en obtenir le texte.
    tesseract -l fra cake.png cake
    
  4. Tester ces deux techniques sur d'autres fichiers présents dans le dossier (misc).
    pdftotext -layout pdyf-p55.pdf
    tesseract -l fra pdyf-p55.pdf yemba
    pdftotext -layout risque-alcool.pdf
    tesseract -l fra risque-alcool.pdf risque
    

[ 5 ] Dans un fichier : découper, chercher, compter

  1. Pour le fichier introduction.tex, obtenir : le nombre de lignes, le nombre de mots, le nombre de caractères et le nombre de diapositives.
    cd seance-tp/latex/
    wc introduction.tex
    grep frametitle introduction.tex | wc -l
    
  2. À partir du fichier kdos.txt, extraire les désignations des jouets.
    cut -d, -f2 kdos.txt
    
  3. Idem en se restreignant aux jouets pour enfants de 3 ans.
    grep '3 ans' kdos.txt | cut -d, -f2
    
  4. Idem en classant les jouets par ordre alphabétique et en écartant les éventuels doublons.
    grep '3 ans' kdos.txt | cut -d, -f2 | uniq | sort
    
  5. Mêmes questions pour les jouets sans précision d'âge.
    grep -vw ans kdos.txt | grep -vw mois | cut -d, -f2 | uniq | sort 
    

[ 6 ] Manipulation de fichiers

  1. Copier le dossier seance-tp sur le bureau, renommer ce dossier.
    cd
    cp -r seance-tp/ Bureau/
    cd Bureau/
    mv seance-tp fichiers-seance-linux
    
  2. Donner l'accès en lecture à tous au dossier créé sur le bureau.
    chmod a+r fichiers-seance-linux
    ls -l
    
  3. Enlever les droits de lecture sur le fichier demos.html pour les personnes n'appartenant pas au groupe.
    cd fichiers-seance-linux/html-css/
    chmod o-r demos.html
    ls -l
    
  4. Pour tous, enlever les droits d'écriture sur les fichiers présents dans le dossier latex.
    chmod a-w fichiers-seance-linux/latex/*
    ls -l fichiers-seance-linux/latex/*
    
  5. À chaque étape, observer que les droits sont effectivement modifiés.
    ls -l
    
  6. Dans le dossier latex, créer un nouveau dossier nommé essai.
    cd fichiers-seance-linux/latex/
    mkdir essai
    
  7. Effacer la copie présente sur le bureau. Que se passe-t-il ? Modifier ce qui doit l'être pour effectivement effacer le dossier.
    rm -r fichiers-seance-linux
    chmod 644 fichiers-seance-linux/latex/*
    rm -r fichiers-seance-linux
    
  8. Obtenir l'emplacement précis de votre compte.
    cd ~
    pwd
    
  9. Lister le contenu de votre répertoire et en particulier les fichiers et dossiers cachés.
    ls -a
    
  10. Faire apparaître les droits et les tailles des fichiers.
    ls -alh
    
  11. Obtenir la taille du dossier seance-tp.
    cd ~
    du -h seance-tp
    
  12. Archiver et compresser ce dossier, puis observer la taille du fichier obtenu.
    tar cvf tp.tar seance-tp
    ls -lh
    bzip2 tp.tar
    ls -lh
    

[ 7 ] Codages des fichiers

  1. Lire le cours codage, en particulier la section sur le codage des caractères et l'exemple de codage/décodage.
  2. Convertir en utf-8 les fichiers précédemment repérés comme étant en latin1.
    cd seance-tp/textes
    file *
    iconv -f iso-8859-1 -t utf-8 horla.txt > horla-utf8.txt
    file *
    
  3. Constater le changement en affichant le contenu de ces fichiers dans le terminal.

[ 8 ] Programmes et processus

lancement de commandes

  1. Quels sont les emplacements des commandes pdflatex, firefox et ls ?
  2. Afficher toutes les commandes effectuées depuis le début de la séance.
  3. Dans cette liste, ne conserver que les utilisations de la commande cd.
  4. Afficher la liste des processus en cours d'exécution sur la machine, puis se restreindre à ceux appartenant à l'utilisateur.

exécution de programmes perl

  1. Se rendre dans le dossier perl.
  2. Observer les droits associés aux fichiers présents et constater qu'ils sont exécutables.
  3. Les exécuter à tour de rôle et observer les deux comportements.
  4. Ouvrir et comparer les deux fichiers perl dans un éditeur de texte.

[ 9 ] Récupération d'informations du web

  1. Trouver un dictionnaire de cuisine sur le web.
  2. Récupérer l'une des pages de définition depuis le terminal.
  3. Idem mais en redirigeant le résultat dans un fichier, puis ouvrir ce fichier dans l'éditeur de texte et repérer le mot défini sur la page d'origine.
  4. À nouveau, récupérer la page dans le terminal en isolant le mot défini.

Question subsidiaire : comment automatiser ce traitement ?

[ 10 ] Production de documents semi-structurés

De reStructuredText vers HTML

  1. Se déplacer dans le dossier contenant le fichier exemple.txt et observer le contenu de ce fichier.
  2. Le transformer automatiquement en html, voir le résultat dans le terminal.
  3. Rediriger maintenant cette sortie vers un fichier et visualiser ce fichier avec un navigateur.
  4. Recommencer en associant une feuille de style au html produit, puis en enrichissant le contenu du fichier texte.

Écriture d'un document HTML/CSS

  1. Lire les notes de cours sur html et celles sur les feuilles de style.
  2. Dans l'éditeur, formater un texte en html en observant au fur et à mesure le résultat dans un navigateur.
  3. Écrire une feuille de style css et l'associer au docment html.

Création de documents LaTeX

  1. Compiler le fichier introduction.tex pour obtenir un fichier pdf.
    pdflatex introduction.tex
    pdflatex introduction.tex
    
  2. Constater que des fichiers ont effectivement été créés par la compilation.
    ls -l
    
  3. Effacer les autres fichiers produits à l'exception du pdf.
    rm *.aux *.log *.nav *.out *.snm *.toc *.vrb
    
  4. Produire un fichier pdf à partir de introduction.tex en mode handout.
  5. Partir du fichier minimal.tex, l'enrichir et produire un document pdf.
Fabien Torre Valid HTML5! Valid CSS!
Accueil > Enseignement > En pratique > Informatique de base > Linux
(contenu mis à jour )
site de Fabien Torre, université de Lille

Description

Survoler un lien de navigation pour lire sa description ici...