Zajęcia nr.1 Praca Zdalna 08/03/2024

  1. Za pomocą PuTTY połącz się ze zdalnym komputerem na którym chcesz pracować (np.  mts.wibro.agh.edu.pl jako loginu użyj frazy sNumerIndexu, hasło zostanie podane przez  prowadzącego zajęcia).

Po otworzeniu emulatora terminala, czyli Putty’ego, na początku dokonałem jego konfiguracji w menu konfiguracji. Następnie zalogowałem się na serwer mts.wibro.agh.edu.pl, aby móc wykonywać następne zadania.

  1. Autentykacja za pomocą kluczy asymetrycznych

 ssh username@student.agh.edu.pl 

Wygenerowanie pary kluczy oraz skopiowanie klucza publicznego na konto na serwerze student, umożliwiło logowanie na konto student, bez wracania do menu konfiguracyjnego Putty’ego (Po wylogowaniu z serwera mts.wibro.agh.edu.pl, aby przejść na serwer student), lecz bezpośrednio poprzez wpisania w terminal polecenia „ssh username@student.agh.edu.pl” (podczas bycia zalogowanym na serwerze mts.wibro.agh.edu.pl) i dodatkowo bez wpisywania hasła.

  1. Praca z plikami i katalogami

Załóż katalog o nazwie tmp = mkdir tmp

Utwórz plik tekstowy zawierający Twoje imię i nazwisko = nano imie.txt i wpisz tam imię oraz nazwisko

Dla nowo utworzonego pliku zmień prawa dostępu tak, by wszyscy użytkownicy systemu mogli go czytać (chmod og+x), a jeśli mają takie prawa, to zmień je tak, by tylko właściciel pliku mógł czytać i poprawiać ten plik (chmod u+rwx)

  1. Wyświetl procesy.  Przetestuj jakie procesy mogą być wyświetlane w zależności od wybranych przełączników (opcji).

Poleceniem „ps” można wyświetlić procesy uruchomione z bieżącego terminala. Dodatkowo można użyć różnych opcji, aby zmodyfikować działania polecenia „ps”:

  1. Sprawdź ilu użytkowników pracuje na serwerze. Policz ich programowo.

Aby wyświetlić listę użytkowników pracujących na serwerze można użyć poleceń:

Aby policzyć użytkowników można użyć komendy „users | wc”

  1. Zmień hasło dostępu do konta.

Aby zmienić hasło trzeba użyć komendy „passwd”

  1. Znajdź plik passwd w systemie. Sprawdź działanie różnych opcji wyszukiwania plików w systemie.

Do znalezienia pliku passwd można użyć polecenia „find / -name 'passwd' -print” , które to polecenie pozwoli wyświetlić wszystkie lokalizacje plików z tą nazwą.

  1. Sprawdź w jakim katalogu pracujesz.  Przetestuj działanie skrótów do charakterystycznych katalogów w systemie linux - root, katalog domowy, katalog bieżący,  katalog poziom wyższy.

Aby sprawdzić w jakim katalogu aktualnie pracuje, trzeba używać komendy „pwd” .

  1. Korzystając z przekierowań wejści i/lub wyjścia utwórz plik o dowolnej nazwie zawierający twoje imię i nazwisko. 

Można to zrobić komendą: echo "Tobiasz Kobza">>imie2.txt

> - nadpisanie

>> - dopisanie

  1. Przeglądnij opis komendy rm. Przetestuj możliwość usunięcia katalogu łącznie z jego zawartością.

Aby usunąć katalog łącznie z zawartością trzeba użyć polecenia: rm -r [katalog]

  1. Załóż katalog pozwalający na publikowanie Twoich stron WWW w sieci (opis w tekście). 

  1. Utwórz, za pomocą dowolnej metody opisanej w tekście, plik tekstowy tmp.txt. 

Można to zrobić komendami: touch tmp.txt ; nano tmp.txt ; vi tmp.txt .

  1. Umieść w utworzonym pliku następujący tekst: 

<!DOCTYPE html>

<html> 

<head> 

<meta charset="UTF-8">

<title> Strona próbna!! </title> 

</head> 

<body>

