index.html 10.4 KB
   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="search-domain" value="">
<link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="../assets/css/bootstrap-theme.css" />
<link rel="stylesheet" type="text/css" href="../assets/css/lesson.css" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon-UJM.ico" />
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<title>Programmer en Python: Astuces Bash</title>
</head>
<body>
<div class="container">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>

<a href=".." class="pull-left">
<img class="navbar-logo" src="../assets/img/UJM-logo.svg" alt="UJM logo" />
</a>

<a class="navbar-brand" href="../">Accueil</a>

</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">


<li><a href="../reference/">Réference</a></li>

<li class="dropdown">
<a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="../01-introduction/">Introduction</a></li>
<li><a href="../02-terminal-et-bash/">Le Terminal et Bash</a></li>
<li><a href="../03-bash-et-chemins/">Arborescences de Fichier et Bash</a></li>
<li><a href="../04-python-intro/">Un Premier Programme</a></li>
<li><a href="../05-operations-arith/">Opérations sur des Nombres</a></li>
<li><a href="../06-variables-et-types/">Variables et Types</a></li>
<li><a href="../07-erreurs/">Apprendre par l'Erreur</a></li>
<li><a href="../08-fonction-et-aide/">Fonctions Prédéfinies et Aide</a></li>
<li><a href="../09-import-biblio/">Bibliothèques et Importation de Fonctions</a></li>
<li><a href="../10-biblio-qtido/">Bibliothèque Graphique qtido</a></li>
<li><a href="../11-input-conversion/">Entrées Utilisateur</a></li>
<li><a href="../12-condition-if/">Instructions Conditionnelles</a></li>
<li><a href="../13-conditions-else/">Instructions Conditionnelles (2)</a></li>
<li><a href="../14-boucle-while/">Boucles while (tant que)</a></li>
<li><a href="../15-listes-base/">Listes de Valeurs</a></li>
<li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
<li><a href="../17-boucle-for/">Boucles for</a></li>
<li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
</ul>
</li>

<li><a href="../installation/">Installation</a></li>

<li class="dropdown">
<a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Extras <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="../about/">About</a></li>
<li><a href="../more-bashtips/">Astuces Bash</a></li>
<li><a href="../reference-qtido/">Référence qtido</a></li>
</ul>
</li>

<li><a href="../license/">Licence</a></li>
</ul>
<form class="navbar-form navbar-right" role="search" id="search" onsubmit="google_search(); return false;">
<div class="form-group">
<input type="text" id="google-search" placeholder="Search...">
</div>
</form>
</div>
</div>
</nav>

<h1 class="maintitle"><a href="../">Programmer en Python</a>: Astuces Bash</h1>

<h2 id="importante-introduction">Importante introduction</h2>

<p>À chaque fois que l’on ouvre un (nouveau) terminal, un nouveau <code class="highlighter-rouge">bash</code> est lancé et il exécute avant tout le fichier <code class="highlighter-rouge">~/.bash_profile</code> (le fichier caché <code class="highlighter-rouge">.bash_profile</code> dans votre dossier maison) s’il existe.</p>

<p>Pour éditer ce fichier (si emacs est déjà configuré, cf « Configurer Emacs dans Bash » ci dessous), vous pouvez taper la succession de commandes suivantes :</p>

<div class="highlighter-rouge"><pre class="highlight"><code>cd
emacs .bash_profile
</code></pre>
</div>

<p>Pour tester les changements, il faut <strong>lancer un nouveau terminal</strong>.</p>

<h2 id="configurer-emacs-dans-bash-sous-windows">Configurer Emacs dans Bash sous Windows</h2>

<p>Pour pouvoir ouvrir emacs depuis le terminal en tapant juste <code class="highlighter-rouge">emacs</code>, il va falloir créer/modifier le fichier <code class="highlighter-rouge">~/.bash_profile</code>.</p>

<p>Pour cela (on suppose emacs installé) :</p>

<ul>
<li>ouvrir un terminal et taper (pour créer le fichier, et connaître le chemin de votre dossier « maison »).</li>
</ul>

<div class="highlighter-rouge"><pre class="highlight"><code>cd
touch .bash_profile
pwd
# se rappeler du chemin renvoyé par pwd, par exemple /c/Users/Bob
</code></pre>
</div>

