Linux basics Flashcards

1
Q

Czym jest linux?

A

Linux jest systemem operacyjnym podobnym do systemów z rodziny UNIX. Składa się z kilku elementów, które są niezbędne do jego funkcjonowania.

Linux jest otwartym systemem operacyjnym na komputery osobiste. Został wydany po raz pierwszy we wrześniu 1991 roku.
Po prawie 30 latach od zaprezentowania Linux jest szeroko wykorzystywany w motoryzacji, sprzęcie sieciowym oraz telefonach komórkowych. Od kwietnia 2017 roku Android (oparty na systemie Linux) jest najpopularniejszym systemem operacyjnym na świecie. System operacyjny Linux rozwijany jest przez społeczność. Znany jest z trwałości i bezpieczeństwa, jaki jest w stanie zaoferować, dzięki czemu używany jest w komercyjnych urządzeniach sieciowych i centrach danych. Klienci indywidualnie doceniają dużą możliwość personalizacji systemu do własnych potrzeb.

Linux was inspired by MINIX, which in turn was inspired by Unix.

Linux is based on a philosophy that software and operating systems should be free. Both free of cost and freely changeable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Czym jest jądro systemu?

A

Jądro (ang. kernel) to rdzeń całego systemu operacyjnego. Wysyła instrukcje bezpośrednio do procesora, pamięci RAM oraz urządzeń peryferyjnych.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Co to znaczy, że system jest unixowy /juniksowy/ ?

A

UNIX to system operacyjny, który jjest systemem wielozadaniowym – to znaczy, że w tym samym czasie może być wykonywane więcej niż jedno zadanie. Jest też wielodostępy – jednocześnie może być zalogowanych wielu użytkowników.

System UNIX jest systemem przystosowanym do pracy w sieci – pozwala na zdalne
wykonywanie poleceń. Ma strukturę hierarchiczną – jest zbudowany z katalogów o strukturze drzewiastej.

U podstaw systemu znajduje się katalog główny (ang. root) oznaczony przez /.
Ze względu na bezpieczeństwo w systemie mogą pracować tylko zarejestrowani użytkownicy.

Każdy użytkownik posiada swoje konto – obszar, w którym zgromadzane są dane
pojedynczego użytkownika – do którego dostęp chroniony jest hasłem.

1.Hierarchiczny system plików – wszystko jest plikiem.
2. Wielozadaniowość – możliwość uruchamiania wielu procesów jednocześnie.
3. Wielodostępowość – obsługa wielu użytkowników.
4. Interfejs wiersza poleceń (shell) – umożliwia interakcję z systemem poprzez tekstowe polecenia
5. Modułowa budowa – system składa się z wielu małych narzędzi, które można łączyć w potoki (ang. pipelines)
6. Obsługa uprawnień i użytkowników – każdy plik i proces ma właściciela oraz zestaw praw dostępu
7. Standard POSIX – zgodność z określonymi normami systemowymi.
8. Stabilność i bezpieczeństwo – odporność na awarie i ataki.
9. Obsługa skryptów – automatyzacja zadań poprzez skrypty.
10. Przenośność – działanie na różnych architekturach sprzętowych.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Jak mniej więcej zbudowany jest każdy system unixowy?

A

UNIX zbudowany jest z:
- jądra,
- powłoki oraz
- innych podsystemów i programów realizujących określone usługi np.: wydruk, czy obsługę plików
.
Jądro (ang. kernel) systemu zawiera zbiór programów odpowiedzialnych za zarządzanie
zasobami, np.: to właśnie jądro systemu decyduje o podziale czasu CPU pomiędzy aktualnie wykonywane zadania. Po uruchomieniu komputera jądro przejmuje nad nim kontrolę. Komunikacja użytkownika z jądrem odbywa się poprzez powłokę.

Powłoka (ang. shell) systemu UNIX zapewnia kontakt użytkownika z jądrem systemu. Po
rozpoczęciu pracy przez użytkownika system przydziela mu jako obszar pracy katalog
domowy i uruchamia program powłoki.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Co to jest CPU?

A

A central processing unit, czyli procesor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Name popular desktop Linux environments.

A

Popular desktop Linux environments are the GNOME Shell, KDE Plasma Desktop, LXQt, Cinnamon, MATE and XfcE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is primary way of interacting with a Linux system?

A

Primary method of interacting with the Linux system, the console. The console is a text-based interface where an interactive shell runs. Here we typed commands for the shell to run and the shell displays any returned information to us also in text form.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is shell?

A

The shell is the software we interact with using text commands and text outputs. There are a number of different shells out there with Bash being the most common. Other shells like Zshell, Cshell, fish, Kornshell and more can be found in different distros and they can all be installed on your system if you’d like to explore them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the console?

A

The console is a text-based interface where an interactive shell runs. Here we typed commands for the shell to run and the shell displays any returned information to us also in text form.

If the system is not running a graphical user interface and only has the text interface available, that’s considered a console.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

there are terminal emulators which run on Windows and Mac iOS that you can use to connect to a remote Linux computer. If it’s running software like _________ provides remote access.

A

SSH or secure shell

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are GNU coreutils?

A

Software package called the GNU coreutils, short for core utilities. Many of these coreutils are commands that we’ll commonly use when working in a shell. Including commands to copy and move files, to change permissions and security contexts, to view some status information and so on. Humans use these, the command line, and scripts and other programs can use them as well, to perform basic tasks.

GNU Coreutils lub coreutils – zbiór podstawowych narzędzi do obsługi plików, powłoki i tekstu w systemach uniksopodobnych.

Przykładowe GNU:
cat, which we use to display file contents,
CP, which is for copying files,
DF and DU, which show information about how much space is used up on the file system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Do you know any alternative for GNU coreutils?

