Browse Source

Add second part of conference in notes

Matteo Savatteri 3 years ago
parent
commit
2abb569a6f
1 changed files with 58 additions and 20 deletions
  1. 58 20
      notes/notes.tex

+ 58 - 20
notes/notes.tex

@@ -1,18 +1,22 @@
-\documentclass{article}
+\documentclass{report}
 \usepackage[T1] {fontenc}
 \usepackage[italian]{babel}
 
 % Per i link nell'indice
 \usepackage{hyperref}
 
-\title{OpenLab Virtual 2021\\GNU/Linux Intro, Tips \& Tricks}
+\title{OpenLab Virtual 2021}
 \author{Matteo Savatteri}
 
 \begin{document}
 \maketitle
+\setcounter{page}{2}
+
 
 \tableofcontents
 
+\chapter{GNU/Linux Intro, Tips \& Tricks}
+
 \section{Introduzione}
 \begin{itemize}
 \item Benvenuto e ringraziamenti ad admin e pubblico
@@ -119,6 +123,24 @@ Perhé un fisico dovrebbe conoscere ed utilizzare il sistema \texttt{GNU/Linux}?
 \item Tutte le persone dovrebbero usare un OS Libero, per ragioni etiche
 \end{itemize}
 
+\section{Presentazioni ospiti}
+\begin{itemize}
+\item Ospiti: Zec, Sboz, Blue, Algebrato (?)
+\item 5 min a testa
+\item Domande
+\end{itemize}
+
+\section{Chiusura}
+\begin{itemize}
+\item Repo dell'\emph{OpenLab}, cosa trovate, licenza
+\item Contatti LCM: sito, gruppo community, mail
+\item Saluti
+\end{itemize}
+
+
+
+\chapter{CLI Essential and Shell Programming}
+
 \section{Nozioni e Strumenti}
 \subsection{Setup}
 \begin{itemize}
@@ -176,19 +198,43 @@ Perhé un fisico dovrebbe conoscere ed utilizzare il sistema \texttt{GNU/Linux}?
 \item \`E interprete dei comandi e linguaggio di scripting
 \item Se chiamata come \texttt{sh} o con la flag \texttt{--posix}
       comportamento conforme al POSIX (\texttt{sh})
-\item Alcune feature:
+\item Feature:
       \begin{itemize}
-      \item Redirezione in e out $\rightarrow$ \texttt{>}, \texttt{>>}, \texttt{<}
-      \item Pipeline $\rightarrow$ \texttt{|}
+      \item Esecuzione di comandi $\rightarrow$ Se no slash: ricerca
+            $\rightarrow$ funzioni, builtin, \texttt{PATH} (\texttt{hash})
+            $\rightarrow$ Esecuzione con assegnazione argomenti
+      \item Shell scripts
+      \item Enviroment (\texttt{export})
+      \item Simple commands $\rightarrow$ \emph{``A simple command is a sequence of optional
+            variable assignments followed by blank-separated words and redirections,
+            and terminated by a control operator.''}
+      \item Pipeline $\rightarrow$ \texttt{|}, \texttt{|\&}, \textbf{in subshell}
       \item Liste di comandi $\rightarrow$ \texttt{;}, \texttt{\&}, \texttt{\&\&}, \texttt{||}
-      \item \texttt{$\sim$} expansion
-      \item Parametri $\rightarrow$ definizione, valutazione, variabili speciali (in particolare
-            \texttt{PATH})
-      \item Cicli e condizioni: \texttt{if}, \texttt{for}, \texttt{while}
+      \item Compound commands $\rightarrow$ \texttt{(list)}, \texttt{\{ list; \}}, \texttt{((expression))},
+            \texttt{if}, \texttt{for} (due tipi), \texttt{while}, \texttt{until}, \texttt{case}
+      \item Shell functions $\rightarrow$ \texttt{fname () compound-command [redirection]}
+      \item Coprocesses $\rightarrow$ \texttt{coproc [NAME] command [redirections]}
+      \item Commenti $\rightarrow$ \texttt{\#}
+      \item Quoting
+      \item Parametri $\rightarrow$ \emph{``A parameter is an entity that stores values.''},
+            \emph{``A variable is a parameter denoted by a name.''},
+            definizione, valutazione, parametri speciali (\texttt{*}, \texttt{@}, \texttt{\#}, \texttt{?},
+            \texttt{-},\texttt{\$},\texttt{!} (job), \texttt{0})
+            e variabili speciali (in particolare \texttt{PATH}), namerefs (\texttt{declare -n ref=VAR}),
+            \texttt{declare} builtin
+      \item Array $\rightarrow$ \texttt{name=(value1 ... valuen)}
+      \item Espansione $\rightarrow$ brace expansion, tilde expansion,
+            parameter and variable expansion, command substitution, arithmetic expansion,
+            word splitting, and pathname expansion
+      \item Redirezione $\rightarrow$ \texttt{>}, \texttt{>>}, \texttt{<}, nomi file spaciali,
+            \emph{Here Documents} \texttt{[n]<<[-]word ... delim}, \emph{Here Strings}
+            \texttt{[n] < < < word}, duplicating file descriptors \texttt{[n]>\&word} (analogo
+            per input, moving file descriptors \texttt{[n]>\&digit-} (analogo input),
+            opening file descriptors for reading and writing \texttt{[n]<>word}.
       \item \texttt{history}
-      \item \emph{Tab completion}
-      \item Glob $\rightarrow$ \texttt{*}, \texttt{?}
-      \item Esempio di script: \texttt{hello.sh}
+      \item Tab completion
+      \item Job control
+      \item Builtins (Vedi man page)
       \end{itemize}
 \end{itemize}
 
@@ -273,14 +319,6 @@ Regole per documentarsi:
 \item \texttt{command}
 \item \texttt{true}
 \item \texttt{false}
-
-\end{itemize}
-
-\section{Presentazioni ospiti}
-\begin{itemize}
-\item Ospiti: Zec, Sboz, Blue, Algebrato (?)
-\item 5 min a testa
-\item Domande
 \end{itemize}
 
 \section{Chiusura}