You are on page 1of 6

1.

/dev (Device): Katalog /dev zawiera pliki reprezentujące urządzenia fizyczne lub wirtualne, takie jak
dyski twarde, karty dźwiękowe, karty sieciowe, urządzenia USB itp. Te pliki umożliwiają aplikacjom
komunikację z urządzeniami sprzętowymi. Na przykład, /dev/sda reprezentuje pierwszy dysk twardy, a
/dev/sdb drugi dysk.

/proc (Process): Katalog /proc zawiera informacje na temat działających procesów i zasobów systemu.
Każdy proces jest reprezentowany jako katalog o nazwie odpowiadającej jego identyfikatorowi PID
(Process ID). W katalogu /proc znajdują się również pliki i katalogi zawierające informacje o zasobach,
takie jak cpuinfo (informacje o procesorze) i meminfo (informacje o pamięci systemowej).

/sys (Sysfs): Katalog /sys jest podobny do katalogu /proc i zawiera informacje o zasobach systemu,
takie jak urządzenia PCI, ACPI i wiele innych. /sys jest bardziej zorientowany na obsługę sprzętu i jest
używany do zarządzania i monitorowania sprzętu na poziomie jądra Linux. Parametry systemowe –
jądro, bloki dysków

2. // Odczytaj pierwszy sektor dysku /dev/sda (głównego dysku) i wyświetl go za pomocą hexdump -C

sudo dd count =1 if=/dev/sda | hexdump -C

3. Wyświetlanie podstawowych informacji o procesach:

Komenda ps aux wyświetla listę wszystkich procesów w systemie w formie tabeli. Obejmuje
informacje takie jak PID (identyfikator procesu), użytkownik, CPU, pamięć itp. KOLUMNY OPISAC PPID
PID

4. Sprawdzanie szczegółowych informacji o konkretnym procesie:


Aby uzyskać informacje o konkretnym procesie, można użyć komendy ps -p PID, gdzie PID to numer
identyfikacyjny procesu. Na przykład:

ps -p 12345

Ta komenda wyświetli szczegółowe informacje o procesie o numerze PID 12345.

5. Wyświetlanie informacji o procesach uruchamianych z terminali:

Aby wyświetlić informacje o procesach uruchamianych w konkretnym terminalu, możesz użyć ps w


połączeniu z opcją -t i nazwą terminala. Na przykład:

ps -t pts/0

Ta komenda pokaże procesy uruchamiane w terminalu pts/0.

6. Wyświetlanie drzewa procesów:

ps może wyświetlać drzewo procesów, co pozwala zobaczyć hierarchię procesów. Użyj ps axjf:

ps axjf

Ta komenda wyświetli procesy w formie drzewa, pokazując PID, rodzica i inne informacje.

7. Wyświetlanie procesów związanym z konkretnym użytkownikiem:

Możesz użyć ps -u username do wyświetlenia procesów związanym z określonym użytkownikiem. Na


przykład:

ps -u john

Ta komenda wyświetli procesy użytkownika o nazwie "john".

8. Sprawdzanie informacji o urządzeniach TTY:

Aby sprawdzić, które urządzenia TTY są używane przez procesy, można użyć polecenia ps w połączeniu
z opcją -o i określić, które kolumny chcesz wyświetlić. Na przykład:

ps -e -o tty,command

Ta komenda wyświetli procesy razem z informacjami o urządzeniach TTY, które są używane przez te
procesy.

9. Uruchom pierwszy terminal i sprawdź urządzenie "tty" za pomocą polecenia "tty". Będziesz używać
tej informacji do porównania z tymi w innych terminalach.

Terminal 1:

$ tty

/dev/pts/0
10. Stworzenie pliku źródłowego programu C:

Użyj polecenia cat w celu utworzenia pliku źródłowego test.c. To polecenie pozwala na wprowadzanie
tekstu w trybie interaktywnym. Po wprowadzeniu kodu programu, naciśnij klawisz Ctrl + D, aby
zakończyć edycję tekstu.

cat > test.c

Następnie wprowadź kod źródłowy programu, jak podano w zadaniu.

Kompilacja programu C przy użyciu kompilatora GCC:

Aby skompilować program C, użyj polecenia gcc. W tym przypadku kompilujemy plik źródłowy test.c i
generujemy plik wykonywalny o domyślnej nazwie a.out.

gcc -Wall -pedantic test.c

Opcja -Wall włącza wyświetlanie wszystkich ostrzeżeń podczas kompilacji, co pomaga w identyfikacji
potencjalnych problemów w kodzie.

Opcja -pedantic włącza tryb zgodności z normą ANSI C (C89/C90) i wyświetla ostrzeżenia dotyczące
używania rozszerzeń języka. Pomaga to pisać kod, który jest zgodny z oficjalnym standardem języka C.

CZYTALAM MAN GCC TO ROBERT POLECA BO ZAWADA MI SIĘ SPUŚCI

Uruchomienie programu:

Po udanej kompilacji możesz uruchomić program za pomocą polecenia ./a.out:

Program wyświetli na ekranie napis "Hello, World!".

11. Uruchamianie zadań w tle (&):

sleep 1000 &

sleep 1001 &

sleep 1002 &

Powyższe polecenia uruchomią trzy zadania w tle. Każde z tych zadań będzie działać niezależnie w tle.

