PJs list Flashcards

(215 cards)

1
Q
  1. Linux. Filesystem
    home
A

home
katalogi domowe użytkowników, dokumenty, muzyka i wszystkie inne pliki danego użytkownika

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. Linux. Filesystem
    root
A

root
katalog domowy użytkownika root

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. Linux. Filesystem
    bin
A

bin
pliki binarne dla podstawowych narzędzi systemowych, programów

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. Linux. Filesystem
    etc
A

etc
pliki konfiguracyjne i ustawienia systemowe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. Linux. Filesystem
    lib
A

lib
pliki bibliotek do programów z katalogów /bin i/ sbin

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. Linux. Filesystem
    var
A

var
pliki ulegające zmianom: logi, bazy danych itp.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. Linux. Filesystem
    /
A

/
folder główny (root)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. Linux. BASH
    Bash komendy:
    pwd
A

bieżący katalog
(ang. print working directory) - wyświetla ścieżkę do katalogu, w którym aktualnie się znajdujesz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. Linux. BASH
    Bash komendy:
    find
A

wyszukiwanie plików/katalogów
(ang. find)

Polecenie find w sposób rekurencyjny wyszukuje pliki w podanych katalogach według zadanego kryterium i opcjonalnie wykonuje podane polecenia dla znalezionych plików.

DODATKOWE INFO:
Możliwości tworzenia kryteriów są dosyć rozbudowane, więc podamy tylko kilka przykładów wykorzystujących tylko niektóre opcje.

Najczęściej find służy po prostu do szukania plików. Na przykład, aby znaleźć wszystkie zwykłe pliki (wyłączając katalogi) o rozszerzeniach c, cpp i h w katalogu kat, można użyć polecenia:
find kat -type f ( -name “.c” -o -name “.cpp” -o -name “*.h” )
Opcja -type f powoduje, że wyświetlone będą tylko pliki. Następny warunek, który musi być spełniony, aby dany plik był wyświetlony znajduje się w nawiasach. Są to trzy opcje -name, określające możliwe rozszerzenia, połączone opcjami -o, które pełnią rolę logicznego operatora OR.

Jest szereg opcji kontrolujących format wyświetlania znalezionych plików. Np.
find kat -printf “%f\n”
wyświetli samą nazwę pliku bez ścieżki do katalogu, w którym dany plik się znajduje.

find może być używany do usuwania plików. Np.
find kat -type f ( -name “~” -p -name “.bak” ) -delete
usuwa rekurencyjnie wszystkie pliki backupowe z katalogu kat.

Można też kazać wykonać jakieś polecenie, które operuje na znalezionych plikach. Np.
find kat -name dok.txt -exec bash -c ‘echo -e “\nAutor: Jan Kowalski”&raquo_space; {}’ \;
Powyższe polecenie dla wszystkich plików o nazwie dok.txt znajdujących się w katalogu kat doda na koniec pliku podpis ‘Autor: Jan Kowalski’
Opcja -c dla polecenia bash powoduje wykonanie argumentu w nowym shellu. Tym argumentem jest polecenie
echo -e “\nAutor: Jan Kowalski”&raquo_space; {}
gdzie symbol {} polecenie find zastępuję nazwą znalezionego pliku wraz ze ścieżką.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. Linux. BASH
    Bash komendy:
    ls
A

lista plików i katalogów (ang. list) - wylistowuje wszystkie elementy, które znajdują się w danej lokalizacji

DODATKOWE INFO:
. obecny katalog
. . katalog nadrzędny

Komenda ls może przyjmować wiele argumentów:

-R wyświetla zawartość katalogów rekurencyjnie, czyli rozwija wszystko ( katalogi i podkatalogi)
-h output sizes in human readable format
-a wyświetla wszystkie pliki, również pliki ukryte; w Linuksie pliki ukryte to takie, które zaczynają się od kropki
-l wyświetla dokładną informację o każdym z plików (atrybuty, rozmiar, datę modyfikacji, itp.)
-t sort the list by modification time. Default is alphabetically.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. Linux. BASH
    Bash komendy:
    cd
A

zmiana katalogu (ang. change directory)

cd zmienia aktualny katalog na katalog podany w argumencie polecenia. Wywołanie cd bez argumentów zmienia katalog na katalog domowy aktualnego użytkownika.

DODATKOWE INFO:

~
katalog domowy aktualnego użytkownika

~/kat1
katalog kat1 w katalogu domowym aktualnego użytkownika

~ktos
katalog domowy użytkownika o loginie ktos

~ktos/kat1/kat2

katalog kat1/kat2 w katalogu domowym użytkownika o loginie ktos

Przypomnijmy, że są też następujące katalogi:

. bieżący katalog
.. katalog nadrzędny
/ katalog główny

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. Linux. BASH
    Bash komendy:
    mkdir
A

tworzenie katalogu (ang. make directory)

-p tworzy nowy plik i całą ścieżkę do niego
DODATKOWE INFO:
Tworzy katalog podany jako argument. Z opcją -p tworzy również katalogi, które są potrzebne do utworzenia katalogu docelowego. Na przykład jeśli wywołamy

mkdir kat1/kat2
to, aby utworzyć kat2, musi istnieć kat1, a jeśli wywołamy

mkdir -p kat1/kat2
to, jeśli nie istnieje kat1, to jest tworzony i dopiero potem następuje utworzenie kat2 w katalogu kat1.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. Linux. BASH
    Bash komendy:
    rmdir lub rm
A

ang. remove directory lub remove

rmdir usuwa katalog tylko wtedy, gdy jest on pusty

rm usuwa katalog wraz z jego zawartością

DODATKOWE INFO:
Możemy poprosić o pytanie przed usunięcie każdego pliku dodając opcję -i. Możemy także poprosić o to, aby nie pojawiały się żadne pytania dodając opcję -f. Przy tej opcji trzeba zachować ostrożność.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. Linux. BASH
    Bash komendy:
    cp
A

kopiowanie plików/katalogów (ang. copy)

DODATKOWE INFO:
cp plik1 plik2

kopiuje plik1 i zapisuje go jako plik2, jeśli plik2 istnieje, to go nadpisuje,

cp plik1 … plikn katalog

kopiuje pliki do katalogu, jeśli jakiś plik istnieje już w katalogu docelowym, to zostaje on nadpisany,

cp -a katalog1 katalog2

kopiuje rekurencyjnie katalog1 wraz zawartością; jeśli katalog2 istnieje, to kopia katalog1 zostanie umieszczona w tym katalogu, tzn. po wykonaniu tej operacji w katalog2 będzie katalog1 wraz zawartością; jeśli katalog2 nie istnieje, to kopia zawartości katalog1 znajdzie się w katalog2, tzn. katalog2 zostanie utworzony, a zawartość katalog1 będzie skopiowana do katalog2.

Jeśli chcemy, aby cp pytało nas, czy nadpisywać istniejące już pliki, to dodajemy opcję -i.

Jeśli chcemy, aby cp nie pytało nas, czy nadpisywać istniejące już pliki, to dodajemy opcję -f.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  1. Linux. BASH
    mv
A

przenoszenie/zmiana nazwy pliku/katalogu
(ang. move). Jedyna funkcja w Linuxie, która pozwala zmienić nazwę pliku (poprzez nadpisanie)

DODATKOWE INFO:
mv plik1 plik2

zmienia nazwę plik1 na plik2 (jak jest taka potrzeba wykonane jest także przeniesienie pomiędzy katalogami),

mv plik_lub_katalog1 … plik_lub_katalogn …. katalog

w tej wersji katalog podany w ostatnim argumencie musi istnieć; wszystkie pliki i katalogi są przenoszone do tego katalogu,

mv katalog1 katalog2

jeśli katalog2 nie istnieje, to zmieniana jest nazwa podobnie jak przy pierwszym sposobie wywołania, a jeśli katalog2 istnieje, to zachowanie jest takie samo jak w poprzednim sposobie wywołania.
Podobnie jak przy poleceniu cp możemy dodawać opcję -i lub -f aby ustawić opcję potwierdzania nadpisywania istniejących plików.

mv test3 folder aby przenieśc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  1. Linux. BASH
    Bash komendy:
    touch
A

uaktualnianie daty pliku, bądź utworzenie nowego pliku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q
  1. Linux. BASH
    Bash komendy:
    cat
A

wypisanie zawartości pliku (ang. concatenate )
This command displays the contents of one or more files without having to open the file for editing

Przy braku argumentów cat po prostu kopiuje standardowe wejście na standardowe wyjście. Przy jednym argumencie wypisuje zawartość pliku o podanej nazwie na standardowe wyjście. Przy większej liczbie argumentów cat wypisuje na standardowe wyjście wszystkie pliki w kolejności, w jakiej zostały one podane. W ten sposób możemy łączyć kilka plików w jeden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
  1. Linux. BASH
    Bash komendy:
    grep
