Synchronisation de répertoire - Département des Sciences de la Terre
Transcription
Synchronisation de répertoire - Département des Sciences de la Terre
Bash Les commandes réseaux Synchronisation de répertoire Principe On liste les fichiers présents dans les deux répertoires et on copie vers la destination uniquement ceux qui sont plus récents Un essai en local mkdir -p ~/rsync/SRC ~/rsync/DEST cd ~/rsync touch ~/rsync/SRC/titi.txt rsync -avvP ~/rsync/SRC/ ~/rsync/DEST touch ~/rsync/SRC/toto.txt Utilisation en réseau touch ~/rsync/SRC/tata.txt rsync -avvP ~/rsync/SRC/ ssh.ens-lyon.fr:~/rsync/DEST Très utile pour les sauvegardes ... M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 60 / 121 Bash Les commandes réseaux Accéder en ssh à l’ENS Lyon le serveur : ssh.ens-lyon.fr Clients en mode texte putty (Windows) terminal Mac terminal Linux En mode graphique Winscp (Windows) Fugu (Mac) gFTP M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 61 / 121 Bash Traitement de fichiers textes Travailler en ligne de commande : Bash 2 Travailler en ligne de commande : Bash Les commandes de bases Ouvrir des fichiers Les commandes réseaux Traitement de fichiers textes Un peu de programmation en Bash Configurer son shell M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 62 / 121 Bash Traitement de fichiers textes Visualiser le contenu d’un fichier Parcourir le fichier cd Matos more hexa_aniso_stability.txt cat hexa_aniso_stability.txt Voir les extrémités du fichier head hexa_aniso_stability.txt tail hexa_aniso_stability.txt tail -f ~/.bash_history Ouvrez un autre terminal Ctrl + Shift ⇑ + n , tapez des commandes et quittez le nouveau terminal avec exit ou Ctrl + d M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 63 / 121 Bash Traitement de fichiers textes Sélectionner des élements dans un fichier Par lignes : grep grep 38 hexa_aniso_stability.txt grep \.38 hexa_aniso_stability.txt ls -l ~ | grep rwx ls -al ~ | grep ’\.g’ Par sélection précise : awk awk ’NR == 5 , NR == 10 {print $0 }’ hexa_aniso_stability.txt awk ’NR<=200 {print NR" : "$1,$2}’ hexa_aniso_stability.txt awk ’NR<=200 {print NR" : "$1,$2}’ hexa_aniso_stability.txt > test. M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 64 / 121 Bash Traitement de fichiers textes Faire des substitutions dans un fichier On va utiliser sed. Remplacer des . par des , sed sed sed sed cat s/+/-/ hexa_aniso_stability.txt s/+/-/g hexa_aniso_stability.txt s/"\."/,/g hexa_aniso_stability.txt s/"\."/,/g hexa_aniso_stability.txt > new_file newfile Enchainer le tout grep 38 hexa_aniso_stability.txt | awk ’NR<=50 {print $1,$4}’ | sed s/"\."/,/g > toto.csv && localc toto.csv M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 65 / 121 Bash Un peu de programmation en Bash Travailler en ligne de commande : Bash 2 Travailler en ligne de commande : Bash Les commandes de bases Ouvrir des fichiers Les commandes réseaux Traitement de fichiers textes Un peu de programmation en Bash Configurer son shell M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 66 / 121 Bash Un peu de programmation en Bash Créer un script Bash Ouvrez votre éditeur favori (nano, gedit, vi) et créer un nouveau fichier nommé premier script.sh premier script.sh #!/bin/bash echo ’ceci est mon premier script’ ls -l ~/var/log Rendre le script executable et le lancer chmod u+x premier_script.sh ./premier_script.sh M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 67 / 121 Bash Un peu de programmation en Bash Les variables Variables simples var1=coucou var2="a tout le monde" echo $var1 $var2 var1=2 var2=3 var3=$(( $var1 + $var2 )) echo $var3 Créer des variables à partir du résultat d’une commande var=‘ls‘ echo $var M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 68 / 121 Bash Un peu de programmation en Bash Variables d’environnement et tableaux Variables d’environnement env echo $USERNAME echo $SHELL Tableaux tab[0]=toto tab[1]=titi echo $tab[0] echo ${tab[0]} Arguments du shell $0 nom du script $1 $2 parametre donner au script $# nombre de parametres M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 69 / 121 Bash Un peu de programmation en Bash Les structures conditionnelles Structure de base if <condition>; then <commands> fi Quelques exemples if [ then fi if [ then else fi; case "$stringvar" == "tux" ]; echo ’la mascotte de linux’; ! -f nom_fichier ]; echo ’no file’; echo ’fichier present’; M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 70 / 121 Bash Un peu de programmation en Bash Conditions multiples space=‘df -h | awk ’{print $5}’ | grep % | sort -n | tail -1 | cut -d "%" -f1 -‘ case $space in [1-6]*) Message="All is quiet." ;; [7-8]*) Message="Start thinking about cleaning out some stuff. is $space % full." ;; 9[1-8]) Message="Better hurry with that new disk... One partition is $space % full." ;; *) Message="I seem to be running with an nonexistent amount of disk space..." ;; esac echo $Message M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 71 / 121 Bash Un peu de programmation en Bash Les boucles for Syntaxe générale for variable in liste_valeurs do instruction(s) done Un exemple avec une variable var=’A B C’ for i in $var do echo $i done Un exemple quand on connait le nombre d’itérations for i in {0..10..2} do echo "Welcome $i times" done M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 72 / 121 Bash Un peu de programmation en Bash Les boucles while et until Syntaxe générale COMPTEUR=0 while [ $COMPTEUR -lt 10 ]; do echo The COMPTEUR is $COMPTEUR let COMPTEUR=$COMPTEUR+1 done Un exemple avec COMPTEUR=20 until [ $COMPTEUR -lt 10 ]; do echo COMPTEUR $COMPTEUR let COMPTEUR=$COMPTEUR-1 done M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 73 / 121 Bash Un peu de programmation en Bash Convertir une série d’images Le commande convert permet de transformer une image (rotation, format, decoupage, ...) Aller dans Matos/images Le script #!/bin/bash for f in $(find -type f -iname ’*.png’) do dest=‘echo ${f%.*}‘ echo "${f} to ${dest}.jpg" convert "${f}" "${dest}.jpg" done M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 74 / 121 Bash Configurer son shell Travailler en ligne de commande : Bash 2 Travailler en ligne de commande : Bash Les commandes de bases Ouvrir des fichiers Les commandes réseaux Traitement de fichiers textes Un peu de programmation en Bash Configurer son shell M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 75 / 121 Bash Configurer son shell Les alias Ouvrez le fichier .bashrc Principe une chaine de caractère est associé à une commande prédéfinie Exemples alias info=’cd ~/InfoScientifique’ alias transfert_ssh_ens=’rsync -avvP ~/InfoScientifique/ ssh.ens-lyon.fr: M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 76 / 121 Bash Configurer son shell Le PATH Principe le PATH est une variable d’environnement qui indique où aller chercher les executables Valeur par defaut echo $PATH Ajoutons un répertoire où l’on met nos scripts mkdir -p ~/bin/scripts Dans le fichier .bashrc : export $PATH=$PATH:~/bin/scripts M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 77 / 121 Bash Configurer son shell Mettons un peu de couleur Le prompt PS1=’${debian_chroot:+($debian_chroot)}\[\033[01;33m\]\u @\h\[\033[00m\]:\[\033[01;35m\]\w\[\033[00m\]\$’ Quelques commandes alias ls=’ls --color=auto’ alias grep=’grep --color=auto’ M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 78 / 121 LATEX Produire des documents scientifiques : LATEX 1 Généralités informatiques 2 Travailler en ligne de commande : Bash 3 Produire des documents scientifiques : LATEX Principe général Un premier document Mettre en forme le texte Les objets flottants La gestion automatisée Présentation PointPuissantTM Poster 4 Création de cartes et de figures : GMT Informatique L3 Traitement de données : Python M.Ulvrova, L.Pouilloux (ENS LYON) 5 Automne 2011 79 / 121 LATEX LATEX On va : introduire le principe du langage compiler un fichier LATEXet visualiser le PDF organiser le document mettre en forme de belles équations gérer les images, les tables, etc ... découvrir la puissance du langage (table des matières, index, listes de tables et figures) gérer la bibliographie On appliquera tout cela à un rapport, une présentation et un poster. M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 80 / 121 LATEX Principe général Produire des documents scientifiques : LATEX 3 Produire des documents scientifiques : LATEX Principe général Un premier document Mettre en forme le texte Les objets flottants La gestion automatisée Présentation PointPuissantTM Poster M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 81 / 121 LATEX Principe général Principe général Un fichier source transforé en PDF par la commande pdflatex Séparation du contenu et de la mise en page M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 82 / 121 LATEX Un premier document Produire des documents scientifiques : LATEX 3 Produire des documents scientifiques : LATEX Principe général Un premier document Mettre en forme le texte Les objets flottants La gestion automatisée Présentation PointPuissantTM Poster M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 83 / 121 LATEX Un premier document Compilons notre premier fichier \documentclass[12pt]{article} \usepackage[utf8]{inputenc} \begin{document} Bonjour tout le monde, ceci est mon premier document \LaTeX. Comment ça marche ? \end{document} Ouvrir un terminal Créer un répertoire Latex Ouvrir un fichier hello.tex et y mettre le texte ci-dessus Compiler le programme pdflatex hello.tex Visualiser le document produit avec evince M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 84 / 121 LATEX Un premier document Structure du fichier source un entête ou header qui contient : I Analysons le code I \documentclass{article} \usepackage[utf8]{inputenc} \begin{document} Bonjour tout le monde, ceci est mon premier document \LaTeX. I un corps de document qui contient tout ce qui sera affiché (textes, figures, tableaux) Comment ça marche ? \end{document} M.Ulvrova, L.Pouilloux (ENS LYON) la classe (article, book, présentation, poster) les packages utilisés (accentuation, formules mathématiques ...) des informations (auteur, titre, ...) Informatique L3 Automne 2011 85 / 121 LATEX Un premier document Les classes et les options du documents Quelques classes utiles article book beamer a0poster Quelques options a4paper 10pt times, helvetica twocolumn M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 86 / 121 LATEX Un premier document Quelques packages indispensables Les accents \usepackage[utf8]{inputenc} \usepackage[latin1]{fontenc} Les règles typographiques françaises \usepackage[french]{babel} Les mathématiques \usepackage{amsmath} Les figures \usepackage{graphicx} M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 87 / 121 LATEX Mettre en forme le texte Produire des documents scientifiques : LATEX 3 Produire des documents scientifiques : LATEX Principe général Un premier document Mettre en forme le texte Les objets flottants La gestion automatisée Présentation PointPuissantTM Poster M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 88 / 121 LATEX Mettre en forme le texte Taille de la police \tiny Portez ce vieux whisky au juge blond qui fume \scriptsize Portez ce vieux whisky au juge blond qui fume \footnotesize Portez ce vieux whisky au juge blond qui fume \small Portez ce vieux whisky au juge blond qui fume \normalsize Portez ce vieux whisky au juge blond qui fume \large Portez ce vieux whisky au juge blond qui fume \Large Portez ce vieux whisky au juge blond qui fume \LARGE Portez ce vieux whisky au juge blond qui fume Portez ce vieux whisky au juge blond qui fume \huge Portez ce vieux whisky au juge blond qui fume \Huge M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 89 / 121 LATEX Mettre en forme le texte Mettre en valeur le texte Texte en gras {\bf Portez ce vieux whisky au juge blond qui fume} Portez ce vieux whisky au juge blond qui fume Texte en italique {\it Portez ce vieux whisky au juge blond qui fume} Portez ce vieux whisky au juge blond qui fume Texte souligné \underline{Portez ce vieux whisky au juge blond qui fume} Portez ce vieux whisky au juge blond qui fume Texte en majuscules {\sc Portez ce vieux Whisky au juge blond qui fume} Portez ce vieux Whisky au juge blond qui fume M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 90 / 121 LATEX Mettre en forme le texte Alignement du texte Par défaut le texte est justifé et aligné sur la gauche. Centrer le texte \begin{center} Texte centr\’e \end{center} Texte centré Décaler le texte à droite \begin{flushright} Texte d\’ecal\’e \‘a droite \end{flushright} M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Texte décalé à droite Automne 2011 91 / 121 LATEX Mettre en forme le texte les listes Listes à puces \begin{itemize} \item un element \item un autre \item encore un autre \end{itemize} un element un autre encore un autre Les listes numérotées \begin{enumerate} \item un element \item un autre \item encore un autre \end{enumerate} 1 un element 2 un autre 3 encore un autre On peut bien évidemment les imbriquer ... M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 92 / 121 LATEX Mettre en forme le texte La structure du document \section{Les \’el\’ements finis} \subsection{Principe} \subsubsection{Un peu d\’historique} Mettez cela dans votre fichier et compilez ... M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 93 / 121 LATEX Mettre en forme le texte Les mathématiques Introduire des maths au sein d’un texte Consid\’erons $x\in \mathbb{R}$ un nombre al\’eatoire Considérons x ∈ R un nombre aléatoire En laissant un espace avant et apès Considérons Consid\’erons $$x\in \mathbb{R}$$ un nombre al\’eatoire x ∈R un nombre aléatoire Quelques exemples $\int_{x=0}^{\infty}\frac {\partial^2 f}{\partial x^2} -\nabla \otimes f dx$ M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 R∞ ∂2f x=0 ∂x 2 − ∇ ⊗ fdx Automne 2011 94 / 121