<h1>Witaj świecie!!!</h1> 

<h2>Imię Nazwisko</h2>

</body> 

</html> 

  1. >Zmień nazwę pliku na index.html .

Można to zrobić komendą: mv tmp.txt index.html

  1. Sprawdź prawa dostępu do pliku. 

Można to zrobić komendą: ls -l index.html

Wynik: -rw-r--r-- 1 s420325 studenci 176 mar 13 18:59 index.html

  1. Usuń plik tmp.txt.

Można to zrobić komendą: rm tmp.txt

  1. Policz programowo ile linii ma plik index.html. 

Można to zrobić komendą: wc -l index.html . Wynik: 11 index.html

  1. Sprawdź za pomocą przeglądarki internetowej swoją stronę. Zwróć uwagę na wyświetlanie polskich znaków. 

Trzeba wpisać w przeglądarce adres: http://mts.wibro.agh.edu.pl/~s420325/

  1. Usuń z pliku html linię ze znacznikiem META. Ponownie sprawdź wyświetlanie polskich znaków.

Trzeba usunąć linię: <meta charset="UTF-8">

Spowoduje to wyświetlenie zamiast „Witaj świecie!!! Imię nazwisko”, „Witaj świecie!!! Imię Nazwisko”

  1. Zbadaj zmieniając prawa dostępu zarówno do pliku html jak i do katalogu public_html jakie minimalne prawa dostępu pozwalają na dostęp i wyświetlenie pliku.

Przyznanie użytkownikom prawa przeszukania katalogu ("x") nie oznacza równoczesnego nadania prawa jego odczytu ("r"). Minimalne prawa dostępu pozwalające na dostęp i wyświetlenie pliku to „r” i „x”.

  1. Użyj polecenia tar do spakowania zawartości swojego katalogu domowego. Sprawdź dostępne metody kompresji tworzonego archiwum oraz jakość ich działania.

Można to zrobić komendą: tar cfv kompresja_domowego.tar ~

  1. Utwórz dodatkowy katalog tymczasowy i rozpakuj do niego archiwum. Sprawdź jak zachowują się pliki (zawartość, ustawione prawa dostępu, …) po rozpakowaniu zawartości. 

Najpierw trzeba przenieść skompresowany plik do katalogu tymczasowego:

mv kompresja_domowego.tar tmp

A następnie, aby rozpakować: tar xfv kompresja_domowego.tar

Spowoduje to utworzenie katalogu home w katalogu tymczasowym tmp.

Zawartość home to: katalog skibd24 -> katalog s420325 , a w nim -> imie2.txt number_of_users.txt public_html tmp

  1. Wykonaj modyfikacje strony wprowadzając do niej dodatkowe elementy: 

Paragarfy dodajemy komendą: <p> [zawartość paragrafu] </p> , którą trzeba umieścić w pliku index.html w sekcji <body>

Paragarfy dodajemy komendą: <img src="[ścieżka]/[nazwa pliku].jpg" alt="[tekst alternatywny, gdy obrazek nie wyświetli się]" width="[szerokość]" height="[wysokość]">, którą trzeba umieścić w pliku index.html w sekcji <body> .

Można je dodać komendą:

<a href="[adres strony]">
<img src="[ścieżka do obrazka]" alt="tekst alternatywny obrazka” style="width:[szerokość];height:[wysokość];">
</a>

<button onclick="[funkcja]">[Nazwa przycisku]</button>

Można je dodać komendą:

<table>
  <tr>
<th>[zawartość nagłówka tabeli 1 wiersz 1 kolumna]</th>
    <th>[zawartość nagłówka tabeli 1 wiersz 2 kolumna]</th>
    <th>[zawartość nagłówka tabeli 1 wiersz 3 kolumna]</th>
  </tr>
  <tr>
    <td>[zawartość nagłówka tabeli 2 wiersz 1 kolumna]</td>
    <td>[zawartość nagłówka tabeli 2 wiersz 2 kolumna]</td>
    <td>[zawartość nagłówka tabeli 2 wiersz 3 kolumna]</td>
  </tr>
  <tr>
    <td>[zawartość nagłówka tabeli 3 wiersz 1 kolumna]</td>
    <td>[zawartość nagłówka tabeli 3 wiersz 2 kolumna]</td>
    <td>[zawartość nagłówka tabeli 3 wiersz 3 kolumna]</td>
  </tr>