A

Well, most distros* use the GNU coreutils, some use a different set of tools called BusyBox. It’s an alternative to GNU coreutils and it’s often found in small, or embedded systems. What makes BusyBox interesting is that it’s a single program, which offers many of the functions of common coreutils tools. It also offers a wide array of other tools as well.

*distro (pl. dystrybucje) - a distributor or distributed version, especially of Linux software or of webzines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is FHS?

A

To store data on a Linux system, we use files, and files are organized into directories or folders as they are on other operating systems. These files and directories make up the file system. In order to organize files consistently on Linux systems, most distributions follow the Filesystem Hierarchy Standard, or FHS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How files are organized in the Linux file system?

A

In the Linux file system, everything starts with the file system root, which is represented by a single slash. On a Linux system, there’s only one file system root.
You can think of the file system root kind of like the my computer level on a Windows system rather than the C drive.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How to find or plug in devices in the Linux system?

A

mnt or media are directories used for mounting or attaching other file systems, like you’d find on network shares and other disks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Where each user’s personal files are stored in the Linux system?

A

In the home directory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is bin, sbin and usr are in FHS?

A

bin, sbin, and usr are directories where programs of different types are kept

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Where system wide configuration files are stored?

A

In the etc directory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is var in FHS?

A

And var is where changeable or variable system information is kept.

This is where we’ll find system logs and logs for other software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are dev, proc, and sys directories? Are they really a directories?

A

These aren’t real directories at all. The dev, proc, and sys directories are created by the kernel to represent hardware available on the system, including all the systems hardware, processes that run programs, settings in the kernel, and so on.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

“File system” has two meanings?

A

Yes. While the layout of the files and directories is called the file system, the term file system is also used to refer to different strategies or data structures for storing and representing file data and file metadata. Those are things like ext4, btrfs, ZFS, XFS, and so on.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Multi-user operating systems are normal these days. Linux, Windows, and macOS are all multi-user. Who is Superuser?

A

On Linux systems, there’s also a superuser or administrator account called root, which has the ability, or the privilege as it’s known in the security model, to access any file on the system and to change settings on a system wide basis.
We can use the root account directly, or we can borrow its privileges if the account we’re using is empowered to do so using the su command for substitute user or sudo, which we can use to run a particular command using superuser privileges to do a particular task while substituting the root user for our own. However, we’ll rarely if ever actively use the computer under the root account. Not only is it a bad idea, it can cause problems that are tricky to resolve. Root can be thought of as a powerful and special tool

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are file permissions on the Linux system? How they are represented?

A

Permissions let us indicate whether a user, members of a particular group, or anyone at all can read from a given file, write data to it, or execute or run it. Permissions are often represented either as numbers or as letters, and in each case, they’re made up of three sections, one for the user, one for the group, and one representing all others. Each section represents the restrictions applied to the file for that audience.

A desktop environment can make working with permissions a little bit easier, and to make changes at the command line, we’ll use the chmod command and sometimes chown and chgrp.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What security packages like SELinux and AppArmor provide?

A

SELinux i AppArmor zapewniają bardzo szczegółowe mechanizmy kontroli bezpieczeństwa dla programów i użytkowników.

