index.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Linux and shell</title>
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  9. <link rel="stylesheet" href="/majo/reveal-js/css/reset.css">
  10. <link rel="stylesheet" href="/majo/reveal-js/css/reveal.css"><link rel="stylesheet" href="/majo/reveal-js/css/theme/black.css" id="theme">
  11. <link rel="stylesheet" href="/majo/highlight-js/solarized-dark.min.css"><link rel="stylesheet" href="/majo/style.css" id="custom_css">
  12. </head>
  13. <body>
  14. <div class="reveal">
  15. <div class="slides">
  16. <section><h3 id="intro-su-sistemi-operativi">intro su sistemi operativi</h3>
  17. <ul>
  18. <li>cosa sono?</li>
  19. <li>che fanno?</li>
  20. </ul>
  21. </section><section>
  22. <h3 id="software-libero-kernel-distro">software libero, kernel, distro.</h3>
  23. <ul>
  24. <li><a href="https://it.wikipedia.org/wiki/Software_libero">Software Libero</a></li>
  25. <li><a href="https://it.wikipedia.org/wiki/Distribuzione_Linux">Distribuzioni</a></li>
  26. </ul>
  27. </section><section>
  28. <h3 id="come-si-installa-un-os-boot">Come si installa un OS? BOOT</h3>
  29. </section><section>
  30. <table>
  31. <thead>
  32. <tr>
  33. <th>Marca</th>
  34. <th>Tasto</th>
  35. </tr>
  36. </thead>
  37. <tbody>
  38. <tr>
  39. <td>Acer</td>
  40. <td>F12, F9, F2, Esc</td>
  41. </tr>
  42. <tr>
  43. <td>Apple</td>
  44. <td>Option</td>
  45. </tr>
  46. <tr>
  47. <td>Asus</td>
  48. <td>Esc</td>
  49. </tr>
  50. <tr>
  51. <td>Dell</td>
  52. <td>F12</td>
  53. </tr>
  54. <tr>
  55. <td>HP</td>
  56. <td>F9</td>
  57. </tr>
  58. <tr>
  59. <td>Huawei</td>
  60. <td>F12</td>
  61. </tr>
  62. <tr>
  63. <td>Lenovo</td>
  64. <td>F12</td>
  65. </tr>
  66. <tr>
  67. <td>others…</td>
  68. <td>F12, Esc</td>
  69. </tr>
  70. </tbody>
  71. </table>
  72. </section><section>
  73. <h3 id="metodi-di-interazione-ui-gui-cli">metodi di interazione, UI, GUI, CLI</h3>
  74. <p>Quando ci relazioniamo agli strumenti c&rsquo;e&rsquo; un linguaggio che usiamo per interagire con loro, questo modo di relazionarsi è la <u>User Interface</u>: permette alle persone (user) di interfacciarsi ai computer.
  75. <a href="https://techlearningcollective.com/foundations/command-line-basics/commands-versus-buttons">link</a></p>
  76. </section><section>
  77. <h3 id="gui">GUI</h3>
  78. <p>punta e clicca, pochissima espressività.</p>
  79. <p>nelle gui devi manipolare gli oggetti a cui vuoi riferirti puntandoli direttamente, fisicamente.
  80. siamo obbligati ad usare un dito, il puntatore. inoltre non puoi accedere a cio&rsquo; che non e&rsquo; mostrato.
  81. se non si vede non puoi manipolarlo.</p>
  82. </section><section>
  83. <h3 id="cli">CLI</h3>
  84. <p>Tutta l&rsquo;espressività e la potenza di un linguaggio naturale!</p>
  85. <aside class="notes"><ul>
  86. <li>esempio del ristorante, scelta del menu.</li>
  87. <li>come si descrivono le operazioni, nella gui ci si mette un sacco a scrivere e a ripetere</li>
  88. <li>per la cli e&rsquo; autoesplicativo quando si conosce il linguaggio, non c&rsquo;e&rsquo; ambiguita&rsquo; e&rsquo; deterministico</li>
  89. </ul>
  90. </aside>
  91. </section><section>
  92. <h3 id="cli-base">CLI base</h3>
  93. <ul>
  94. <li>tutto imperativo, si chiama command line appunto</li>
  95. <li>ogni comando finisce con un invio</li>
  96. <li>spesso i comandi necessitano argomenti</li>
  97. </ul>
  98. </section><section>
  99. <h3 id="iniziamo">Iniziamo</h3>
  100. <pre tabindex="0"><code>ls
  101. </code></pre><p><a href="https://techlearningcollective.com/foundations/linux-journey/the-shell">link</a></p>
  102. </section><section>
  103. <h3 id="attributi">Attributi</h3>
  104. <pre tabindex="0"><code>ls --help
  105. ls --all
  106. ls -t
  107. </code></pre></section><section>
  108. <h3 id="argomenti">Argomenti</h3>
  109. <pre tabindex="0"><code>ls Musica
  110. </code></pre></section><section>
  111. <h3 id="autocompletamento">Autocompletamento</h3>
  112. <p>Usa il TAB!</p>
  113. </section><section>
  114. <h4 id="help">Help</h4>
  115. <pre tabindex="0"><code>man ls
  116. </code></pre></section><section>
  117. <h3 id="echo">echo</h3>
  118. <pre tabindex="0"><code>echo ciao
  119. </code></pre></section><section>
  120. <h3 id="che-giorno-è">che giorno è</h3>
  121. <pre tabindex="0"><code>????
  122. </code></pre></section><section>
  123. <h3 id="filesystem">Filesystem</h3>
  124. <pre tabindex="0"><code>pwd
  125. cd .
  126. cd ..
  127. cd ~
  128. cd -
  129. cd dir
  130. </code></pre></section><section>
  131. <h3 id="files">Files</h3>
  132. <pre tabindex="0"><code>less
  133. cat
  134. </code></pre></section><section>
  135. <h3 id="history">History</h3>
  136. <p>su e giù</p>
  137. <pre tabindex="0"><code>history
  138. </code></pre><p>ctrl+r</p>
  139. </section><section>
  140. <h4 id="ancora-files-e-dirs">Ancora files e dirs</h4>
  141. <pre tabindex="0"><code>cp
  142. mv
  143. rm
  144. tree
  145. mkdir
  146. </code></pre></section><section>
  147. <h4 id="cercare">Cercare</h4>
  148. <pre tabindex="0"><code>find
  149. grep
  150. </code></pre></section><section>
  151. <h4 id="redirect">Redirect</h4>
  152. <pre tabindex="0"><code>echo 120g zucchero &gt; ricetta_tiramisu.txt
  153. </code></pre><p>la &gt; è una redirezione, ci permette di cambiare dove finisce l&rsquo;output</p>
  154. </section><section>
  155. <h4 id="redirect-ii">Redirect II</h4>
  156. <pre tabindex="0"><code>echo 120g zucchero &gt;&gt; ricetta_tiramisu.txt
  157. </code></pre></section><section>
  158. <h4 id="pipe">PIPE</h4>
  159. <pre tabindex="0"><code>grep
  160. sort
  161. wc
  162. tail
  163. head
  164. </code></pre></section>
  165. </div>
  166. </div>
  167. <script type="text/javascript" src=/majo/reveal-hugo/object-assign.js></script>
  168. <a href="/majo/reveal-js/css/print/" id="print-location" style="display: none;"></a>
  169. <script type="text/javascript">
  170. var printLocationElement = document.getElementById('print-location');
  171. var link = document.createElement('link');
  172. link.rel = 'stylesheet';
  173. link.type = 'text/css';
  174. link.href = printLocationElement.href + (window.location.search.match(/print-pdf/gi) ? 'pdf.css' : 'paper.css');
  175. document.getElementsByTagName('head')[0].appendChild(link);
  176. </script>
  177. <script type="application/json" id="reveal-hugo-site-params">{"custom_css":"style.css","highlight_theme":"solarized-dark"}</script>
  178. <script type="application/json" id="reveal-hugo-page-params">null</script>
  179. <script src="/majo/reveal-js/js/reveal.js"></script>
  180. <script type="text/javascript">
  181. function camelize(map) {
  182. if (map) {
  183. Object.keys(map).forEach(function(k) {
  184. newK = k.replace(/(\_\w)/g, function(m) { return m[1].toUpperCase() });
  185. if (newK != k) {
  186. map[newK] = map[k];
  187. delete map[k];
  188. }
  189. });
  190. }
  191. return map;
  192. }
  193. var revealHugoDefaults = { center: true, controls: true, history: true, progress: true, transition: "slide" };
  194. var revealHugoSiteParams = JSON.parse(document.getElementById('reveal-hugo-site-params').innerHTML);
  195. var revealHugoPageParams = JSON.parse(document.getElementById('reveal-hugo-page-params').innerHTML);
  196. var options = Object.assign({},
  197. camelize(revealHugoDefaults),
  198. camelize(revealHugoSiteParams),
  199. camelize(revealHugoPageParams));
  200. Reveal.initialize(options);
  201. </script>
  202. <script type="text/javascript" src="/majo/reveal-js/plugin/markdown/marked.js"></script>
  203. <script type="text/javascript" src="/majo/reveal-js/plugin/markdown/markdown.js"></script>
  204. <script type="text/javascript" src="/majo/reveal-js/plugin/highlight/highlight.js"></script>
  205. <script type="text/javascript" src="/majo/reveal-js/plugin/zoom-js/zoom.js"></script>
  206. <script type="text/javascript" src="/majo/reveal-js/plugin/notes/notes.js"></script>
  207. </body>
  208. </html>