</table>

Przesylanie obrazka:

mcedit [nazwa].md

wpisac w edytorze

[obrazek](./sciezka do obrazka)

Podstawowe możliwości HTML można znaleźć na przykładowych stronach: 

  1. Zapoznaj się z formatem markdown - https://daringfireball.net/projects/markdown/ lub https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax

Markdown to narzędzie do konwersji tekstu na HTML dla twórców stron internetowych. Markdown umożliwia pisanie w łatwym do odczytania i łatwym do napisania formacie zwykłego tekstu, a następnie konwertowanie go do strukturalnie prawidłowego XHTML (lub HTML).

Zatem „Markdown” to dwie rzeczy: (1) składnia formatowania zwykłego tekstu; oraz (2) narzędzie programowe napisane w języku Perl, które konwertuje formatowanie zwykłego tekstu na HTML.

Nadrzędnym celem projektowym składni formatowania Markdown jest uczynienie jej tak czytelną, jak to tylko możliwe. Pomysł jest taki, że dokument w formacie Markdown powinien nadawać się do publikacji w niezmienionej postaci, jako zwykły tekst, bez wyglądu, jakby został oznaczony tagami lub instrukcjami formatowania. Chociaż na składnię Markdown miało wpływ kilka istniejących filtrów zamiany tekstu na HTML, największym źródłem inspiracji dla składni Markdown jest format wiadomości e-mail w postaci zwykłego tekstu.

  1. Zastosuj markdown do formatowania pliku raportu generowanego jako sprawozdanie z laboratorium.

Plik z formatem .md można stworzyć używając takich edytorów tekstu jak Sublime Text, Notepad++, Atom, Visual Studio Code, Vim, Emacs i Brackets.

Następnie przesyłam plik ze swojego komputera do serwera mts.wibro.agh.edu.pl:

Otwieram konsolę z serwerem mts.wibro.agh.edu.pl (putty) oraz konsolę cmd (aby operować na zasobach własnego komputera).

Następnie na konsoli cmd przechodzę do foldera zawierającego plik z rozszerzeniem .md, który chce przesłać.

Wpisuję komendę nc -l [numer portu] > [nazwa pliku].md w konsoli z serwerem mts.wibro.agh.edu.pl (uruchomi to tryb nasłuchiwania na danym porcie) oraz nc mts.wibro.agh.edu.pl [port] < [nazwa pliku].md w konsoli cmd.

Powoduje to przesłanie pliku z źródła lokalnego(mojego komputera) do serwera mts.wibro.agh.edu.pl

  1. Zapoznaj się ze specyfikacją programu pandoc - https://pandoc.org/MANUAL.html

Pandoc to biblioteka Haskell służąca do konwersji z jednego formatu znaczników na inny oraz narzędzie wiersza poleceń korzystające z tej biblioteki.

Pandoc może konwertować pomiędzy wieloma formatami znaczników i edytorów tekstu, w tym między innymi różnymi odmianami Markdown, HTML, LaTeX i Word docx.

Przykładowe formaty wejścia: Markdown, HTML, DOCX, EPUB itp.

Przykładowe formaty wyjścia: PDF, Markdown, HTML, DOCX, EPUB itp.

Pandoc ma konstrukcję modułową: składa się z zestawu czytników, które analizują tekst w danym formacie i tworzą natywną reprezentację dokumentu (abstrakcyjne drzewo składni lub AST) oraz zestawu modułów piszących, które przekształcają tę natywną reprezentację na format docelowy.

Zatem dodanie formatu wejściowego lub wyjściowego wymaga jedynie dodania czytnika lub modułu zapisującego.

  1. Zastosuj pandoc do konwersji raportu do postaci zewnętrznego pliku HTML

Można to zrobić używając komendy:

pandoc -s -o [nazwa pliku].html [nazwa pliku wygenerowanego].txt

  1. Opublikuj raport w ramach swojej strony na serwerze.

Wykonano