Wyświetlenie aktywnych zadań (jobs):

Aby zobaczyć aktywne zadania w bieżącej sesji terminala, wpisz:

jobs

Otrzymasz listę aktywnych zadań wraz z ich numerami identyfikacyjnymi (PID) i statusami.
Przywracanie zadania do działania (fg):

Aby przywrócić zadanie do działania w przednim planie, użyj fg, a następnie numeru
identyfikacyjnego zadania. Na przykład:

fg %1 (może bez procent)

To spowoduje, że pierwsze zadanie zostanie przywrócone do działania na pierwszym planie.

Zatrzymanie zadania (Ctrl + Z):

Możesz zatrzymać działające zadanie w tle, naciskając Ctrl + Z. Na przykład:

Ctrl + Z

Zadanie zostanie zatrzymane, a jego numer PID zostanie wyświetlony.

Wznowienie zadania w tle (bg):

Aby wznowić zatrzymane zadanie w tle, użyj bg, a następnie numeru identyfikacyjnego zadania. Na
przykład:

bg %1

To spowoduje, że pierwsze zadanie zostanie wznowione w tle.

Uruchomienie zadania w tle podczas działania w przednim planie:

Jeśli masz zadanie działające w przednim planie, na przykład sleep 100, i chcesz je przenieść do
działania w tle, użyj kombinacji klawiszy Ctrl + Z, a następnie wydaj polecenie bg:

Ctrl + Z

bg

Zadanie zostanie przeniesione do działania w tle.

Zakończenie zadania (kill):

Aby zakończyć działające zadanie, użyj polecenia kill z numerem identyfikacyjnym zadania (PID). Na
przykład:

kill %1

To zakończy zadanie pierwsze.

12. Aby przetestować działanie potoku nazwanego (named FIFO) z użyciem poleceń cat, wykonaj
następujące kroki:
Utworzenie potoku nazwanego (mkfifo):

Uruchom terminal i wykonaj polecenie mkfifo, aby utworzyć potok nazwany. Nazwijmy go np.
"myfifo":

mkfifo myfifo

Teraz masz utworzony potok nazwany o nazwie "myfifo".

Uruchomienie procesu zapisującego dane w potoku:

W jednym z terminali uruchom polecenie cat, które będzie zapisywać dane do potoku. Wprowadzaj
dane w konsoli i naciśnij Enter. Polecenie cat będzie oczekiwać na dane wejściowe i zapisywać je do
potoku "myfifo". Przykład:

cat > myfifo

Po wprowadzeniu tekstu i naciśnięciu Enter, dane zostaną zapisane do potoku.

Uruchomienie procesu odczytującego dane z potoku:

W innym terminalu uruchom polecenie cat, które będzie odczytywać dane z potoku "myfifo" i
wyświetlać je na ekranie. Przykład:

cat < myfifo

Teraz możesz zobaczyć, że dane wprowadzone w pierwszym terminalu za pomocą cat są odczytywane
i wyświetlane w drugim terminalu przez drugie polecenie cat.

Obserwacja zachowania potoku:

Kiedy proces odczytujący (cat < myfifo) jest aktywny, czeka na dane w potoku. Proces zapisujący (cat >
myfifo) jest odpowiedzialny za dostarczenie danych.

Kiedy proces zapisujący (cat > myfifo) jest aktywny, czeka na wprowadzenie danych z klawiatury.
Proces odczytujący (cat < myfifo) jest odpowiedzialny za odczytywanie danych z potoku.

13. Tak, wiele terminali może obsługiwać 256 lub więcej kolorów. Jednak obsługa tych kolorów zależy
od terminala i jego konfiguracji. Oto kilka informacji na ten temat:

- Kolory ANSI: Standardowo terminale obsługują 8 podstawowych kolorów tekstu i tła (czarny,
czerwony, zielony, żółty, niebieski, magenta, cyjan, biały) za pomocą sekwencji ucieczki ANSI, takich
jak \033[31m dla czerwonego tekstu. Te kolory są obsługiwane przez większość terminali.

- Rozszerzone kolory: Niektóre terminale, takie jak xterm, gnome-terminal, konsole, urxvt itp.,
pozwalają na wykorzystanie większej ilości kolorów, zazwyczaj 256. Aby używać tych rozszerzonych
kolorów, musisz użyć odpowiednich sekwencji ucieczki ANSI. Na przykład, \033[38;5;196m oznacza
ustawienie koloru tekstu na 196.
- RGB Colors: W niektórych terminalach możesz użyć kolorów opisanych w systemie RGB. Dla
przykładu, możesz użyć sekwencji \033[38;2;255;0;0m dla czerwonego koloru tekstu, gdzie 255 to
czerwony, 0 to zielony, a 0 to niebieski. To pozwala na większą kontrolę nad kolorem.

Teraz skompiluj program za pomocą kompilatora C (np. GCC) poleceniem:

gcc -o color_hello color_hello.c

To polecenie kompiluje program i tworzy plik wykonywalny o nazwie "color_hello".

Teraz możesz uruchomić program, wpisując:

./color_hello

14.

for file in *; do

new_name=$(echo "$file" | tr 'A-Z' 'a-z')

mv "$file" "$new_name"

done

do tworzenia: touch ./”-ABC”

You might also like