Skip to content

Commit d8766d9

Browse files
authored
Merge pull request #14 from aobolensk/03-linux
2 parents 919dd3e + 1bbb6dd commit d8766d9

8 files changed

+262
-1
lines changed

03-linux/03-linux.tex

+259-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,260 @@
4242

4343
\section{Introduction}
4444

45-
\begin{frame}{Slide}
45+
46+
\begin{frame}{What is Linux?}
47+
\begin{minipage}[t]{0.6\textwidth}
48+
Linux is a generic name for a family of open-source Unix-like operating systems based on the Linux kernel. \\
49+
Linux operating system is widely used in servers, personal computers, embedded systems, and other devices. It is built on the Linux kernel, which is the core of the operating system that manages communication between hardware and software.
50+
\vspace{10pt}
51+
\\
52+
\footnotesize Source: \href{https://en.m.wikipedia.org/wiki/File:Tux.svg}{https://en.m.wikipedia.org/wiki/File:Tux.svg}
53+
\end{minipage}
54+
\hfill
55+
\begin{minipage}[t]{0.35\textwidth}
56+
\begin{figure}[h]
57+
\includegraphics[width=0.7\textwidth]{images/tux.png}
58+
\end{figure}
59+
\end{minipage}
60+
\end{frame}
61+
62+
\begin{frame}{Why Linux?}
63+
\begin{itemize}
64+
\item Free and open-source operating system
65+
\item Open-source nature and customization flexibility
66+
\item Wide range of applications and tools
67+
\item Enhanced security
68+
\item High stability and reliability
69+
\item Community support and resources
70+
\item Cost-effectiveness compared to proprietary software
71+
\item Scalability for handling large amounts of data and traffic
72+
\item Compatibility with modern DevOps practices and configuration management
73+
\item Support for visualization
74+
\end{itemize}
75+
76+
\footnotesize Source: \href{https://www.logicmonitor.com/blog/9-reasons-linux-is-a-popular-choice-for-servers}{https://www.logicmonitor.com/blog/9-reasons-linux-is-a-popular-choice-for-servers}
77+
\end{frame}
78+
79+
\begin{frame}{Where Linux is used?}
80+
\begin{itemize}
81+
\item Servers
82+
\item Supercomputers
83+
\item Personal computers
84+
\item Embedded systems
85+
\item Networking equipment
86+
\item and many others...
87+
\end{itemize}
88+
\end{frame}
89+
90+
\section{History}
91+
92+
\begin{frame}{UNIX}
93+
\begin{itemize}
94+
\item Developed in AT\&T's Bell Labs in late 60s
95+
\item Designed as a multiuser, multitasking system
96+
\item Influenced many subsequent operating systems
97+
\end{itemize}
98+
\end{frame}
99+
100+
101+
\begin{frame}{UNIX history}
102+
\begin{itemize}
103+
\item Origins at Bell Labs (1969-1970)
104+
\item UNIX Expansion (1970s)
105+
\begin{itemize}
106+
\footnotesize
107+
\item Version 1 (1971): The first official version was released
108+
\item Academic Adoption: By 1973, UNIX had been rewritten in C, making it more portable
109+
\item Influence on Academia: UNIX became a popular teaching and research tool in academic circles, and many computer science students learned programming in this environment
110+
\end{itemize}
111+
\item Commercialization and Fragmentation (1980s)
112+
\begin{itemize}
113+
\footnotesize
114+
\item Version 1 (1971): AT\&T began to commercialize UNIX more aggressively
115+
\item System V (1983): AT\&T's commercial version of UNIX, called System V, became a standard for many commercial UNIX systems. However, BSD continued to evolve separately, leading to a fragmentation of UNIX versions
116+
\end{itemize}
117+
\item UNIX Wars (1980s-1990s)
118+
\begin{itemize}
119+
\footnotesize
120+
\item Many different versions appeared
121+
\item POSIX Standard was introduced
122+
\end{itemize}
123+
\item Rise of Linux and Open Source (1990s)
124+
\item Modern UNIX and Legacy (2000s - Present)
125+
\end{itemize}
126+
\end{frame}
127+
128+
\begin{frame}{UNIX timeline}
129+
\begin{figure}[h]
130+
\includegraphics[width=0.85\textwidth]{images/unix-timeline.png}
131+
\end{figure}
132+
133+
\footnotesize Source: \href{https://en.m.wikipedia.org/wiki/File:Unix_timeline.en.svg}{https://en.m.wikipedia.org/wiki/File:Unix\_timeline.en.svg}
134+
\end{frame}
135+
136+
\begin{frame}{Linux history}
137+
\begin{itemize}
138+
\item Created by Linus Torvalds in 1991
139+
\item Initially developed as a hobby project inspired by UNIX
140+
\item Released under the GNU General Public License (GPL)
141+
\item Although Linux is not technically UNIX, it follows the UNIX philosophy and provides similar functionality
142+
\item It became popular due to its open-source nature and flexibility
143+
\end{itemize}
144+
\end{frame}
145+
146+
\begin{frame}{GNU/Linux}
147+
\begin{minipage}[t]{0.6\textwidth}
148+
\begin{itemize}
149+
\item GNU Project initiated by Richard Stallman in 1983
150+
\item Aimed to create a free Unix-like operating system
151+
\item Linux kernel combined with GNU tools forms GNU/Linux
152+
\end{itemize}
153+
\end{minipage}
154+
\hfill
155+
\begin{minipage}[t]{0.35\textwidth}
156+
\begin{figure}[h]
157+
\includegraphics[width=0.7\textwidth]{images/tux.png}
158+
\end{figure}
159+
\end{minipage}
160+
\end{frame}
161+
162+
\section{Linux}
163+
164+
\begin{frame}{Linux supported platforms}
165+
\begin{itemize}
166+
\item x86 (32-bit)
167+
\item x86\_64 (64-bit)
168+
\item ARM (64-bit)
169+
\item AArch64 (ARM 64-bit)
170+
\item RISC-V (32-bit and 64-bit)
171+
\item PowerPC (32-bit and 64-bit)
172+
\item MIPS (32-bit and 64-bit)
173+
\item SPARC (32-bit and 64-bit)
174+
\item Itanium (IA-64)
175+
\item LoongArch
176+
\item and many others...
177+
\end{itemize}
178+
179+
\footnotesize Full up-to-date list: \href{https://en.wikipedia.org/wiki/List_of_Linux-supported_computer_architectures}{https://en.wikipedia.org/wiki/List\_of\_Linux-supported\_computer\_architectures}
180+
\end{frame}
181+
182+
\begin{frame}{Linux distributions}
183+
What is a Distribution?
184+
185+
A Linux distribution is an operating system made from a software collection, which includes the Linux kernel and often a package management system.
186+
187+
Examples:
188+
\begin{itemize}
189+
\item Ubuntu
190+
\item Fedora
191+
\item Debian
192+
\item Arch Linux
193+
\item Red Hat Enterprise Linux
194+
\end{itemize}
195+
\end{frame}
196+
197+
\begin{frame}{Debian and Ubuntu}
198+
\begin{minipage}[t]{0.65\textwidth}
199+
Debian:
200+
\begin{itemize}
201+
\item Debian was first created in 1993 by Ian Murdock
202+
\item One of the oldest distributions
203+
\item Known for its stability and robustness
204+
\end{itemize}
205+
\end{minipage}
206+
\hfill
207+
\begin{minipage}[t]{0.3\textwidth}
208+
\begin{figure}[h]
209+
\includegraphics[width=0.3\textwidth]{images/debian.jpg}
210+
\end{figure}
211+
\end{minipage}
212+
213+
\begin{minipage}[t]{0.65\textwidth}
214+
Ubuntu:
215+
\begin{itemize}
216+
\item Ubuntu was first released on October, 2004. It was developed by Canonical Ltd., founded by Mark Shuttleworth, a South African entrepreneur
217+
\item Based on Debian
218+
\item Created user-friendly and widely used for desktops
219+
\item Has regular releases and strong community support
220+
\end{itemize}
221+
\end{minipage}
222+
\hfill
223+
\begin{minipage}[t]{0.3\textwidth}
224+
\begin{figure}[h]
225+
\includegraphics[width=0.7\textwidth]{images/ubuntu.png}
226+
\end{figure}
227+
\end{minipage}
228+
\end{frame}
229+
230+
\begin{frame}{Package managers}
231+
\begin{itemize}
232+
\item \texttt{APT (Advanced Package Tool)} for Debian-based systems.
233+
\item \texttt{YUM/DNF} for Red Hat-based systems.
234+
\item \texttt{Pacman} for Arch Linux.
235+
\end{itemize}
236+
\begin{block}{Purpose of Package Managers}
237+
Package managers simplify the process of installing, updating, and removing software packages.
238+
\end{block}
239+
\end{frame}
240+
241+
\section{Basic Linux commands}
242+
243+
\begin{frame}{File system overview}
244+
\begin{figure}[h]
245+
\includegraphics[height=0.81\textheight]{images/linux-fs.png}
246+
\end{figure}
247+
248+
\footnotesize Source: \href{https://blog.fourninecloud.com/linux-file-system-hierarchy-explained-1d80b2cee03c}{Linux File System Hierarchy - Explained}
249+
\end{frame}
250+
251+
\begin{frame}{Files navigation}
252+
\begin{itemize}
253+
\item \texttt{pwd} : Print working directory
254+
\item \texttt{ls} : List directory contents
255+
\item \texttt{cd} : Change directory
256+
\item \texttt{mkdir} : Create a new directory
257+
\end{itemize}
258+
\begin{exampleblock}{Examples}
259+
\begin{itemize}
260+
\item \texttt{ls -l} : Detailed list
261+
\item \texttt{cd /home/user} : Navigate to user's home
262+
\end{itemize}
263+
\end{exampleblock}
264+
\end{frame}
265+
266+
\begin{frame}{File Manipulations}
267+
\begin{itemize}
268+
\item \texttt{touch} : Create an empty file or update timestamp
269+
\item \texttt{cp} : Copy files or directories
270+
\item \texttt{mv} : Move or rename files
271+
\item \texttt{rm} : Remove files or directories
272+
\item \texttt{cat} : Concatenate and display files
273+
\end{itemize}
274+
\begin{exampleblock}{Examples}
275+
\begin{itemize}
276+
\item \texttt{touch file.txt} : Create a new file
277+
\item \texttt{rm -r folder} : Remove a directory and its contents
278+
\end{itemize}
279+
\end{exampleblock}
280+
\end{frame}
281+
282+
\begin{frame}{Text Editors}
283+
\begin{itemize}
284+
\item \textbf{nano} : Simple text editor
285+
\item \textbf{vim} : Advanced text editor with modal editing
286+
\item \textbf{code} : Visual Studio Code (GUI only)
287+
\end{itemize}
288+
\begin{exampleblock}{Opening a File}
289+
\begin{itemize}
290+
\item \texttt{nano file.txt}
291+
\item \texttt{vim file.txt}
292+
\item \texttt{code file.txt}
293+
\end{itemize}
294+
\end{exampleblock}
295+
\end{frame}
296+
297+
\begin{frame}{Linux command line demo}
298+
Demo
46299
\end{frame}
47300

48301
\begin{frame}
@@ -51,6 +304,11 @@ \section{Introduction}
51304
\end{frame}
52305

53306
\begin{frame}{References}
307+
\begin{enumerate}
308+
\item The Linux command line for beginners \href{https://ubuntu.com/tutorials/command-line-for-beginners}{https://ubuntu.com/tutorials/command-line-for-beginners}
309+
\item The Linux command line for beginners \href{https://ubuntu.com/tutorials/command-line-for-beginners}{https://ubuntu.com/tutorials/command-line-for-beginners}
310+
\item Top 50+ Linux Commands You MUST Know \href{https://www.digitalocean.com/community/tutorials/linux-commands}{https://www.digitalocean.com/community/tutorials/linux-commands}
311+
\end{enumerate}
54312
\end{frame}
55313

56314
\end{document}

03-linux/03-linux.toc

+3
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
\beamer@sectionintoc {1}{Introduction}{3}{0}{1}
2+
\beamer@sectionintoc {2}{History}{6}{0}{2}
3+
\beamer@sectionintoc {3}{Linux}{11}{0}{3}
4+
\beamer@sectionintoc {4}{Basic Linux commands}{15}{0}{4}

03-linux/images/debian.jpg

8.22 KB
Loading

03-linux/images/gnu.png

59.6 KB
Loading

03-linux/images/linux-fs.png

397 KB
Loading

03-linux/images/tux.png

16.4 KB
Loading

03-linux/images/ubuntu.png

9.9 KB
Loading

03-linux/images/unix-timeline.png

51.2 KB
Loading

0 commit comments

Comments
 (0)