SELinux and AppArmor can provide very detailed security constraints and controls that applied to programs and users alike.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What makes a distro?
Distro = dystrybucja linuxa -Preinstalled tools -Decision about how the system operates and how it will br configured -What software is available through repositories -How and how long it is supported -Which variation of the Linux kernel is used
26
What is upstream kernel?
Very few distros come with what's called the upstream kernel. The official kernel maintained by the Linux foundation. Some distributions use a very updated version of the kernel and provide lots of additional software to develop the kernel and drivers. And those distributions are favored by developers and enthusiasts. Fedora is an example of this.
27
What is Fedora?
Fedora Linux is a Linux distribution developed by the Fedora Project. Fedora contains software distributed under various free and open-source licenses and aims to be on the leading edge of open-source technologies. Fedora is the upstream source for Red Hat Enterprise Linux.
28
Some distros ship with older kernels which can provide stability for systems that need to run for a long time without changes. Like servers and other production infrastructure. In these scenarios, we don't want to have new features added when we run software updates or risk features we use being removed or deprecated. What is an example of such distribution?
An example of this is CentOs
29
Some distributions are intended to run in embedded devices where they don't need to support any hardware other than the specific gear they're running on.What are examples of such distributions?
The operating systems available for the Raspberry Pi like Pandora and Raspbian are examples of this.
30
What are examples of distros with a fairly recent kernel version and a larger amount of drivers for common hardware? They are widely used on the desktop or are intended to be quite user-friendly.
Ubuntu Desktop, Linux Mint, OpenSUSE and other distros targeted at general desktop use are examples of this.
31
What network managers do you know?
The Ubuntu distribution for example, uses a system called Netplan to configure the network while Fedora and Red Hat use NetworkManager instead.
32
What package managers do you know?
Debian, Ubuntu, and a variety of other distros, use the apt package manager. While Fedora and Red Hat used DNF. Alpine Linux uses APK and openSUSE uses zypper.
33
What software packages do you know?
Software package can have different names and configurations across distros. The Apache HTTP server for example is called Apache2 on Ubuntu and httpd on Fedora. And these differences between distros can be distracting and frustrating for new Linux users especially when you find a tutorial that you want to follow or an answer to a question you have.
34
How to check what distro I am running?
you can usually find out in your desktops about screen or from the command line with the command cat/etc/*/release.
35
What are popular distros for servers?
In many cases, servers will run Red Hat Enterprise Linux, Debian server, or Ubuntu server and might run Fedora, Ubuntu Desktop, Linux Mint, or Arch Linux. Project boards like Raspberry PI might run Raspbian and Pandora. In many containers and embedded systems run Alpine Linux. These distros are all just different sets of tools including core utilities running on top of the Linux kerne
36
Which Linux distros are similar?
Many distros share a relationship to other distros. For example, Red Hat Enterprise Linux is related to Fedora. So most of the tools and configurations you'd use to work in one would be the same in the other. Ubuntu, Mint and many other distros are based on Debian. So again, using one of those will feel quite similar to using another. Along with Slackware, which is the predecessor to SUSE Linux, Red Hat and Debian round out the largest families of distros.
37
If I need a desktop environment, which distro should I try?
Ubuntu Desktop Linux. Other good choices for distribution to try first are Debian Desktop, Fedora Desktop, and Linux Mint
38
For example, if I'm learning how to use the shell or I'm administering a system that isn't going to be used with the GUI what, distros should I try?
I might consider a lighter weight distribution, which comes with a more minimal set of tools as we often find in the server versions of various distros, like Ubuntu Server and Debian Server and in their minimal versions as well.
39
I'm feeling adventurous xD What distros should I try?
If you're feeling adventurous you could explore starting out with other distros like Arch or Alpine
40
What is virtual machine?
Virtual machines provide the ability to run an operating system in a protected space on your computer, separate from your primary operating system. In a VM, we can install Linux and use it like it's a real computer but without affecting anything on the host system. The whole Linux system lives as a series of files on the host computer and can be copied to other systems too, should that become necessary.
41
What products provide VM (virtual machine) capability?
There are a few software tools that let us run virtual machines. VirtualBox is a free option for Windows and macOS systems, and Hyper-V is a free option on most versions of Windows. There are also commercial products that offer other features, including VMware Workstation for Windows, VMware Fusion for macOS, and Parallels Desktop for macOS. If you plan to use a virtual machine I recommend you take a look at VirtualBox because it's free and works on all major operating systems.
42
What is native install?
It is the situation when you install e.g. Linux operating system directly on you computer
43
What is Raspberry Pi?
Raspberry Pi is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom.The Raspberry Pi project originally leaned towards the promotion of teaching basic computer science in schools and in developing countries. You could use a hobby board like Raspberry Pi to run Linux as a native install that's reasonably portable.
44
Where Linux system can run?
Linux system should run: - on virtual machine, VM in short (accessible from anywhere) - as native install on your PC - on live boot environment - on cloud server - we can also create a Linux VM on a Windows 10 system
45
What is a live boot?
metoda uruchamiania systemu operacyjnego bez potrzeby instalowania go na dysku twardym. Można go uruchomić z pamięci USB lub przez kartę SD. Jest to dość powolny sposób, ale nie wpływa na Twój komputer. Nie zapisuje też zmodyfikowanych plików, więc trzeba użyć jakiegoś innego miejsca aby je zapisać
46
What does it mean that we install Linux on a Cloud Server?
We can use a cloud service to host a machine we can connect to remotely. This method of running Linux is not recommended if we need a desktop, but great for remorte access through SSH to a text interface
47
What are hosting services for running Linux on a Cloud Server?
We can do this with a hosting service like Microsoft Azure, Amazon Web Services, Google Cloud, Linode, DigitalOcean or other provide
48
What are manpages?
Manual pages or manpages are the way of consult the manual. Wpisujemy 'man' oraz nazwę komendy o której chcemy się coś dowiedzieć. man to skrót od manual. Aby wyjść klikamy 'q' So if you come across an unfamiliar command the manpages are a good first step in finding out what the command does and how to use it. You can navigate with the arrow keys, with F or B to move forward and backward and you can press Q to quit. The manpages are installed on most Linux distros, but not all of them. There are also a number of places online where you can view manpages, including man.he.net, manpages.net, and many others
49
How to find out what kernel version you're using?
you can find out what kernel version you're using by typing: uname -a
50
What is the software license for Linux?
The software license for Linux is called the GNU General Public License
51
Linux co to
darmowy system operacyjny z rodziny *nix. Tworzony przez społeczność i dystrybuowany na licencji GNU GPL
52
Jaka jest różnica między GNU a Linux?
Linux jest zwykle używany w połączeniu systemu operacyjnego GNU: cały system to w zasadzie GNU z dodatkiem Linuksa lub GNU/Linux. Wszystkie dystrybucje nazywane “Linuksem” są tak naprawdę dystrybucjami GNU/Linuksa.
53
Co to jest GNU
GNU (rekurencyjny akronim od ang. GNU’s not Unix) – uniksopodobny system operacyjny złożony wyłącznie z wolnego oprogramowania. GNU zapoczątkowany został przez Richarda Stallmana i był pierwszym projektem Free Software Foundation
54
GNU/Linux
Pierwsza wersja jądra Linux została udostępniona publicznie 17 września 1991 dla architektury komputera PC, wykorzystującego mikroprocesor o architekturze IA-32. Do jądra dołączono narzędzia systemowe zwane też „Development Kit” oraz biblioteki z projektu GNU, aby otrzymać nadający się do użytku system operacyjny. Z tego powodu powstała też alternatywna nazwa kompletnego systemu: GNU/Linux
55
Na czym oparty jest Ubuntu?
Na Debianie (fork)
56
Wydanie lts
Long term support Najbardziej stabilne wydanie danego systemu operacyjnego np. Ubuntu
57
Jakie mamy menadżery paczek na Ubuntu?
APT oraz DPKG
58
Jak nazywa się przykładowy desktop environment dla Ubuntu? Jakie są jego cechy?
Gnome - bardzo popularny - dużo zużywa profesora (CPU) oraz RAM
59
bin
Pliki wykonywalne (binarne) dla podstawowych narzędzi systemowych Kod wykonywalny od programów w systemie np. Kalkulator, notatnjn
60
/
ang. root Folder główny
61
Boot
Pliki jądra systemu oraz bootloader
62
Jak znaleźć zwykle pliki w systemie Ubuntu?
Służą do tego metody find i locate
63
find
Wyszukuje zwykle pliki w systemie Ubuntu, przeszukując folder w którym się aktualnie znajdujemy
64
locate
Przeszukuje nie drzewo plików jak find, a swoją własną bazę danych. Nie powoduje spowolnienia systemu jak find
65
Jak zlokalizować pliki wykonywalne (binarne) dla konkretnych programów?
Należy użyć komend: which lub where is
66
Ubuntu przewiduje 4 metody wyszukiwania w systemie. Są to...
1. find 2. locate 3. whereis 4. which
67
Przełącznik find -name thisfile.txt pozwala na...
wyszukanie pliku o podanej nazwie. Wielkość liter ma znaczenie. find wyszukuje po drzewie plików.
68
Przełącznik find -iname thisfile.txt ...
pozwala na wyszukanie pliku o danej nazwie w drzewie plików bez uwzględnienia wielkości liter
69
Przełącznik find -type typ ...
pozwala na wyszukanie plików określonego typu (pliki, katalogi, linki symboliczne)
70
updatedb to komenda, która po wpisaniu do terminala powoduje ...
odświeżenie bazy danych o nowo dodane pliki (somoczynnie baza robi to co 24h)
71
Przełącznik locate -c plik
zlicza liczbę wystąpienia nazwy w bazie danych
72
which plik1
wskazuje ścieżkę do pliku wykonywalnego dla wyszukiwanego programu
73
whereis plik1
wyszukuje plik wykonywalny (binarny) dla określonego programu, ale dodatkowo zwraca również man i help
74
Co to jest kompresja danych?
Kompresja danych to zmiana sposobu, w którym zapisujmy dane tak, aby zwiększyć ich gęstość przy zachowaniu oryginalnego przekazu
75
Istnieją dwa główne rodzaje kompresji danych. Jakie?
1. Stratna 2. Bezstratna
76
Na czym polega kompresja stratna?
kompresja stratna ogranicza wielkość pliku poprzez odrzucenie części bitów. Zmniejsza jakość pliku. np. jpeg, mp3
77
Na czym polega kompresja bezstratna?
kompresja bezstratna stosuje zaawansowane algorytmy transformacji danych. Nie ucina żadnych bitów oryginału (odtworzenie oryginału bez żadnej straty) np. flac, odd
78
tar, co to?
tar to narzędzie do archiwizacji danych (kiedyś na taśmach gdyż ulegają zniszczeniu później niż dyski twarde, 100 vs 20 lat). Jest używane do tworzenia hierarchicznego i jednolitego archiwum danych w postaci jednego pliku.
79
gzip, co to?
gzip to narzędzie do kompresji archiwów utworzonych przez narzędzie tar. gzip nie występuje samodzielnie i ,,wtrąca" się do archiwum tar kompresując strumień danych nim zostanie zarchiwizowany.
80
Przełącznik tar -c służy do:
utworzenia archiwum (create)
81
Przełącznik tar -x służy do:
rozpakowania archiwum (extract)
82
Przełącznik tar -z służy do:
zainicjowania kompresji lub dekompresji (zip)
83
Przełącznik tar -v służy do:
wyświetlenia efektu działania tar w konsoli (verbose)
84
Przełącznik tar -f służy do:
nadania własnej nazwy archiwum
85
Czy można nadawać uprawnienia wszystkim użytkownikom w systemie Linux?
Linux umożliwia nadanie użytkownikom określonych - uprawnień oraz - własności do wszystkich plików w systemie
86
root
pełny administrator systemu Linux Może wykonywać wszystkie działania administracyjne
87
sudo
komenda, która pozwala zwykłemu użytkownikowi wykonanie akcji z uprawnieniami administratora w danym momencie
88
Co to oznacza elewacja uprawnień?
jest to użycie uprawnień roota do wykonania jakiejś komendy metodą do elewacji uprawnień jest sudo
89
Jak stworzyć nowego użytkownika w systemie?
useradd -m nazwaużytkownika -m tworzy dla niego katalog Domyślnie się tworzy ten użytkownik bez hasła. Aby nadać mu hasło używamy komendy: passwd nazwaużytkownika
90
Aby wiedzieć na jakiego użytkownika się zalogowaliśmy używamy komendy....
who am i
91
Jak przejść na innego użtkownika?
Służy do tego komenda su (switch user). su - to komenda która oprócz przełączenia użytkownika czysci zmienne środowiskowe
92
sudo su
przelogowuje na użytkownika root
93
id
komenda zwraca nam informacje o: - uid (user identifier usera) - gid (group identifier) - nazwy grup do których jesteśmy przypisani
94
ls -lAh
zwraca informacje o uprawnianich
95
Zapisy typu: d rwx rwx rwx - rw - r- - r - - to?
Uprawnienia d oznacza katalog (jeszcze może być w tym miejscu - który oznacza plik lub l który oznacza link) rwx uprawnienia użytkownika rwx uprawnienia jego gruoy rwx inni, ani w grupie ani użytkownik
96
rwx w uprawnieniach to skrót od ....
r - read (odczyt) w - write (zapis) x - execution (wykonanie)
97
Co to znaczy, że plik ma uprawnienia 6 6 4?
r - read (4) w - write (2) x - execution (1) odczyt/zapis 6 rw odczyt/zapis 6 rw 4 odczyt r 7 to pełne uprawnienia 6 to zapis i odczyt 4 to odczyt
98
chmod
change modifier komenda, która przypisuje uprawnienia chmod u+rwx plik1 W tej komendzie u/g/o/a users/ groups/ others/ all r/w/x read/ write/ execute chmod +rwx plik1 przypisuje wszystkim (all)
99
chmod
change modifier komenda, która przypisuje uprawnienia chmod u+rwx plik1 W tej komendzie u/g/o/a users/ groups/ others/ all r/w/x read/ write/ execute chmod +rwx plik1 przypisuje wszystkim (all)
100
uprawnienia rwx to numerycznie?
7 bo 4 + 2 + 1
101
Jak edytować własność danego pliku?
chown panda plik1 oznacza ustaw uzytkownika panda jako właściciela plik1
102
Jak zainstalować aplikacje zewnętrzne w systemie Ubuntu?
Za pomocą: - APT - paczki DEB - wprost ze źródła
103
apt
polecenie służące do instalacji zewnętrznych programów. Pokazuje postęp instalacji.
104
apt - jak użyć?
Trzeba wyszukać w systemie plik sources.list, który zawiera bazę programów, które mogą być zainstalowane. Znajduje się on w lokalizacji: etc/apt/sources.list Następnie wpisujemy do terminala: sudo apt install program
105
apt search program1
wyświetla listę z zewnętrzymi źródłami paczek z programem, który nas insteresuje
106
apt update
aktualizuje lokalną kopię® repozytorium (bazę programów)
107
apt update
aktualizuje lokalne repozytorium dostepnych programów (bazę programów)
108
apt remove program1
odinstalowuje (usuwa) paczkę o nazwie program1 (bez usuwania pakietów pomocniczych do działania tego programu)
109
apt purge program
odinstaluj/usuń program oraz paczki pomocnicze konieczne do działania tego programu
110
apt upgrade
aktualizacja całego pakietu apt (całego programu a nie tylko repozytorium dostępnych programów)
111
Jak zainstalować program przy użyciu deb?
Jeśli mamy GUI to możemy kliknąć 2x na plik .deb (jak na plik .exe w Linuxie) Jeśli nie mamy GUI to : 1.pobieramy paczke/plik z rozszerazeniem deb 2. wpisujemy w terminal: dpkg -i program1.deb i od install 3. aby usunąć program dpkg -r program1.deb r od remove
112
dpkg to skrót od
package manager for Debian
113
dpkg -i program.deb -i to skrót od?
Install
114
dpkg -r program.deb -r to skrót od?
Remove
115
Co to są logi
Ubuntu zapisuje wszystkie wykonywane operacje oraz wydarzenia systemowe w postaci plików zwanych logami. Pliki te znajdują się w katalogu /var/log.
116
sudo demesg
Komenda wyświetlająca logi systemowe
117
cat plik log
Gdy chcemy podejrzeć logi konkretnego pliku
118
Sterowanie logami (pliki mówiące w jakiej częstotliwości i jak się zapisuja logi) /etc/logrotate.d /etc/logrotate.conf
cat/etc/logrotate.d rotate 12 (zachowaj 12 plików z logami) monthly compress (spakuj stary) missingok (nie wyświetlaj błędu jeśli nic nie ma( notifempty (nie rotuj gdy plik z logiem jest pusty)
119
Jak zalogować się do roota
sudo su
120
Jak b wylogować się z roota
exit
121
Jak śledzimy plik loga z automatycznym odświeżaniem?
tail -f
122
Ctrl + c
W terminalu wysyła zadanie zerwania obecnej sesji terminala
123
Podaj 3 komendy zajmujące się przekierowaniem strumienia danych z 1 źródła do 2 źródła
PIPE TEE XARGS
124
Pipe
Pipe pozwala na przekierowanie wyniku jednej komendy jako dane wejściowe drugiej komendy Komenda1 | Komenda2 Np. ps | grep cośtam W liście procesów wyszukaj po grepie frazę 'cośtam'
125
tee
tee read from standard input and write to standard output and files Komenda tee pozwala na jednoczesne przekierowanie strumienia danych do pliku, na konsolę i do innego programu.
126
ping google.pl | tee ping.txt
Wyświetl wynik komendy ping google.pl, jednocześnie zapisz go do pliku ping.txt
127
ping google.pl | tee -a ping.txt
Wyświetl wynik komendy ping google.pl, jednocześnie dopisz go do pliku ping.txt nie kasując jego zawartości
128
_ping google.pl | tee ping.txt ping2.txt
Wyświetl wynik komendy ping google.pl, jednocześnie zapisz go do pliku ping.txt i ping2.txt
129
ping google.pl | tee ping.txt head -2
Uruchom komende ping google.pl, zapisz wynik całej komendy do pliku ping.txt oraz przekaż dane do komendy head -2 i wyświetl wynik na konsoli
130
ping
Ping or Packet Internet Groper to narzędzie do zarządzania siecią używane do sprawdzania stanu połączenia między komputerem źródłowym a docelowym komputerem / urządzeniem przez sieć IP. Pomaga także ocenić czas wysłania i odebrania odpowiedzi z sieci. Wszyscy mamy swoje ulubione strony internetowe, które często odwiedzamy; jeśli którykolwiek z nich się nie ładuje, naprawdę chcemy wiedzieć, dlaczego tak się stało. Czy to dlatego, że nie mamy połączenia z internetem, czy może problemy z naszym dostawcą usług internetowych uniemożliwiają nam dostęp do strony. Innym powodem może być niedostępność samej witryny. Bez względu na przyczynę, polecenie Linux Ping może dostarczyć wszystkich odpowiedzi
131
echo
echo - Wyświetlanie tekstu ze standardowego wejścia (klawiatura) Za pomocą polecenia echo, możemy wyświetlić w terminalu tekst, który wpiszemy z klawiatury. Również za pomocą polecenia echo możemy przenieść tekst do pliku.
132
Xargs
Komenda xargs przyjmuję strumień wyjścia poprzedzającego programu i przekazuje go do kolejnego, w postaci jej argumentów, a nie strumienia.
133
Cron
Cron to program systemowy (dedykowany dla Linuxa), który pozwala wykonywać zadane skrypty i programy zgodnie z ustalonym harmonogramem.
134
Cron
Cron – najprościej mówiąc jest do program do cyklicznego uruchamiania innych programów, skryptów, demonów w określone dni o wskazanej porze. Do określenia co i kiedy ma być wykonane, cron wykorzystuje crontab, czyli plik,
135
Crontab
Każdy użytkownik systemu Linux posiada swój własny crontab, który ma ten sam zestaw uprawnień własności. Przełącznik -e umożliwia edycję tablicy cron w celu dodania lub usunięcia wpisów.
136
Składnia crona
*****/ścieżka/do/komendy ***** to harmonogram, gdzie kolejne gwiazdki oznaczają * minuta (0-59) * godzina (0-23 gdzie 0 to północ) * dzień 1-31 * miesiąc 1-12 * dzień tygodnia 0-6 (gdzie 0 to niedziela)
137
crontab -l
Wyświetl zawartość tablicy cron w konsoli
138
crontab -r
Całkowicie usuń tablicę cron dla tego użytkownika
139
Zmienna środowiskowa
Zmienna środowiskowa to zmienna, która zawiera informacje, dostępne nie dla pojedynczego programu, ale całego systemu operacyjnego i jego programów użytkowych. Składa się z pary klucz=wartość.
140
date
Komenda wyświetlająca bieżącą date z formatowaniem domyślnym
141
Zmienna PATH
PATH jest wyjątkową zmienną, która zbiera wszystkie ścieżki, w których system operacyjny poszukuje programów do uruchomienia. Jeśli program nie istnieje w zmiennej PATH, jego wywołanie wymagać będzie podania pełnej ścieżki zamiast samej nazwy.
142
export ZMIENNA=klucz
Komenda export pozwala dodać nową zmienną środowiskową do listy. W przeciwieństwie do zwykłej zmiennej, export działa zarówno na istniejącą powłokę, jak i jej procesy potomne. Przykład: export PATH=$PATH:/usr/bin/zip Tutaj nieco inna składnia, najpierw do PATHA przypisujemy to co już jest w PATHie a dopiero potem dodajemy kolejna ścieżkę po :
143
env
Komenda env zwraca na konsoli wszystkie zapisane zmienne środowiskowe. Pozwala również na dodanie zmiennej środowiskowej (jak export) w momencie uruchomienia komendy. env | grep
144
set
set przełącznik -o opcja Komenda set pozwala zarządzać ustawieniami samej powłoki, np. wyłączając lub włączając historię wpisanych komend. Przykład: set -o history - historia komend set -x - tryb "debug", wyświetla każdą wykonaną komendę set -e - w przypadku wydania kilku komend wykonywanie zatrzyma się przy pierwszym błędzie
145
Powłoka systemowa
Powłoka systemowa zwana również shellem to program, który pośredniczy w wymianie informacji pomiędzy systemem operacyjnym a użytkownikiem. PANDA ACADEMY
146
Jak na stałe dodać zmienną środowiskowa
Dodajemy ja do .bash_profile lub .bashrc .bash_profile wykonywany jest podczas każdorazowego logowania na daną maszynę (lokalnie lub zdalnie) .bashrc wykonywany jest gdy jesteśmy już zalogowani na danym komputerze otwieramy kolejną konsolę
147
Skrypty Linux
Własne pliki binarne z których możemy potem korzystać
148
Aby móc pisać skrypt
- otworzyć plik o rozszerzeniu sh - umieścić w nim shebanga
149
Co to jest shebang?
Shebang to sekwencja znaków umieszczonych na początku skryptu (#!), po której wskazuje się interpreter języka w którym będziemy pisać ten skrypt, np: #!/bin/bash - dla skryptów Bash #!/usr/bin/python - dla skryptów Pythona
150
Co to jest edytor nano?
Konsolowy edytor tekstu dla systemów GNU/Linux. Stosunkowo prosty i łatwy w obsłudze. Jest standardowo dostępny w powłoce dla kont hostingowych Otwieramy go komenda $nano Otwieranie pliku edytorem nano: $nano nazwa_pliku np: nano .htaccess
151
Proces to aktualnie wykonywany przez procesor ciąg poleceń, który może być całym programem lub jego częścią. Tylko jeden proces może być wykonywany przez jeden rdzeń jednocześnie.
152
Jakie są 2 główne rodzaje procesów ?
background (w tle) Proces działający w tle (inaczej też nieinteraktywny lub automatyczny) nie jest podpięty do żadnego aktywnego terminala i nie wymaga aktywności użytkownika. foreground (aktywny) Proces aktywny (zwany też interaktywnym) jest podpięty pod działającą instancję terminala może wymagać aktywności od użytkownika. Zamknięcie terminala powoduje zabicie procesu aktywnego.
153
Subproces nazywamy
wątkiem
154
Każdy proces (oprócz init i systemd) ma swój proces _____
rodzica
155
Zabicie procesu rodzica
Powoduje jednoczesne zabicie wszystkich jego wątków i procesów dzieci
156
Zabicie procesu rodzica i nie zabicie poprawnie procesu dziecka powoduje
Powstanie procesu zombie
157
pid
Każdy zainicjowany proces posiada swój własny, unikalny numer PID (proces identificator), za pomocą którego można go rozpoznać i nim sterować. Nadrzędnym procesem z PID 1 jest init (w teraźniejszych systemach - systemd)
158
Co to jest kubernetes
Kubernetes (lub K8s) to popularna platforma open source do orkiestracji kontenerów - czyli do zarządzania aplikacjami zbudowanymi z wielu, w dużej mierze samodzielnych runtime’ów zwanych kontenerami.
159
Co to jest docker
Docker to platforma konteneryzacji typu Open Source. Umożliwia programistom pakowanie aplikacji w kontenery — standardowe wykonywalne komponenty łączące kod źródłowy aplikacji z zależnościami i bibliotekami systemu operacyjnego wymaganymi do uruchomienia tego kodu w dowolnym środowisku
160
Dockerfile
Dockerfile. Jest to zwykły plik tekstowy o nazwie Dockerfile (brak rozszerzeń, sama nazwa), który zawiera szereg instrukcji, dzięki którym damy radę stworzyć w pełni funkcjonalny obraz. Obraz ten będzie zawierał wszystko, co jest nam potrzebne do uruchomienia opisanej aplikacji
161
Docker Compose
Docker Compose is a tool for running multi-container applications on Docker defined using the Compose file format
162
Wymień stany procesow w systemie Linux
Running Proces jest aktualnie wykonywany w trybie użytkownika lub jądra (kernel) Ready to run Proces czeka w kolejce do wykonania Waiting Proces czeka na zewnętrzne zdarzenie (np. odczyt pliku, wciśnięcie klawisza) Stopped Proces zamrożony (np. do debugowania), zazwyczaj za pomocą sygnału Zombie Porzucony, nieżywy proces, który nie został poprawnie zamknięty i usunięty z tablicy
163
Sygnały procesów
SIGHUP 1 kill -1 PID Sygnał wyłączenia terminalu kontrolującego proces SIGINT 2 kill -2 PID Sygnał przerwania procesu (z klawiatury ctrl + c) SIGQUIT 3 kill -3 PID Sygnał wyjścia z procesu (z klawiatury ctrl + d) SIGKILL -9 kill -9 PID Sygnał wymuszonego zabicia procesu SIGTERM 15 kill -15 PID Sygnał zabicia procesu (domyślny) SITSTP 20 kill -20 PID Sygnał zatrzymania procesu (z klawiatury ctrl + z)
164
ps -a
Wyświetla wszystkie procesy terminali
165
ps -ax
Wyświetla wszystkie procesy inne niż terminale
166
ps -U user
Wyświetla wszystkie procesy dla danego użytkownika
167
ps -k (+-)pid
Sortuj wyniki rosnąco lub malejąco względem podanego nagłówka (tutaj PID)
168
daemon
Proces specjalny. Proces działający w tle, nie przypisany do żadnej konsoli i nie wymagający interakcji z użytkownikiem Zazwyczaj czeka w uśpieniu na polecenia z innych programów i uaktywnia się tylko by odesłać odpowiedź. Od procesów w tle różnią się tym, że po awarii są automatycznie odnawiane przez system.
169
service
Proces specjalny. Service (serwis) jest specjalnym rodzajem procesu, który odpowiada na zapytania innych programów przez predefiniowany kanał komunikacji (głównie sieć). Różni się tym od daemona, że może pracować z użytkownikiem i w tle jednocześnie (np. interfejs GUI do transferu plików)
170
Co to jest vim?
edytor tekstu w środowiskach uniksowych i w Linuksie.
171
vi command
means enter the vi editor
172
vi plik.vi
enter the file 'plik.vi' and edit it using vi editor
173
Systemctl
Systemctl umożliwia większą kontrolę nad serwisami i daemonami (procesami). Posiada wiele przełączników: start, stop, enable, disable,crestart, status, reload
174
pstree
Wyświetla drzewo procesów
175
pidof program
Podaje id danego programu
176
top
top - display Linux processes top to komenda, dzięki której można na żywo obserwować zużycie zasobów komputera
177
nice I renice
nice run a program with modified scheduling priority renice alter priority of running processes Linux posiada 140 stanów priorytetu. Stany 1-99 zarezerwowane są dla Kernela i ustalane w PRI. Istnieją jednak dodatkowe stany zwane Nice, które przyjmują wartość od -20 do +19 (100-139) i są sterowane przez użytkownika.
178
free -h
Ile zostało pamięci RAM
179
df
df report file system disk space usage du estinate file space usage df Wyświetla całkowity rozmiar dysku, podzielony na namespace'y oraz ilość pozostałej wolnej przestrzeni w każdym z nich. du Wyświetla jedynie wielkość plików dodatkowych, wgranych do systemu przez użytkownika, nie włączając żadnych plików
180
fdisc gdisk
fdisk Narzędzie do wyświetlania i zarządzania partycjami MBR. Wykorzystywany do dysków mniejszych niż 2TB. gdisk/parted Narzędzia do wyświetlania zarządzania partycjami GPT, z automatyczną opcją konwersji z MBR do GPT Służy do zarządzania dyskami większymi niż 2TB
181
Cut
Komenda cut pozwala na wyekstraktownie z pliku dokładnie sprecyzowanych danych i wyświetlenie ich na konsoli.
182
cut -c
cut -c [zasięg] plik Przełącznik -c pobiera z pliku wskazany zasięg znaków. Przykłady: cut -c 1,2,3 auta.txt cut -c 1-3, 7-9 auta.txt cut -c 4-auta.txt (wybierz znaki od 4 w górę) cut -c -4 auta.txt (wybierz znaki do 4)
183
Prasować
Parsowanie danych polega na przetwarzaniu informacji, ich porządkowaniu i dostarczaniu gotowych danych.
184
cut -f
cut -f [liczba] plik Przełącznik -f nie rozróżnia pojedynczych znaków lub bitów, a jedynie wyrażenia oddzielone od siebie tzw. delimiterem (domyślnie tabel) Przykłady: cut -f 1 auta.txt Wyciąga dane oddzielone 1 tabem
185
cut -d
cut -d "delimiter" plik Przełącznik -f obsługuje domyślny delimiter w postaci znaku „tab". Przełącznik -d pozwala zdefiniować własny delimiter ( np. spacja) Przykłady: cut -d " " -f 2 auta.txt Wyciąga dane za 2 spacja cut -d "," -f 5 auta.txt cut -d "," -f 2,3,5 auta.txt
186
sed
Komenda sed umożliwia zaawansowaną edycję plików tekstowych bez ich otwierania, włączając: wyszukiwanie, dodawanie, zamienianie i usuwanie znaków, wyrazów i całych linii.
187
sed: zamiana słowa sed s/slowo1/slowo2/plik
Przełącznik s (substitute) pozwala na zamianę pierwszego wystąpienia słowa w każdej linii pliku tekstowego na inne słowo (lub pojedynczy znak). Przykłady: sed s/Czarny/Zielony/ auta.txt Zastępuje tylko 1 wywołanie
188
sed
Nie zapisuje wyników na pliku, tylko trzyma je w swojej pamięci
189
sed: zamiana słowa sed s/slowo1/slowo2/plik
Przełącznik s (substitute) pozwala na zamianę pierwszego wystąpienia słowa w każdej linii pliku tekstowego na inne słowo (lub pojedynczy znak). Przykłady: • sed s/Czarny/Zielony/auta.txt PANDA ACADEMY
190
sed: zamiana słowa sed s/slowo1/slowo2/g plik
g od global Przełącznik g po ostatnim delimiterze pozwala podmienić wszystkie wystąpienia danego słowa. Przykłady: sed s/20/25/g auta.txt
191
sed: zamiana słowa sed s/slowo1/slowo2/g plik
g od global Przełącznik g po ostatnim delimiterze pozwala podmienić wszystkie wystąpienia danego słowa. Przykłady: sed s/20/25/g auta.txt
192
sed: zamiana słowa sed s/slowo1/slowo2/2g plik
Dodanie cyfry przed przełącznikiem g pozwala podmienić wszystkie wystąpienia słowa od wskazanego (2) do końca linii (g) Przykłady: sed s/20/25/2g auta.txt
193
sed: zamiana słowa sed "n s/slowo1/slowo2/" plik
Dodanie cyfry na początku komendy pozwala dokonać zmian jedynie w wybranej linii (lub zakresie, gdzie $ oznacza ostatnią linię) Przykłady: sed "3 s/20/25/" auta.txt sed "1,$ s/20/25/" auta.txt sed "2,4 s/20/25/" auta.txt
194
sed: pokazywanie zmian sed -n s/slowo1/slowo2/p plik
Przełącznik -n, wraz ze znakiem p po ostatnim delimiterze pozwala wyświetlić tylko linie, których dotyczyła zmiana. Przykłady: sed -n s/20/25/p auta.txt
195
sed: usuwanie linii sed nd plik
Pozwala usunąć wybraną linię Przykłady: sed 5d auta.txt sed 3,5d auta.txt sed /wzórdousuniecia/d auta.txt
196
sed: wykonywanie zmian sed -i
Komenda sed -i zapisuje zmiany bezpośrednio do pliku, z którego czyta zamiast wyświetlać zmiany na ekranie. Przykłady sedi 5d auta.txt
197
Jeśli sed nie działa to...
bierzemy wyrazenie, które chcemy wykonać w cudzysłów sed "s/ /_/g" auta.txt
198
awk
awk to wbudowany w większość popularnych dystrybucji Linux język skryptowy służący manipulowaniu danymi i generowaniu raportów.
199
awk składnia
awk opcje 'kryteria_wyboru {akcja}' plik_wejścia > plik_wyjścia
200
awk: podstawowe użycie awk '{print}' plik
Podstawowym zadaniem komendy awk jest wyświetlanie zawartości podanego pliku. Przykłady: awk '{print}' auta.txt
201
awk: ograniczone wyniki awk '{print $n}' plik
Aby zawęzić wyświetlany wynik do konkretnych rzędów należy po akcji wpisać $n (gdzie n stanowi liczbę). Awk umożliwia wyświetlanie wielu rzędów jednocześnie. Przykład: awk '{print $1}' auta.txt
202
awk: kryteria wyboru '/kryterium/ {akcja}'
Aby zawęzić wyniki wyszukiwania należy podać kryterium wyszukiwania pomiędzy dwoma slashami,,//". Przykłady: awk '/Fiat/ {print)' auta.txt
203
awk: wbudowane zmienne
NR Przechowuje numer rzędu z pliku wejściowego NF Przechowuję liczbę pól z każdego rzędu z pliku wejściowego FS Przechowuje separator pól (domyślnie spacja lub tab) RS Przechowuje separator linii (domyślnie znak nowej linii /n) OFS Przechowuje separator pól, którym rozdzielane są dane na wyjściu ORS Przechowuje separator linii, którym są rozdzielane linie na wyjściu
204
awk: przykład zastosowania zmiennych
Wyświetla rząd każdego z wyświetlanych pól Przykłady: awk '{print NR}' auta.txt awk '{print NR "-" $1}' auta.txt
205
awk bloki begin i end
awk 'BEGIN {print xxx} BEGIN pozwala na wykonanie akcji jeszcze przed procesowaniem pliku (pozwala np. wyświetlić nagłówek, albo sprawdzić warunek) {standardowa składnia} W środku zastosowanie ma podstawowa składnia END {print xxx}' plik END pozwala na wykonanie akcji już po zamknięciu pliku (pozwala np. wyświetlić stopkę lub ponownie sprawdzić warunek)