A

przeszukiwanie zawartości plików
(ang. global regular expression* print) za pomocą wzorca
Używa podstawowych wyrażeń regularnych

Podstawowe użycie, to
grep wzorzec
lub
grep wzorzec plik
lub
grep wzorzec plik1 plik2 …

Np. grep ,,Litwo” pantadeusz.txt

  • Zwykle wyrażenie regularne w nazywamy „regex” lub „regexp” od skrótu angielskiego terminu: regular expressions. Wyrażenia regularne to po prostu wzorzec, który opisuje określony tekst do wyszukania. Dodatkowo warto wspomnieć, że nie jest to żadna biblioteka czy język programowania.

DODATKOWE INFO:
W wersji z wieloma plikami wzorzec wyszukiwany jest w każdym pliku. Wyświetlane są linie zawierające wystąpienie wzorca poprzedzone nazwą pliku, w którym został on znaleziony.

Ponadto jest wiele opcji kontrolujących sposób szukania i wyświetlane informacje. Oto najprzydatniejsze z nich.

-e wzorzec

sposób podania wzorca, gdy wyrażenie regularne może zaczynać się od znaku -

-i
ignoruje rozróżnianie wielkich liter,

-c
zlicza tylko liczbę wystąpień wzorca,

-w
dopasowuje wzorzec tylko do całych słów,

-x
dopasowuje wzorzec tylko do całych linii,

-v
odwraca sens dopasowania i wyszukuje tylko linie w których nie udało się dopasować wzorca,

-q
nic nie wypisuje na standardowe wyjście i kończy działania na pierwszym dopasowaniu; przydatne, gdy polecenie grep chcemy użyć jako warunku.

grep zwraca zero jako kod wyjścia, gdy wzorzec uda się znaleźć i wartość niezerową w przeciwnym przypadku

Pokrewne komendy:
less - otwiera plik jako osobną stronę po której możemy się poruszać i ją przeszukiwać
more - otwiera plik podobnie jak less, ale dzieli go na strony po których łatwiej jest się poruszać

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. Linux. BASH
    Bash komendy
    pipe
A

Łącznik | (ang. pipe) można go użyć z komendą np. grep

Pipe, jest to mechanizm, przekazywania strumienia danych z wyjścia jednej komendy na drugą.

Przykłady użycia:
Załóżmy, że chcemy wyciągnąć tylko katalogi z lokalizacji /etc

W tym celu wykonamy komendę

ls -l /etc | grep “^d”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q
  1. Linux. BASH
    Co to ~bash?
A

Powłoka systemu UNIX (ang. bash shell)

Bash to jedna z najpopularniejszych powłok systemów uniksowych. Jest domyślną powłoką w większości dystrybucji systemu GNU/Linux oraz w systemie macOS od wersji 10.3 do 10.14

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q
  1. Linux. Administracja użytkownikami
  • tworzenie nowego użytkownika
A

Łączę się z serwerem np. przez SSH loguję się jako root lub korzystam z polecenia sudo.

Tworzę grupę główną, do której będzie przynależał mój użytkownik

$ sudo addgroup nazwagrupy*
$ cd
$sudo adduser nazwaużytkownika

Powłoka prosi o hasło (na filmiku widziałam ,że brali je jakoś z pliku):
Enter UNIX password:
Powłoka: prosi o inne info dot usera (moge je pominąć spacją):
Full Name [] :
Room Number [] :
Work Phone [] :
….
Tworzy się wtedy katalog domowy użytkownika i jest on dodawany do grupy głównej. W celu zdefininiowania dodatkowych uprawnień użytkownik może zostać przydzielony do grup podrzędnych.
Użytkownikowi można zdefiniowaćjedną grupę główna iwiele grup podrzędnych.

Aby dodać użytkownika doistniejącej grupy:

$ sudo usermod -a -G <nazwagrupy> <nazwausera></nazwausera></nazwagrupy>

  • a jest od append
  • G jest od Group
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q
  1. Linux. Administracja użytkownikami
  • usuwanie użytkownika
A

Łączę się z serwerem np. przez SSH loguję się jako root i wpisuję w powłokę:

$sudo deluser nazwa_użytkownika

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q
  1. Linux. Administracja użytkownikami
  • weryfikacja użytkownika
A

W celu weryfikacji poprawnego utworzenia użytkownika, zrzuć połączenie SSH i spróbuj ponownie zalogować się do serwera za pomocą danych logowania tegoż użytkownika.

Zauważysz, że nazwa użytkownika jest dokładnie nazwą wcześniej utworzonego konta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q
  1. Linux. Administracja użytkownikami

jak nadać uprawnienia
sudo użytkownikowi?

A

Dodajemy tego użytkownika do grupy sudo za pomocą usemode.

Łączę się z serwerem, loguje się jako root i wpisuje w powłokę:

$ usermod -a -G sudo użytkownik

Aby wyświetlić grupy, do których przydzielony jest użytkownik wpisuję:

$ getent grupa | grep użytkownik

Aby wyświetlić powiązania grupy sudo wpisuję:

