diff --git a/.gitignore b/.gitignore index 292a3af10f2ba4fcab77d18debd963d90dee0f3f..1bd36f66109f3a02849ee52f6752366791d633e6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ _build *~ *.o web/ +#Info on vagrant image +.vagrant diff --git a/Outils/shell.rst b/Outils/shell.rst index e66c7e6935d9d6876383f6831b5e968183a14454..5e2b72d419890f0149f0c49a1238a8a94ceee453 100644 --- a/Outils/shell.rst +++ b/Outils/shell.rst @@ -31,7 +31,7 @@ Expressions régulières Avant de commencer à voir les commandes utiles avec le shell, il est important de définir ce qu'est une expression régulière (`regex(3)`). Les expresions régulières caractérisent des chaînes de caractères et elles sont utiles pour de nombreuses commandes. Nous l'utiliserons notamment pour faire une recherche dans un fichier. -Dans un regex, certains caractères ont une signification particulière : +Dans une regex, certains caractères ont une signification particulière : ============= ==================================== ==================================================== Expression Explication Exemple @@ -55,8 +55,8 @@ Dans un regex, certains caractères ont une signification particulière : Notes : - - ``^b$`` = contient uniquement le caractère ``b` - - ``^$` = la ligne est vide + - ``^b$`` = contient uniquement le caractère ``b`` + - ``^$`` = la ligne est vide Nous verrons plus en détails leur utilisation avec les commandes plus complexes. @@ -66,11 +66,11 @@ Manipulation des répertoires Chaque processus travaille dans un répertoire dit courant. C'est le répertoire dans lequel le processus accède pour lire ou écrire des fichiers lorsque le processus utilise un nom relatif. La commande `pwd(1)`_ affiche le chemin du répertoire courant. -Il est possible de changer le répertoire courant du processus ou du shell en utilisant la commande `cd(1)`_. Exemples : +Il est possible de changer le répertoire courant du processus ou du shell en utilisant la commande `cd(1posix)`_. Exemples : - - `cd(1)`_ `chemin` : change le répertoire courant par celui de "chemin". - - `cd(1)`_ : change le répertoire courant par le répertoire de login de l'utilisateur courant. - - `cd(1)`_ .. : remonte dans le répertoire prédécesseur dans l'arborescence des fichiers. + - `cd(1posix)`_ `chemin` : change le répertoire courant par celui de "chemin". + - `cd(1posix)`_ : change le répertoire courant par le répertoire de login de l'utilisateur courant. + - `cd(1posix)`_ .. : remonte dans le répertoire prédécesseur dans l'arborescence des fichiers. La commande `mkdir(1)`_ permet de créer un répertoire. Elle prend comme argument le nom du répertoire à créer. La commande `rmdir(1)`_ supprime un répertoire qui doit être vide vide. Pour effacer un répertoire et tous les fichiers qu'il contient, il faut utiliser la commande `rm(1)`_ avec l'option ``-r``. Ainsi, ``rm -r /tmp/t`` supprime le répertoire ``/tmp/t`` ainsi que tous les fichiers et sous-répertoire se trouvant dans ce répertoire. @@ -113,6 +113,7 @@ Visualiser `cat(1)`_ [-opt] f1 f2 concatène et affiche les deux fichiers. `cat(1)`_ [-opt] file Affiche le fichier sur la sortie standard. + * -v : convertit les caractères spéciaux en caractères affichables * -n : numérote les lignes * -b : numérote seulement les lignes non vides @@ -522,7 +523,7 @@ Gestion des processus $ strace -c ./monexecutable -o fichierRecoltantLesInformations.log -`lsof(1)`_ [-opt] affiche les fichiers ouverts. +`lsof(8)`_ [-opt] affiche les fichiers ouverts. * -p PID : uniquement les fichiers ouverts du processus * -i : affiche les connexions réseaux ouvertes @@ -553,18 +554,18 @@ Lors de l'exécution d'une commande, un processus est créé et celui-ci va ouvr Symboles pour les commandes ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ? caractère joker remplaçant un seul caractère - ! Inverse le sens d’un test ou l’état de sortie d’une commande. + ``?`` caractère joker remplaçant un seul caractère + ``!`` Inverse le sens d’un test ou l’état de sortie d’une commande. - * caractère joker remplaçant une chaîne de caractère - & exécute une commande en arrière plan - ; sépare des instructions sur une seule ligne + ``*`` caractère joker remplaçant une chaîne de caractère + ``&`` exécute une commande en arrière plan + ``;`` sépare des instructions sur une seule ligne - cmd1 && cmd 2 cmd2 n'est exécuté que si cmd1 réussi - cmd1 || cmd 2 cmd2 n'est exécuté que si cmd1 rate + ``cmd1 && cmd 2`` cmd2 n'est exécuté que si cmd1 réussi + ``cmd1 || cmd 2`` cmd2 n'est exécuté que si cmd1 échoue - \ annule l'effet du caractère spécial suivant - " " annule l'effet de tout les caractères spéciaux dans les guillements, sauf $ et \ + ``\`` annule l'effet du caractère spécial suivant + ``" "`` annule l'effet de tout les caractères spéciaux entre les guillemets, sauf ``$`` et ``\`` Commandes utiles @@ -606,13 +607,13 @@ Informations générales `date(1)`_ Donne l'heure, selon l'horloge de votre ordinateur `cal(1)`_ Affiche un calendrier du mois courant -`halt(1)`_ Eteint l'ordinateur. -`reboot(1)`_ Redémarre l'ordinateur +`halt(8)`_ Eteint l'ordinateur. +`reboot(8)`_ Redémarre l'ordinateur -Informations systemes -^^^^^^^^^^^^^^^^^^^^^ +Informations système +^^^^^^^^^^^^^^^^^^^^ -`time(1)`_ programme Permet de calculer le temps d'exécution d'un programme +`time(1posix)`_ programme Permet de calculer le temps d'exécution d'un programme `df(1)`_ [-opt] [file] Indique l'espace disque utilisé et disponible sur tous les systèmes de fichiers. Si des fichiers sont passés en arguments, seul les systemes de fichier contenant un des fichiers sont montrés. diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000000000000000000000000000000000000..659fb81a7d97de655426a490a0b27cf61ea835c7 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,79 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure(2) do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://atlas.hashicorp.com/search. + config.vm.box = "hashicorp/precise32" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + # config.vm.network "private_network", ip: "192.168.33.10" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + # config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "virtualbox" do |vb| + # Display the VirtualBox GUI when booting the machine + vb.gui = false + + # Customize the amount of memory on the VM: + vb.memory = "2048" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies + # such as FTP and Heroku are also available. See the documentation at + # https://docs.vagrantup.com/v2/push/atlas.html for more information. + # config.push.define "atlas" do |push| + # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME" + # end + + # Enable provisioning with a shell script. Additional provisioners such as + # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + sudo apt-get update + sudo apt-get install -y python-sphinx + sudo apt-get install -y make +# sudo apt-get install -y python-setuptools +# sudo apt-get install -y mscgen +# sudo apt-get install -y graphviz +# sudo apt-get install -y texlive-pictures +# sudo apt-get install -y poppler-utils +# sudo easy_install -U sphinxcontrib-mscgen +# sudo easy_install -U sphinxcontrib-tikz + SHELL +end