<ul>
<li>ouvrir emacs avec le menu démarrer Windows</li>
<li>à partir de emacs, ouvrir le fichier <code class="highlighter-rouge">.bash_profile</code> qui est par exemple dans <code class="highlighter-rouge">C:/Users/Bob</code></li>
<li>garder le fichier ouvert dans emacs</li>
<li>dans le menu démarrer, rechercher emacs mais au lieu de le lancer, clicker avec le bouton droit et faites « propriétés »</li>
<li>dans l’onglet « Raccourci » de la fenêtre de propriétés, copier la valeur du champs « Cible » (par exemple <code class="highlighter-rouge">C:\Users\Bob\...\runemacs.exe</code>)</li>
<li>dans le emacs que vous aviez gardé ouvert, ajouter la ligne suivante</li>
</ul>

<div class="highlighter-rouge"><pre class="highlight"><code>alias emacs='C:/Users/Bob/.../runemacs.exe'
</code></pre>
</div>

<ul>
<li>Important : remplacer le chemin par celui que vous venez de copier</li>
<li>Important : remplacer aussi les <code class="highlighter-rouge">\</code> par <code class="highlighter-rouge">/</code></li>
<li>NB : penser à sauvegarder ensuite</li>
</ul>

<h2 id="lancer-python-3-avec-python3-dans-bash">Lancer python 3 avec <code class="highlighter-rouge">python3</code> dans bash</h2>

<p>Si anaconda est installé, il est possible de lancer python depuis le terminal bash avec <code class="highlighter-rouge">python</code>.
Pour pouvoir le lancer en tapant <code class="highlighter-rouge">python3</code> (pour faire comme en salle de TP), il est possible d’ajouter dans le fichier <code class="highlighter-rouge">.bash_profile</code> la ligne suivante:</p>

<div class="highlighter-rouge"><pre class="highlight"><code>alias python3=python
</code></pre>
</div>

<h2 id="couleurs-dans-ls">Couleurs dans <code class="highlighter-rouge">ls</code></h2>

<p>Ajouter la ligne suivante dans votre fichier <code class="highlighter-rouge">~/.bash_profile</code> :</p>

<div class="highlighter-rouge"><pre class="highlight"><code>alias ls="ls --color"
</code></pre>
</div>

<h2 id="rendre-cpmvls-plus--srs-">Rendre cp/mv/ls plus « sûrs »</h2>

<p>Pour que cp/mv/ls demandent (par défaut) avant d’écraser un fichier existant, ajouter les lignes suivantes dans votre fichier <code class="highlighter-rouge">~/.bash_profile</code> :</p>

<div class="highlighter-rouge"><pre class="highlight"><code>alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
</code></pre>
</div>


<hr/>
<footer>
<div class="row">
<div class="col-md-6" align="left">
<h4>
Copyright &copy; 2016
</h4>
</div>
<div class="col-md-6" align="right">
<h4>
<!--
<a href="/">Source</a>
/
<a href="/blob/gh-pages/CONTRIBUTING.md">Contributing</a>
/
-->
<a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
</h4>
</div>
</div>
</footer>

</div>
<script src="../assets/js/jquery.min.js"></script>
<script src="../assets/js/bootstrap.min.js"></script>
<script src="../assets/js/lesson.js"></script>

<!-- clicky Cla -->
<script type="text/javascript">
var clicky_site_ids = clicky_site_ids || [];
clicky_site_ids.push(100779706);
(function() {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = '//static.getclicky.com/js';
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
})();
</script>
<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/100779706ns.gif" /></p></noscript>


<!-- Histats.com START (aync)-->
<script type="text/javascript">var _Hasync= _Hasync|| [];
_Hasync.push(['Histats.start', '1,2767123,4,0,0,0,00010000']);
_Hasync.push(['Histats.fasi', '1']);
_Hasync.push(['Histats.track_hits', '']);
(function() {
var hs = document.createElement('script'); hs.type = 'text/javascript'; hs.async = true;
hs.src = ('http://s10.histats.com/js15_as.js');
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(hs);
})();</script>
<noscript><a href="http://www.histats.com" target="_blank"><img src="http://sstatic1.histats.com/0.gif?2767123&101" alt="javascript hit counter" border="0"></a></noscript>
<!-- Histats.com END -->
</body>
</html>