$ getent gruoa | grep sudo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
1. Linux. Administracja użytkownikami -zarządzanie hasłami
passwd komenda pozwalająca nadać lub zmienić hasło innego użytkownika (należy ją wykonać z uprawnieniami root) . Gdy wykonujemy tą komendę jako zwykły użytkownik, to zmieniamy własne hasło.
26
1. Linux Ubuntu. Administracja użytkownikami Lista wszystkich kont utworzonych w systemie Linux znajduje się w pliku ...
/etc/passwd
27
1. Linux Ubuntu. Administracja użytkownikami Co znajdziemy w pliku: /etc/passwd
Każdy wiersz w tym pliku zawiera informacje o jednym koncie utworzonym w systemie Linux. DODATKOWE INFO: Wiersz składa się z 7 pól oddzielonych dwukropkiem. W polach tych umieszczone są informacje: - nazwa użytkownika - zakodowane hasło lub znak x oznaczające, że zakodowane hasło jest przechowywane w pliku /etc/shadow - UID, liczbowy identyfikator użytkownika, tzw. - GID liczbowy identyfikator grupy - imię, nazwisko i opis użytkownika - ścieżka do katalogu domowego użytkownika - powłoka uruchamiana po zalogowaniu użytkownika
28
1. Linux Ubuntu. Administracja użytkownikami /etc/shadow
miejsce gdzie przechowywane są hasła użytkowników, dostęp do niego ma tylko root. Jeśli w /etc/passwd/ mamy x w miejscu gdzie powinno być hasło użytkownika, to oznacza właśnie że hasło to jest przechowywane w /etc/shadow
29
1. Linux Ubuntu. Administracja użytkownikami /etc/shells
plik w którym znajduje się lista dostępnych powłok uruchamianych po zalogowaniu użytkownika
30
1. Linux Ubuntu. Administracja użytkownikami Najczęściej katalogi domowe użytkowników znajdują się w folderze ....
/home W katalogu użytkownika znajdują się pliki określające jego środowisko pracy, jak: pulpit, pliki pobrane, pliki z ustawieniami używanych przez niego programów. Każdy użytkownik posiada pełne prawa do własnego katalogu domowego i znajdujących się w nim obiektów.
31
1. Linux. Administracja użytkownikami userdel
$ userdel komenda, która usunie niepożądanego użytkownika
32
1. Linux. Administracja użytkownikami usermod
$ usermod polecenie pozwalające modyfikować użytkownika. Przydatne parametry: -c dodajemy komentarz dla użytkownika -d określamy gdzie ma się znajdować katalog domowy użytkownika -g przypisanie konta do określonej grupy -s zmieni powłokę użytkownika -u zmieniamy identyfikator użytkownika (musi to być liczba powyżej 99 i UID nie być zajęty przez innego użytkownika) -L zablokowanie możliwości logowania się na konto -U odblokowanie logowania do konta
33
2. Linux. Administracja użytkownikami useradd czy adduser
Polecenia wykorzystywane do dodawania użytkowników: useradd (należy od razu podać wszystkie informacje o nowym użytkowniku) i adduser (przyjemniejsze w użyciu; pobiera domyślne wartości z pliku /etc/adduser.conf
34
2. Linux Ubuntu. Administracja użytkownikami /etc/group
Lista grup użytkowników systemu Linux znajduje się w pliku /etc/group. Polecenia: $ groups używamy, gdy chcemy sprawdzić w jakiej grupie znajduje się dany użytkownik. $ groupadd tworzy nową grupę $ groupdel ją usuwa.
35
2. Linux Ubuntu. Administracja użytkownikami groups
groups używamy, gdy chcemy sprawdzić w jakiej grupie znajduje się dany użytkownik
36
2. Linux Ubuntu. Administracja użytkownikami groupadd i groupdel
groupadd (addgroupp polecanie, które tworzy nową grupę a groupdel (delgroup) ją usuwa *addgroup jest przyjemniejsze w obsłudze
37
2. Linux Ubuntu. Administracja użytkownikami Aby przełączyć się na uprawnienia roota wydajemy polecenie...
$ sudo su Aby wyjść z konsoli roota i wrócić do naszego użytkownika wydajemy polecenie: $ exit
38
2. Linux Ubuntu. Administracja użytkownikami. Jak wykonywać polecenia na prawach roota?
$ sudo polecenie Następnie zostaniemy poproszeni o hasło. Przez kolejne 5 minut będziemy mogli wykonywać polecenia na prawach roota bez podawania hasła.
39
2. Linux Ubuntu. Administracja użytkownikami su
su (switch user) komenda do przelogowania się jako inny użytkownik Pozwala, w tym samym terminalu, zmienić uprawnienia do wykonywania komend chwilowo na innego użytkownika (zmienić aktualny UID i GID) Zmień użytkownika na użytkownika o nazwie user1: $ su user1 Zmień użytkownika, wyczyść zmienne środowiskowe i ustaw nowe wartości zmiennych HOME, SHELL, USER, LOGNAME, PATH: $ su - user1 Za pomocą polecenia su możemy nie tylko zalogować się na konto innego użytkownika, ale też na konto superużytkownika, czyli root'a - administratora systemu. Aby tego dokonać trzeba wpisać: $ sudo su Aby potwierdzić, że rzeczywiście przełączyłeś się na typ użytkownika root, wykonaj następujące polecenie: $ whoami
40
2. Linux Ubuntu. Administracja użytkownikami root
superużytkownik, czyli root (UID 0) to konto, które pełni rolę administratora systemu.
41
2. Linux Ubuntu. Administracja użytkownikami chmod
chmod komenda, która modyfikuje prawa dostępu do pliku Skróty odnośnie użytkowników, które dołączamy do chmod: u - user g - group o - others a - all Skróty odnośnie praw dostępu (czynności na plikach), które dołączamy do chmod: r - read 4 w - write 2 x - execute 1 Udziel innym prawo do czytania pliku: $ chmod o+r plik* Zabierz wszystkim prawo do wykonywania pliku: $ chmod a-x plik Ustaw prawa do czytania i pisania dla swojej grupy: $ chmod g=rw plik Ustawia prawa wszystkim plikom w katalogu i jego podkatalogach (--recursive): $ chmod -R go+w katalog* *tu wpisujemy nazwę pliku/katalogu, na którym chcemy przeprowadzić operację
42
2. Linux Ubuntu. Administracja użytkownikami chown
chown (change owner) komenda pozwalająca na zmianę właściciela pliku Zmiana właściciela pliku czy katalogu to dość częsta praktyka. Domyślnie właścicielem pliku czy katalogu jest użytkownik, który go stworzył. Jeśli zaistnieje potrzeba zmiany właściciela wykorzystujemy do tego polecenie chown Zmiana właściciela pliku lub katalogu: $ sudo chown użytkownik plik Zmiana grupy pliku lub katalogu: $ sudo chown :grupa plik Jednoczesna zmiana właściciela i grupy: $ sudo chown użytkownik:grupa plik Zamiast nazwy pliku można podać jego ścieżkę jeśli znajduje się w innej lokalizacji niż jesteśmy
43
7. Linux. Instalacja modułów pythona (pip)
pip (install python package) lub pip 3 to komenda która służy do zainstalowania bibliotek w projekcie Jak to zrobić? - wchodzimy do folderu, w którym jest nasz projekt cd --tutaj ścieżka folderu z projektem--- - jeśli nie mamy pip to go instalujemy (ale powinien być, gdyż jest defaultowo od Python 3.4) pip install pip - sprawdzamy wersje pip --version - teraz możemy już zaisntalować co chcemy np. pip install numpy - a potem to odinstalować przy użyciu pip pip uninstall numpy -
44
3. Linux. Jak wyświetlić listę procesów?
Kiedy uruchamiamy aplikację, system operacyjny tworzy jej proces (task). Procesy mogą być aktywne (running) albo uśpione (sleeping) Aby dowiedzieć się, jakie procesy są uruchomione na naszym serwerze – wpisujemy do terminala polecenie top. Gdy to zrobimy ukazuje się lista uruchomionych procesów wraz ze statystykami użytkowania. Jeśli top nie jest zainstalowane w systemie wpisujemy: sudo apt-get install top
45
3. Linux. htop
Ulepszona wersją top nazywa się htop. Pokazuje dane dotyczące procesów w human readable format w B, KB, GB top i htop posiadają przyjazny interfejs do podglądu działających procesów, który jest podobny do graficznych menedżerów zadań.
46
3. Linux. ps
ps bez podania argumentów wyświetla niewielką tabelkę dot. procesów aktywnego użytkownika ora z aktywną sesją terminala. Aby uzyskać więcej informacji odnośnie uruchomionych procesów na komputerze czy serwerze, można wykonać polecenie: ps aux dodanie aux pokazuje procesy wszystkich użytkowników niezależnie od terminala. Tabela wyświetlana dla ps aux jest w przyjaznym dla użytkownika formacie. Aby zobaczyć całe drzewo, hierarchie procesów, możemy skorzystać z przełącznika axjf ps axjf pokazuje które procesy są nadrzędne do innych (columna COMMAND)
47
3. Linux. pid
= process ID Identyfikatory procesów W systemach Linux i Unix`owych dla każdego procesy jest przypisywany unikatowy identyfikator process ID czy PID. Tak system operacyjny identyfikuje i śledzi za procesami.
48
3. Linux. pid. Jak uzyskać identyfikator procesu?
Najszybszym sposobem uzyskać identyfikator procesu jest skorzystanie z komendy pgrep: pgrep bash >1017 Pierwszym procesem, który uruchamia się podczas ładowania systemu, nazywa się init, i on posiada PID „1”. pgrep init >1 >1
49
3. Linux. Jak rozróżnia się procesy nadrzędne i podrzędne
Nadrzędny proces zamiast PID – posiada swój PPID. Nadrzędny proces jest procesem, który odpowiada za swoje „dzieci”. Jak tylko zabijemy proces nadrzędny – wszystkie jego podrzędne również przestaną działać. Możesz zobaczyć PID i PPID w nagłówku tabeli wywoływanej przez ps axjf
50
3. Linux. pgrep
Pozwala na przeszukiwanie procesów. Wpisujemy pgrep* i nazwę tego czego szukamy Np. pgrep bash zwraca itdentyfikatory procesów z bash *grep prints lines that contain a match for one or more patterns. [p] is a trick to stop you picking up the actual grep process itself.
51
3. Linux. Po co wysyłać sygnały do procesu w systemie Linux?
Aby : - przerwać proces - zmienić jego zachowanie.
52
3. Linux. kill
Czasami zdarza się jednak sytuacja, gdzie wyłączenie aplikacji z różnych powodów nie spowoduje zamknięcia jej procesu. Wówczas jedynym sposobem jest ręczne wyłączenie procesu. $ kill PID to komenda, która powoduje zakończenie pracy procesu Program kill służy do przesyłania odpowiednich sygnałów do procesów uruchomionych w systemie. Mamy do dyspozycji wiele sygnałów - jeden z nich to TERM (terminate), którego zadaniem jest wyłączenie procesu o podanym identyfikatorze. Przykładowo, wykonanie polecenia: $ kill 5486 spowoduje wysłanie sygnału TERM do procesu o numerze 5486, czego konsekwencją będzie zamknięcie tego procesu Jeśli proces nie chce się zamknąć, możemy wymusić jego zamknięcie dodając przełącznik -KILL: kill -KILL PID KILL zwraca się do najniższej warstwy systemu, który ze swojej strony wstrzymuje ten proces. Aby otrzymać listę wszystkich sygnałów, które można wysłać z poleceniem kill wpisujemy: $ kill -l Polecenie kill działa na identyfikatorach PID. Jeśli zaś chcemy wpisać nazwę procesu zamiast jego numeru używamy polecenia: $ pkill
53
3. Linux zarządza priorytetami procesów przez wartość _____.
niceness nice process to proces z niewielkim priorytetem oraz taki który zużyje mniej zasobów serwera. Po wpisaniu top do bash'a widzimy kolumnę NI, gdzie odczytać możemy właśnie priorytet (niceness) procesów
54
3. Linux. grepowanie
to przeszukiwanie procesów na podstawie wzorców. (stringów)
55
3. Linux. systemctl.
Polecenie systemctl umożliwia - uruchamianie $ sudo systemctl start proces1 -zatrzymywanie $ sudo systemctl stop proces1 -restartowanie procesów $ sudo systemctl restart proces1 Aby sprawdzić status usługi/procesu w Ubuntu wpisujemy w bash: $ sudo systemctl status proces1
56
1. Linux. Administracja użytkownikami Jak dodawać) usuwać użytkownika?
W Ubuntu użytkownikami możemy zarządzać stosując polecenia: adduser, useradd (dodające użytkowników) lub deluser, userdel (usuwające użytkowników). Zamiany dokonane za pomocą tych poleceń zapisywane są w pliku /etc/passwd. Ten plik zawiera informacje o użytkownikach systemu.
57
dump command
dump – polecenie do tworzenia kopii zapasowej systemu plików
58
getent
getent - uzyskanie wpisów z baz danych
59
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'
60
Każdy uruchomiony program w systemie Linux posiada trzy domyślne strumienie danych: wejściowy (stdin 0), wyjściowy (stdout 1) i błędów (stderr 2).
wejściowy (stdin 0, standard input) wyjściowy (stdout 1, standard output) i błędów (stderr 2, standard error)
61
Linux: Program 1> plik
Przekaż strumień stdout do pliku
62
Linux: Program 2> plik
Przekaż strumień stderr do pliku
63
Linux: Program &> plik
Przekaż oba strumienie stdout i stderr do tego samego pliku
64
Linux: plik > Program
Przekaż strumień stdin z pliku do programu
65
Linux/sieci komputerowe: ping
Ping or Packet Internet Groper to narzędzie do zarządzania siecią używane do sprawdzania stanu (statusu) połączenia między komputerem źródłowym a docelowym komputerem / urządzeniem za pomocą IP. Pomaga także ocenić czas wysłania i odebrania odpowiedzi z sieci. jeśli którakolwiek ze stron internetowych się nie ładuje, naprawdę chcemy wiedzieć, dlaczego tak się stało. Czy to dlatego, że nie mamy połączenia z internetem, czy mamy problemy z naszym dostawcą usług internetowych uniemożliwiają nam dostęp do strony, czy powodem jest niedostępność samej witryny - bez względu na przyczynę, polecenie Linux Ping może dostarczyć odpowiedzi
66
Czy pipe możemy używać wielokrotnie?
Tak Np. ping google.pl | tee ping.txt | head -2 tee – uniksowe polecenie, wypisujące dane wejściowe na standardowe wyjście i do dowolnej liczby plików. head is a program on Unix and Unix-like operating systems used to display the beginning of a text file or piped data
67
Linux: cat
cat (ang. concatenate, łączyć) – polecenie systemu Unix służące do łączenia plików (np. podzielonych komendą split) oraz kierowania zawartości plików na standardowe wyjście – wyświetlania ich na ekranie.
68
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)
69
Co to jest vim?
edytor tekstu w środowiskach uniksowych i w Linuksie.
70
vimtutor: :q!
This vim command exits the editor without saving any changes you have made.
71
vimtutor: press __ to delete the character under the cursor
x
72
vimtutor: :wq
save all the changes and exit
73
vimtutor press ___ to insert text
i after finishing editing press to return to normal mode
74
vimtutor press ___ to append text
A przenosi nas na koniec lini i umożliwia dopisanie tekstu
75
vim file.txt
vim is the command to start the Vim editor file.txt is the file you wish to edit
76
vimtutor type __ to delete the word
dw
77
vimtutor type __ to delete characters at end of line
d$
78
vimtutor type __ to delete the end of current word
de
79
vimtutor to move the cursor 2 words forward type
2w
80
vimtutor type __ to move to start of the line
0
81
vimtutor type __ to move to the end of 3 word forward
3e
82
vimtutor type ___ to delete second word of the line
d2w
83
vimtutor type ___ to delete the whole line
dd
84
vimtutor type ___ to delete last command
u
85
vimtutor type ___ to fix a whole line
U
86
vimtutor to undo the undos type _____
CTR + R
87
vimtutor type __ to return previously deleted line
p
88
vimtutor type __ to replace characters
rx
89
vimtutor to change until the end of a word type____
ce it deletes the word and place you in Insert mode
90
vimtutor to change whole line type ___
cc
91
vimtutor to change everything between the cursor and the end of a line type___
c$
92
vimtutor c stands for
c = change operator
93
vimtutor Type ___ to show location in the file and the file status
CTRL + G
94
vimtutor type ___ to move to the end of the file
G
95
vimtutor type ___ to move to the start of the file
gg
96
vimtutor type ___ to move to the 505th line
505G
97
vimtutor type ___ followed by a phrase to search
/errroor
98
vimtutor after searching once for a phrase (/your search) press __ to search for the same again
n
99
vimtutor after searching once for a phrase (/your search) press n to search for the same again, and press __ to search in opposite direction
N
100
vimtutor to search for something in backward direction type __something instead of / something
?
101
vimtutor during searching for phrases press ____ to go back further your search and _____ to go forward
CTRL+o to go back further your search and CTRL+i to go forward
102
vimtutor How to find matching parentheses?
place the cursor on your parentheses (, [ or {, and type % to find matching one This is very useful in debugging a program witch unmatched parentheses
103
vimtutor :s/old/new/
to substitute old to new, once
104
vimtutor :s/old/new/g
to substitute old to new globally in the line
105
vimtutor :#,#s/old/new/g
to substitute in line # to #
106
vimtutor :%s/old/new/g
to substitute every occurrence in the whole file
107
vimtutor :%s/old/new/gc
to find every occurrence in the whole file and prompt whether to substitute or not
108
vimtutor type____followed by external command to execute that command
:! eg. :! ls
109
vimtutor to save the changes made to the text type ____
:w FILENAME
110
vimtutor remove the file by typing _____
:! del FILENAME (Windows) :! rm FILENAME (Unix)
111
vimtutor press ___ to select the text
v
112
vimtutor After selecting the text using v, you can save the selected text by typing ____
:w FILENAME
113
vimtutor After selecting text using v, you can delete it by hitting ___
d
114
vimtutor to insert the contents of a file, type ___________
:r FILENAME
115
vimtutor you can insert the output of an external command by typing _____
:r !ls
116
vimtutor to open a line below the cursor hit _____
o
117
vimtutor to open up a line above the cursor type _____
O
118
vimtutor hit ____ to quit insert mode
ESC
119
vimtutor hit ___ to jump forward through a line
e
120
vimtutor after placing the cursor at the end of a word hit ___ to append stuff to it
a
121
vimtutor press __ to replace more than 1 character
R
122
vimtutor type ____ to copy text
y (yank)
123
vimtutor hit ___ to paste text
p
124
vimtutor type __ to copy (yank) the whole line
yy
125
vimtutor set ignoring upper/lower case while searching
:set ic (ignore case upper/lower) prepend "no" to switch off this option e.g :setnoic
126
vimtutor set showing partial matches for a search phrase
:set is prepend "no" to switch off this option e.g :setnois
127
vimtutor set highlight all matching phrases
:set hls prepend "no" to switch off this option e.g :setnohls
128
vimtutor how to open help window
hit F1 or type :help In help window: type CTRL-W to jump from one widow do another type :q to quit help window
129
vimtutor how to check what commands start with e.g e
start typing :e and then hit CTRL + D
130
vimtutor how to ask vi to complete the command you just started typing
:ed. and then hit vi complete command for you
131
vimtutor how to find help for e.g cmd
type :help cmd
132
Co to jest interfejs sieciowy?
Najogólniej interfejsem sieciowym w systemach linux nazywamy urządzenia logiczne pozwalające na nawiązywanie połączeń różnego typu. Należy jednak pamiętać iż mówiąc interfejs sieciowy nie mamy zawsze na myśli karty sieciowej. Interfejsem sieciowym jest np. pętla zwrotna (lo). Mogą nim być też tunele VPN lub inne programy i urządzenia pozwalające na komunikację z lokalnym lub zdalnym hostem. Interfejsy: lo (pętla zwrotna - loopback) eth - ethernet ppp - protokół punkt-punkt slip - protokół SLIP (IP przez łącze szeregowe) plip - protokół PLIP (IP przez łącze równoległe) tunl - tunel sieciowy sit - tunel IPv6 poprzez IP
133
Jak skonfigurować interfejs sieciowy?
Abu skonfigurować kartę sieciową należy wykonać polecenie ifconfig z odpowiednimi parametrami.
134
/etc/network/interfaces
Debian korzysta z pliku /etc/network/interfaces do konfiguracji interfejsów sieciowych. W systemie Linux, wszystkie interfejsy sieciowe mają nazwy złożone z nazwy sterownika (interfejsu), po którym następuje liczba.
135
otoczenie sieciowe
katalog, który służy do przeglądania zasobów sieci, do której podłączony jest komputer, widoczne są komputery sieci, drukarki, faksy, udostępnione zasoby
136
ifconfig
Polecenie służące do konfiguracji interfejsów sieciowych - ładuje odpowiedni sterownik sieci i konfiguruje interfejs. Ma postać: ifconfig [netmask ] [broadcast ] Program ifconfig w tej postaci może być stosowany jedynie przez administratora (użytkownika root). Parametry netmask oraz broadcast są opcjonalne. Jeżeli zostaną pominięte, polecenie ifconfig pobierze te wartości z domyślnej klasy adresu IP (powinny być jednak wymienione jeśli wydzielamy podsieci). Aby sprawdzić status interfejsu sieciowego, należy użyć polecenia: ifconfig Jeśli polecenie to nie jest dostępne to instalujemy je za pomocą komendy: sudo apt install-net tools
137
route
Polecenie wykorzystywane do przetwarzania tabeli trasowania Tabela trasowania jest wykorzystywana przez jądro systemu aby określić, co robić z każdym pakietem wychodzącym z hosta – czy wysłać go bezpośrednio do hosta docelowego czy do routera i poprzez jaki interfejs sieciowy. Polecenia route ma postać: route [opcje] [polecenie [parametry]] Najprostsza forma polecenia (bez opcji i poleceń) wyświetla tabelę trasowania. W tej formie polecenie route może być uruchamiane przez dowolnego użytkownika. Najczęściej polecenie route jest wykorzystywane do wykonania operacji z trasami sieciowymi (tymi, które prowadzą do zdalnej sieci), ale czasem trzeba dodać trasy do określonych hostów. Jest to konieczne, jeżeli host jest połączony bezpośrednio poprzez łącze punkt-punkt (protokół PPP) – na przykład poprzez modem lub kabel szeregowy.
138
tcpdump
Program tcpdump działa na zasadzie podsłuchiwania pakietów, które są przesyłane w sieci (bez względu na to, do którego hosta są adresowane). Pozwala to na zbieranie wszystkich lub tylko wybranych informacji o ruchu w sieci, może je wyświetlić lub przeprowadzić proste analizy zebranych danych. Program tcpdump ustawia kartę sieciową w tzw. „tryb promiscuous”. Zwykle karty sieciowe widzą tylko pakiety adresowane bezpośrednio do nich. Jednak w trybie promiscuous widać wszystkie pakiety przesyłane w sieci. Program tcpdump może je filtrować. wyświetlać bądź przechowywać. Program przerywa pracę po wciśnięciu [Ctrl]+[C]. Aby móc zmodyfikować ustawienia karty sieciowej, program tcpdump musi być uruchamiany przez użytkownika z prawami administratora (root) Program tcpdump domyślnie zamienia adresy IP na nazwy domen, a numery portów na nazwy usług. Często nie ma potrzeby oglądać wszystkich parametrów. Parametrem polecenia tcpdump może być wyrażenie filtrujące, określające typ pakietów, jakie mają być wyświetlane. Wyrażenia filtrujące składają się z jednego lub więcej wyrażeń prostych połączonych operatorami and, or oraz not. tcp/wireshark umożliwia przeskanowanie ruchu np na jakimś porcie, albo dla jakiegoś adresu IP. Ten ruch np zrzucić do pliku i moźns sobie potem popatrzeć co się tam dzieje
139
Trasowanie co to
Trasowanie – czynność polegająca na wyznaczaniu jakiejś drogi, linii, w terenie, na mapie lub w sieciach teleinformatycznych. W telekomunikacji: Trasowanie (ang. routing, ruting, rutowanie) – wyznaczanie trasy i wysłanie nią pakietu danych w sieci komputerowej. Urządzenie węzłowe, w którym kształtowany jest ruch sieciowy, nazywane jest routerem – jego rolę może pełnić np. komputer stacjonarny czy oddzielne przeznaczone do tego celu urządzenie.
140
Jądro systemu
Jądro systemu operacyjnego (ang. kernel) – podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania.
141
Polecenie route można także zastosować do dodawania i usuwania tras z tabeli trasowania. Jak to zrobić?
Wykonuje się to za pomocą poleceń: route add|del [-net|-host] [gw ] [netmask ] [dev ] gdzie add oraz del oznaczają odpowiednio dodanie oraz usunięcie trasy, opcje –net oraz –host wskazują, czy operacje będą wykonywane z trasą sieciową, czy z trasą hosta, parametr to nazwa hosta lub sieci docelowego adresu IP, lub też słowem kluczowym default w celu skonfigurowania domyślnej trasy, parametr określa, który ruter ma być zastosowany dla danej trasy, parametr określa maskę sieci dla trasy (dotyczy adresu ), natomiast parametr dev określa interfejs, przez który będą przesyłane pakiety do wskazanego celu.
142
ping
Ping – (Packet Internet or Inter-Network Groper)polecenie używane w sieciach komputerowych TCP/IP (jak Internet) i służące do diagnozowania połączeń sieciowyc Najbardziej podstawowym narzędziem pomocnym przy lokalizacji problemów jest polecenie ping. Program ping wysyła pakiety do innego komputera i oczekuje na odpowiedź. Jest on bardzo użyteczny do sprawdzania, czy komputery w sieci mogą wzajemnie nawiązać połączenie. Jeśli oba widzą się przy zastosowaniu polecenia ping, powinny być w stanie wymieniać między sobą każdy rodzaj danych. Polecenie to używa protokołu ICMP (Internet Control Message Protocol). Protokół ten jest nadrzędnym dla IP i jest zaprojektowany do kontroli komunikatów, przydaje się do takich zastosowań jak rutowanie i kontrola nad osiągalnością informacji
143
Istnieje wiele programów do tworzenia kopii zapasowych. Tradycyjnymi programami do tego przeznaczonymi są ______________
tar, cpio, dump tar (short for Tape ARchiver) available in the terminal, the tar command helps create, extract, and list archive contents. cpio stands for “copy in, copy out“. It is used for processing the archive files dump command in Linux is used for backup the filesystem to some storage device
144
Co to jest protokół sieciowy?
Protokół sieciowy, to zbiór reguł który określa : - sposób transmisji danych na poziomie kanału fizycznego - procedury sterowania transmisją - sposób postępowania podczas inicjowania, utrzymania i zakończenia transmisji) a także -sposób kontroli poprawności przekazu na określonej warstwie modelu sieciowego
145
Wireshark
Wireshark (sniffer) to program pozwalający na analizę protokołów sieciowych. Pozwala zobaczyć, co dzieje się w Twojej sieci Aby otworzyć program: w terminalu wpisuje sudo /Applications/Wireshark.app/Contents/MacOS/Wireshark otwiera się Wireshark File > Open > mycap.pca
146
W uproszczonym czterowarstwowym modelu sieciowym można wyróżnić następujące protokoły:
1.Protokoły warstwy fizycznej (np. Ethernet) 2. Protokoły warstwy sieciowej (np. IP) 3. Protokoły warstwy transportu (np. TCP i UDP) 4. Protokoły warstwy aplikacyjnej (np. FTP i HTTP)
147
SSH
SSH (secure shell) – standard protokołów komunikacyjnych używanych w sieciach TCP/IP, w architekturze klient-serwer, a od wersji 2 również serwer-klient SSH jest następcą protokołu Telnet. SSH różni się od Telnet, szyfrowanym transferem wszelkich danych oraz możliwością rozpoznawania użytkowników. Istnieją dwie wersje tego protokołu i obie są obecnie w użyciu. W wersji 2 możliwe jest użycie dowolnych sposobów szyfrowania danych i czterech różnych sposobów uwierzytelniania, podczas gdy 1 wersja obsługuje tylko stałą listę kilku sposobów szyfrowania i dwa sposoby rozpoznawania użytkownika (klucz RSA i zwykłe hasło). Najbardziej znane implementacje SSH to zamknięte ssh.com i otwarte OpenSSH. Najbardziej znaną implementacją klienta jest PuTTY. SSH jest zwykle używany do zdalnego logowania z komputerem/serwerem i wykonywania poleceń. Do kontaktowania się z serwerami SSH został przypisany port TCP 22. SSH to wspólna nazwa dla całej rodziny protokołów. Oprócz zastosowań terminalowych, służy również do np. przesyłania plików, zdalnej kontroli zasobów, tunelowania.
148
FTP
Protokół warstwy aplikacji zestawu TCP/IP FTP (File Transfer Protocol) to protokół służący do transferu plików między klientem a serwerem. Wykorzystuje on protokół TCP, który pozwala na transfer plików w obu kierunkach (SERWER → KLIENT oraz KLIENT → SERWER). Domyślnie korzysta z portu 20 (transmisja danych) oraz 21 (logowanie/komunikaty). Przeważnie dostęp do danych jest autoryzowany, lecz zdarza się, że zasoby mają być dostępne dla większej liczby odbiorców, w związku z czym stosuje się dostęp z poziomu użytkownika anonimowego. Upload plików zawsze wykonywany jest przez autoryzowanego użytkownika (posiadającego login i hasło). Do poprawnego działania protokołu FTP wymagane jest zestawienie dwóch połączeń – sterującego i do przesyłania plików.
149
SCP
Secure copy lub SCP – bezpieczny transfer plików pomiędzy komputerem lokalnym a zdalnym lub między dwoma zdalnymi komputerami, korzystający z protokołu Secure Shell (SSH). Skrót SCP powstał z nazwy protokołu SSH oraz polecenia cp. SCP (od ang. secure copy) – protokół SCP jest bardzo podobny do protokołu RCP (BSD), jednak w przeciwieństwie do niego korzysta z szyfrowanego połączenia podczas transferu, dzięki temu podsłuchanie transmisji jest zdecydowanie trudniejsze. Sam protokół SCP nie zapewnia uwierzytelniania, opiera się on na protokole SSH. Protokół SCP zajmuje się tylko transmisją plików, jego przewagą nad protokołem FTP jest to, że oprócz szyfrowania potrafi również przekazać razem z plikiem jego podstawowe atrybuty (np. uprawnienia).
150
TELNET
Protokół warstwy aplikacji zestawu TCP/IP Telnet – standard protokołu komunikacyjnego używanego w sieciach komputerowych. Obsługuje tylko terminale alfanumeryczne, co oznacza, że nie obsługuje myszy ani innych urządzeń wskazujących. Nie obsługuje on również GUI. Polecenia wydawane za pomocą komputera-klienta przesyłane są poprzez sieć do serwera, na którym zainstalowane jest oprogramowanie serwera telnetu. W odpowiedzi serwer odsyła komunikaty, które następnie wyświetlane są na ekranie komputera-klienta. Uruchomienie usługi Telnet wykonuje się poprzez wpisanie polecenia: telnet adres_IP Telnet umożliwia również podanie nazwy domenowej zamiast adresu IP. Połączenie tego typu nie jest szyfrowane, więc bezpieczniejszym, a co za tym idzie częściej używanym rozwiązaniem jest SSH.
151
Do najczęściej spotykanych zestawów protokołów należą:
Zestaw protokołów IPX/SPX „międzysieciowa wymiana pakietów” / „sekwencyjna wymiana pakietów” używany przez system Novell Netware NetBIOS i NetBEUI „rozszerzony interfejs użytkownika podstawowego sieciowego systemu wejścia / wyjścia” zaprojektowany przez firmę IBM, wykorzystywany m.in. przez systemy operacyjne Microsoftu. Ponadto NetBIOS może być tunelowany dowolnym innym protokołem. Zestaw protokołów TCP/IP „protokół kontroli transmisji” / „protokół internetowy” używany powszechnie w Internecie oraz sieciach lokalnych mających do niego dostęp.
152
HTTP
Protokół warstwy aplikacji zestawu TCP/IP HTTP (HyperText Transfer Protocol): Protokół wymiany informacji poprzez przesyłanie dokumentów hipertekstowych w sieci WWW.
153
SMTP
Protokół warstwy aplikacji zestawu TCP/IP
154
SNMP
Protokół warstwy aplikacji zestawu TCP/IP
155
NFS
Protokół warstwy aplikacji zestawu TCP/IP
156
DNS
Protokół warstwy aplikacji zestawu TCP/IP (ang. Domain Name System). Usługa służąca do zamiany publicznych adresów IP z postaci numerycznej na domenową
157
NTP
Protokół warstwy aplikacji zestawu TCP/IP
158
RTP
Protokół warstwy aplikacji zestawu TCP/IP
159
ICMP
Protokół warstwy transportowej zestawu TCP/IP
160
TCP
Protokół warstwy transportowej zestawu TCP/IP Protokół sterowania transmisją, protokół kontroli transmisji, TCP (od ang. Transmission Control Protocol) – połączeniowy, niezawodny, strumieniowy protokół komunikacyjny stosowany do przesyłania danych między procesami uruchomionymi na różnych maszynach
161
UDP
Protokół warstwy transportowej zestawu TCP/IP
162
IGMP
Protokół warstwy transportowej zestawu TCP/IP
163
ARP
Protokół warstwy sieci zestawu TCP/IP
164
IP
Protokół warstwy sieci zestawu TCP/IP Protokół internetowy, IP (od ang. Internet Protocol) – protokół komunikacyjny warstwy sieciowej modelu OSI (warstwy internetu w modelu TCP/IP Protokół internetowy to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia w celu nawiązania łączności i wymiany danych.
165
RARP
Protokół warstwy sieci zestawu TCP/IP
166
802.3
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
167
802.4
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
168
ATM
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
169
802.5
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
170
802.6 SMDS
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
171
X.25
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
172
PPP
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
173
Frame Relay
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
174
SLIP
Protokół warstwy fizycznej i łącza danych zestawu TCP/IP
175
Jakie znasz komendy zdalnego logowania TCP/IP?
rexec komenda hosta Wykonuje komendy w jednym czasie na zdalnym hoście. rlogin host_zdalny Łączy hosta lokalnego ze zdalnym hostem. rsh i remsh Komenda remotehost Wykonuje określoną komendę na zdalnym hoście lub loguje się na zdalnym hoście. telnet, tn i tn3270 nazwa_hosta Łączy hosta lokalnego ze zdalnym hostem za pomocą interfejsu TELNET .
176
rexec komenda hosta
Wykonuje komendy w jednym czasie na zdalnym hoście.
177
rlogin host_zdalny
Łączy hosta lokalnego ze zdalnym hostem.
178
rsh i remsh Komenda remotehost
Wykonuje określoną komendę na zdalnym hoście lub loguje się na zdalnym hoście.
179
telnet, tn i tn3270 nazwa_hosta
Łączy hosta lokalnego ze zdalnym hostem za pomocą interfejsu TELNET .
180
Co to jest git?
Git to system kontroli wersji. Służy on do zarządzania historią kodu źródłowego. Jego funkcjonalność ma kilka podłoży. Między innymi sprawdza się tak dobrze, ponieważ: 1. pozwala na jednoczesną pracę na tym samym kodzie przez kilka osób, 2. umożliwia transferowanie i łączenie zmian z różnych branchy w jednym projekcie, 3. pozwala na pracę offline we własnym repozytorium, jest szybki i wydajny.
181
git init
Komenda do uruchomienia w katalogu z projektem aby zainicjować repozytorium git. komenda, która pozwala stworzyć nowe, puste repozytorium lub ponownie zainicjować istniejące już repozytorium (nie nadpisuje, pobiera nowo dodatne pliki, albo pozwala na przeniesienie repozytorium w inne miejsce ) Tworzy się .git repositoru, posiadające pustą, główną gałąź (jeszcze bez commitów)
182
git pull
integruje zmiany ze zdalnego repozytorium do lokalnej gałęzi (feature brancha) jeśli bieżąca gałąź lokalna jest nieaktualna, to zostanie domyślnie zaktualizowana do zdalnej. Jeśli lokalna i zdalna gałąź rozeszły się w wersjach (i na obu są ważne zmiany), użytkownik musi określić, jak pogodzić obie gałęzie za pomocą opcji --rebase lub --no-rebase (lub pull.rebase).
183
git fetch
pozwala pobrać gałęzie i etykiety ("refs")* z innego repozytorium Prościej mówiąc" aktualizuje historię commitów na obecnej gałęzi. Po tej komendzie nasz kod nie jest aktualizowany. To znaczy, że nic się nie zmieni w naszym lokalnym repozytorium ale będziemy mieć aktualną wiedzę na temat tego co jest w zdalnym repozytorium. git fetch może pobierać albo z jednego nazwanego repozytorium lub adresu URL, albo z kilku repozytoriów jednocześnie (jeśli użyto opcji i pliki są odpowiednio skonfigurowane) *tagi - jak większość systemów kontroli wersji, Git posiada możliwość etykietowania konkretnych, ważnych miejsc w historii. Wyświetlanie wszystkich dostępnych tagów w Gitcie jest bardzo proste. Wystarczy uruchomić git tag:
184
git clone
klonuje repozytorium do nowego katalogu np. ze zdalnego do lokalnego
185
Jaka jest różnica pomiędzy git fetch i git pull
git fetch to polecenie, które aktualizuje historię commitow. Służy raczej do sprawdzania, czy są dostępne jakieś zmiany. git pull robi to samo co git fetch, ale dodatkowo przenosi (kopiuje) te zmiany ze zdalnego repozytorium do lokalnego
186
Jak sprawdzić, czy nie mamy już wygenerowanego klucza SSH?
$ cd ~/.ssh $ ls pomaga sprawdzić, czy nie mamy już wygenerowanego klucza SSH Jeśli klucz istnieje terminal wyświetli nam pliki o nazwach takich jak id_dsa, id_rsa
186
Jak sprawdzić, czy nie mamy już wygenerowanego klucza SSH?
$ cd ~/.ssh $ ls pomaga sprawdzić, czy nie mamy już wygenerowanego klucza SSH Jeśli klucz istnieje terminal wyświetli nam pliki o nazwach takich jak id_dsa lub id_rsa (klucz prywatny) oraz plik .pub (np. id_dsa.pub, który jest kluczem publicznym.
187
Jak stworzyć klucz SSH?
Jeśli nie masz plików id_dsa/ id_rsa ani korespondujących z nimi plików z rozszerzeniem .pub to znaczy, że nie wygenerowałeś jeszcze swojego klucza SSH (możesz nawet nie mieć jeszcze katalogu .ssh) Klucz SSH możesz utworzyć, uruchamiając program o nazwie ssh-keygen, który jest dostarczany z pakietem SSH w systemach Linux/macOS i jest dostarczany z Git dla Windowsa. W terminal wpisujemy: $ ssh-keygen -o
188
Jak dodać klucz SSH do repozytorium?
Służy do tego komenda ssh-add do której dopisujemy nazwę swojego klucza z folderu .ssh Np. $ ssh-add --apple-use-keychain ~/.ssh/id_ed25519
189
git add
Dodaje zmianu do indeksu (na stage) zmieniając status plików ze 'zmodyfikowane' na 'śledzone' git add -m "init commit" flaga -m umozliwia opisanie commita Polecenia tego można używać wielokrotnie przed wysłaniem commita. Po kilkukrotnym użyciu git add, można użyć polecenia git status, które wyświetli podsumowanie, mówiące o tym które pliki zawierają zmiany i są przygotowane do następnego commita ** Przeciwieństwem git add jest git rm, czyli polecenie które usuwa pliki z drzewa i indeks przed użyciem git commit Podsumowując: git add - dodaje pliki do indeksu przed użytciem git commit git rm - usuwa pliki z indeksu przed użytciem git commit git commit - zapisuje zmiany w zdalnym repozytorium
190
git commit
wysyła zmiany ze stage (index, przechowalnia) do historii repozytorium zdalnego zmiany te/pliki zmieniaja wtedy status ze staged (śledzony, w przechowywalni) na zatwierdzony (commited) wysyła zmiany do repozytorium (a także log zawierający twoją wiadomość o zmianach)
191
git push
git push Co tu dużo pisać. Git push and go home : ) Komenda wysyła commity do zdalnego repozytorium.
192
git log
polecenie, które pokazuje wszystkie logi danego rpeozytorium
193
git status
Pozwala sprawdzić jaki status mają pliki w naszym projekcie 1. zmodyfikowany (modified) 2. śledzony (staged) 3. zatwierdzony (commited) albo też mówi o tym na jakim jesteśmy branchu
194
git commit –amend
Pozwala zmienić nazwę ostatniego commita. Jest to chyba najprostszy sposób aby to zrobić. Dzięki temu też nie musimy tworzyć nowego commita i po prostu edytujemy jego teskt.
195
git amend
Najczęściej wykorzystywaną opcją modyfikacji historii jest edycja ostatniego commit’a. Cofa zmiany.
196
git branch -d nazwa_gałęzi git branch -D nazwa_gałęzi
git branch -d nazwa_gałęzi daje możliwość skasowania lokalnej gałęzi gdy zmiany na lokalnej gałęzi są scalone z master-em. git branch -D nazwa_gałęzi kasuje lokalną gałąź bez sprawdzania, czy jest scalona z masterem
197
git branch
wyświetla, tworzy lub usuwa gałęzie (w zależności od tego jakich przełączników użyjemy)
198
git branch -a
Wyświetla listę wszystkich gałęzi, w tym tych ze zdalnego repozytorium.
199
git merge
operacja scalenia - tworzy merge commita - nie daje zmian na head Scalanie w Git umożliwia połączenie podzielonej historii. Polecenie git merge pozwala zebrać niezależne linie prac programistycznych utworzone za pomocą polecenia git branch i zintegrować je w pojedynczą gałąź . Podsumowując $ git merge nazwa_gałęzi pozwala scalić zmiany z innej gałęzi na tą na, której jesteśmy. git merge używa się najczęściej w połączeniu z git checkout feature $ git checkout feature $ git merge main W efekcie w gałęzi feature powstanie „commit scalenia”, który będzie łączył historie obydwu gałęzi
200
git rebase
operacja zmiany bazy - nadpisuje historie, daje nasze zmiany zawsze na head - nie robi merge commita - przed git rebase powinniśmy zrobić git pull aby pobrac na swojego feature brancha zmiany, które dodano do mastera W przypadku użycia komendy rebase, git przenosi wszystkie Twoje zmiany z bieżącej gałęzi do tymczasowej lokalizacji. Następnie dociąga wszystkie zmiany z gałęzi repo, z którą chcesz się połączyć. Na koniec pojedynczo umieszcza Twoje zmiany powyżej dołączonych wcześniej zmian. Mówimy wtedy, jesteśmy na samej górze HEAD (ang. on top of the HEAD). Inaczej: Alternatywą dla scalania jest zmiana bazy gałęzi feature na gałąź main za pomocą następujących poleceń: $ git checkout feature $ git rebase main Spowoduje to przesunięcie całej gałęzi feature, aby zaczynała się od końcówki gałęzi main, i pozwoli na skuteczne włączenie wszystkich nowych commitów do gałęzi main. Jednak zamiast tworzenia commita scalenia operacja zmiany bazy powoduje przepisanie historii projektu poprzez utworzenie zupełnie nowych commitów dla każdego commita w gałęzi pierwotnej.
201
Jaka jest różnica pomiędzy działaniem git merge a git rebase?
Pierwszą rzeczą, jaką trzeba wiedzieć na temat polecenia git rebase, jest fakt, że służy do rozwiązywania tego samego problemu, co polecenie git merge. Obydwa polecenia zaprojektowano tak, aby umożliwiały integrowanie zmian z jednej gałęzi z drugą gałęzią — po prostu robią to w bardzo odmienny sposób. Git rebase: - nadpisuje historię - daje zmiany na head - nie tworzy merge commita - wymaga git pull Git merge: - scala zmiany bez dawania ich na head - tworzy merge commita
202
Co to jest HEAD?
HEAD to referencja do ostatniej zmiany na Twojej bieżącej gałęzi. Można powiedzieć, że HEAD jest czymś w rodzaju takiego wskaźnika, który mówi Ci gdzie teraz jesteś. Kiedy na Twoim zdalnym repozytorium są zmiany, których jeszcze nie masz u siebie lokalnie, możesz powiedzieć, że jesteś za zdalnym HEAD (czyli za tym bieżącym znacznikiem na zdalnym repozytorium). Po angielsku powiedziałabyś behind the remote HEAD. Kiedy już dociągniesz brakujące zmiany do swojego lokalnego repozytorium, to możesz powiedzieć, że jesteś na bieżąco ze zdalnym HEAD (ang. on top of the HEAD). Jest też możliwe przesunięcie HEAD na konkretną zmianę. Wtedy mówimy, że HEAD jest odłączony (ang. detached). Znaczy to tyle, że HEAD zamiast wskazywać na ostatnie zmiany konkretnej gałęzi, wskazuje na jakąś wybraną zmianę - commit.
203
git checkout
pozwala przełączać się pomiędzy brancha jeśli masz jakieś zmiany to git nie chce Cie przełączyć i musisz te zmiany odłożyć na półkę (shelf) przy pomocy komendy git stash* *git shelve doesn't exist in Git. As documented in Intellij IDEA shelve dialog, the feature "shelving and unshelving" is not linked to a VCS (Version Control System tool) but to the IDE itself, to temporarily storing pending changes you have not committed yet in changelist.
204
git stash
git stash temporarily shelves (or stashes) changes you've made to your working copy so you can work on something else, and then come back and re-apply them later on. Stashing is handy if you need to quickly switch context and work on something else, but you're mid-way through a code change and aren't quite ready to commit.
205
git - 3 stany plików
1. zmodyfikowany (modified) 2. śledzony (staged) 3. zatwierdzony (commited)
206
Czym jest adres IP?
192.168.155.211 Adres IP to unikalny identyfikator logiczny każdego urządzenia podpiętego do sieci Internet Wyróżniamy dwie wersje adresów IP: 1) IP wersji 4 (IPv4) - wersja 32 bitowa, gdyż składa się z czterech oktetów (bajtów czyli liczb 8 bitowych), z których każdy przyjmuje wartości od 0 do 255. Poszczególne oktety rozdzielamy za pomocą kropki. Zera prowadzące pomijamy 127.0.0.1 2) IP wersji 6 (IPv6) - adres IP to liczba 128-bitowa w kodzie nie dziesiętnym, lecz szesnastkowym (heksadecymalnym).
207
Czy jest IPv4
Czwarta wersja protokołu komunikacyjnego IP przeznaczonego dla Internetu. IP wersji 4 (IPv4) - adres IP to liczba 32-bitowa, zapisywana w porządku big endian* *zapis danych, w której najbardziej znaczący bajt umieszczony jest jako pierwszy Adres zapisywany jest jako cztery oddzielne bajty*, co daje 256 kombinacji, więc każdy bajt (oktet) przedstawia liczbę od 0 do 255. * W postaci binarnej 1 bajt ma 8 bitów dlatego zwany jest oktetem Najpopularniejszy sposób zapisu adresów IP, to przedstawianie ich jako 4 liczb od 0 do 255, oddzielonych kropkami. W rzeczywistości, komputery traktują adres strony firmy DIPOL jako liczbę 32-bitową: 1048150566. Taki zapis jest mało czytelny, wobec czego stosuje się podział adresu IP na cztery oktety. Adres strony www.dipol.com.pl zapisany binarnie ma postać: 00111110011110011000001000100110 (dzięsiętnie: 1048150566) Podział na 4 oktety: 00111110.01111001.10000010.00100110 Po przekształceniu czterech grup 8-bitowych do postaci dziesiętnej powstaje bardziej czytelny adres: 62.121.130.38 Ze względu na skończoną ilość adresów oraz konieczność ich agregacji w celu uproszczenia trasowania, powstały Regionalne Rejestry Internetowe (ang. RIR). Są to organizacje zajmujące się przydzielaniem puli adresów dla dostawców Internetu (ang. ISP). Najważniejszą organizacją jest Agencja Zarządzania Numeracją Internetową (ang. IANA), która zajmuje się dystrybucją poszczególnych pól adresowych. Natomiast do organizacji regionalnych należą: APNIC (ang. Asia Pacific Network Information Centre) - rejon Azji i Pacyfiku, ARIN (ang. American Registry for Internet Numbers) - rejon meryki Północnej, LACNIC (ang. Regional Latin-American and Caribbean IP Address Registry) - rejon Ameryki Łacińskiej i wysp Karaibskich, RIPE (fr. Réseaux IP Européens) - rejon Europy, Bliskiego Wschodu i centralnej Azji, AfriNIC - dla rejonu Afryki (Rozpoczęła działanie 22 lutego 2005, wcześniej dystrybucją zajmowały się RIPE NCC, APNIC i ARIN. W IPv4 początkowo postanowiono wszystkie adresy IP podzielić na pięć klas adresowych: A - duże organizacje (127 sieci - 7 bitów) z bardzo dużą liczbą hostów (16 mln - 24 bity), 1 bit na definicję klasy, B - duża liczba organizacji (16 tys sieci - 14 bitów) z dużą liczbą hostów (65 tys - 16 bitów), 2 bity na definicję klasy, C - małe organizacje (2 mln sieci - 21 bitów), niewielka liczba hostów (256 - 8 bitów), 3 bity na definicję klasy, D - rozsyłanie grupowe pakietów, E - zarezerwowana do celów badawczych. Od roku 1997 podział na klasy sieci jest nieaktualny i nieużywany. Obecnie adresy IPv4 są przydzielane bez zwracania uwagi na klasy sieci. Podział nie jest już też używany przez urządzenia, role klas przejęły maski podsieci. Obecnie cały Internet funkcjonuje na tzw. routingu bezklasowym (CSDIR ang. Classless Inter-Domain Routing).
208
IPv6
Protokół komunikacyjny, , będący następcą protokołu IPv4, do którego opracowania przyczynił się w głównej mierze problem małej, kończącej się liczby adresów IPv4. IP wersji 6 (IPv6) - adres IP to liczba 128-bitowa w kodzie nie dziesiętnym, lecz szesnastkowym (heksadecymalnym). Oznacza to, że adres IP składa się z ośmiu grup cyfr, po cztery cyfry w każdej grupie. Adres IP zapisuje się jako osiem 16-bitowych bloków zapisanych w systemie szesnastkowym oddzielonych dwukropkiem. Dozwolone jest pomijanie początkowych zer w bloku, a także pominięcie jednego ciągu bloków składających się wyłącznie z zer. Pominięte bloki zer oznacza się podwójnym separatorem bloków (dwukropek). Dopuszczalny jest tylko jeden podwójny dwukropek "::" w adresie. Poniżej przedstawiono równoważny zapis adresu: 2003:0db8:0000:0000:0000: 0000:1428:57ac: 2003:0db8:0:0:0:0:1428:57ac 2003:0db8:0:0::1428:57ac 2003:0db8::1428:57ac
209
Maska podsieci
Maska podsieci, maska adresu (ang. subnetwork mask, address mask) – liczba służąca do wyodrębnienia w adresie IP części będącej adresem podsieci i części, która jest adresem hosta w tej podsieci. Tam gdzie w masce bit ustawiony jest na 1, odpowiadający mu bit adresu IP należy do adresu sieci, natomiast tam gdzie bit jest równy 0 - odpowiadający mu bit adresu IP należy do adresu hosta. Wartość maski musi być znana wszystkim ruterom i komputerom znajdującym się w danej podsieci. Maska podsieci ma bardzo charakterystyczną budowę - zaczyna się od ciągu jedynek, a następnie przechodzi w ciąg zer - część z jedynkami, to część sieciowa maski, natomiast ciąg zer to tzw. część hosta. Maska podsieci (dla IPv4) podobnie jak adres IP w wersji 4 jest liczbą 32 bitową (dla IPv6 ma 128 bitów). Często można spotkać się ze skróconym zapisem maski w postaci określającej liczbę początkowych bitów mających wartość 1. W przypadku adresu IP 192.168.1.269 i masce 255.255.255.0 skrócony zapisy wygląda tak: 192.168.1.269/24 Maska podsieci ustawia zakres adresów IP z którymi mamy łączność  IP Subnet Calculator
210
Brama sieciowa (gateway)
Brama sieciowa (ang. gateway) – urządzenie podłączone do sieci komputerowej, za pośrednictwem którego komputery z sieci lokalnej komunikują się z komputerami w innych sieciach (punkt wejścia z jednej sieci do innych sieci) Host wysyła do domyślnej bramy sieciowej (a konkretnie na adres IP bramy sieciowej) wszystkie pakiety skierowane do innych hostów znajdujących się poza siecią lokalną co oznacza, iż host bez podanego adresu bramy domyślnej może wymieniać pakiety tylko z komputerami w tej samej sieci lokalnej. Wobec upowszechnienia się sieci TCP/IP pojęcie bramy sieciowej stało się praktycznie tożsame z ruterem.
211
DNS
Do zamiany publicznych (zewnętrznych) adresów IP z postaci numerycznej na domenową służy usługa DNS (ang. Domain Name System). Oznacza to, że nie ma potrzeby pamiętania adresów w postaci 62.121.130.38 - wystarczy zapamiętać dużo bardziej przyjazny adres np. www.dipol.com.pl. Tłumaczeniem zapisu numerycznego na domenowy zajmuje się odpowiedni serwer DNS, do którego komputer wysyła zapytanie z prośbą o przetłumaczenie adresu. Po uzyskaniu odpowiedzi z adresem numerycznym komputer nawiązuje połączenie z odpowiednim komputerem.
212
Komenda ping
Ping – (Packet Internet or Inter-Network Groper)polecenie używane w sieciach komputerowych TCP/IP (jak Internet) i służące do diagnozowania połączeń sieciowych. Pozwala na sprawdzenie, czy istnieje połączenie pomiędzy hostami testującym i testowanym. Umożliwia on zmierzenie liczby zgubionych pakietów oraz opóźnień w ich transmisji, zwanych lagami.
213
Domyślna brama sieciowa
W sieci TCP/IP domyślna brama (sieciowa) (ang. default gateway) oznacza router, do którego komputery sieci lokalnej mają wysyłać pakiety o ile nie powinny być one kierowane w sieć lokalną lub do innych, znanych im routerów. W typowej konfiguracji sieci lokalnej TCP/IP wszystkie komputery korzystają z jednej domyślnej bramy, która zapewnia im łączność z innymi podsieciami lub z Internetem.
214
Porty sieciowe
Porty protokołu to pojęcie związane z protokołem TCP/IP używanym w Internecie do rozróżniania wielu różnych usług i połączeń. Porty protokołu są oznaczone za pomocą liczb całkowitych z zakresu od 1 do 65535. Niektóre porty (od 1 do 1023) są zarezerwowane na standardowe usługi np.: 53 - DNS 20 - FTP - przesyłanie danych 21 - FTP - przesyłanie poleceń 67 - DHCP - serwer 68 - DHCP - klient 79 - Finger 70 - Gopher 80 - HTTP 443 - HTTPS (HTTP na SSL) 143 - IMAP 220 - IMAP3 3306 - MySQL 119 - NNTP 110 - POP3 995 - POP3S (POP3 na SSL) 25 - SMTP 22 - SSH 23 - Telnet 69 - TFTP