Różnice między wybraną wersją a wersją aktualną.
| Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
|
so:intro [2024/02/20 12:53] jkonczak [Dopasowywanie nazw plików] |
so:intro [2026/03/12 01:03] (aktualna) jkonczak [Dopasowywanie nazw plików] |
||
|---|---|---|---|
| Linia 24: | Linia 24: | ||
| <html><small></html> | <html><small></html> | ||
| - | GNU/Linux | + | Linux, dystrybucja Linuksa, GNU/Linux… |
| * [[https://www.gnu.org/gnu/gnu.html|GNU]] to zbiór wolnego oprogramowania, które łącznie tworzy system operacyjny uzupełniony o szeroki wybór oprogramowania użytkowego [[https://www.gnu.org/manual/blurbs.html]] | * [[https://www.gnu.org/gnu/gnu.html|GNU]] to zbiór wolnego oprogramowania, które łącznie tworzy system operacyjny uzupełniony o szeroki wybór oprogramowania użytkowego [[https://www.gnu.org/manual/blurbs.html]] | ||
| * jądro GNU, [[https://www.gnu.org/software/hurd/|Hurd]], nie jest jeszcze na zadowalającym poziomie (od 30 lat…) | * jądro GNU, [[https://www.gnu.org/software/hurd/|Hurd]], nie jest jeszcze na zadowalającym poziomie (od 30 lat…) | ||
| * więc oprogramowanie GNU jest zwykle uruchamiane na kernelu Linux | * więc oprogramowanie GNU jest zwykle uruchamiane na kernelu Linux | ||
| * większość dystrybucji Linuksa zawiera dużą ilość oprogramowania nie będącego częścią GNU (i niekoniecznie będącego wolnym bądź otwartym oprogramowaniem) | * większość dystrybucji Linuksa zawiera dużą ilość oprogramowania nie będącego częścią GNU (i niekoniecznie będącego wolnym bądź otwartym oprogramowaniem) | ||
| + | * kilka dystrybucji Linuksa jest w większości oparte na wolnym i/lub otwartoźródłowym oprogramowaniu spoza projektu GNU i dostępnym na licencjach niezwiązanych z GNU | ||
| <html></small></html> | <html></small></html> | ||
| Linia 62: | Linia 63: | ||
| <html></small></html> | <html></small></html> | ||
| - | POSIX standaryzuje zarówno [[https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html|powłokę]] | + | POSIX standaryzuje zarówno [[https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html|powłokę]] |
| - | jak i kluczowe [[https://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html|narzędzia]]. | + | jak i kluczowe [[https://pubs.opengroup.org/onlinepubs/9799919799/utilities/contents.html|narzędzia]]. |
| ==== Jak dostać się do shella ==== | ==== Jak dostać się do shella ==== | ||
| Linia 77: | Linia 78: | ||
| * programy dołączane do środowisk graficznych Linuksa: [[https://docs.xfce.org/apps/terminal/start|xfce4-terminal]], [[https://en.wikipedia.org/wiki/GNOME_Terminal|GNOME Terminal]], [[https://konsole.kde.org/|konsole]] | * programy dołączane do środowisk graficznych Linuksa: [[https://docs.xfce.org/apps/terminal/start|xfce4-terminal]], [[https://en.wikipedia.org/wiki/GNOME_Terminal|GNOME Terminal]], [[https://konsole.kde.org/|konsole]] | ||
| * MacOS domyślne używa aplikacji [[https://en.wikipedia.org/wiki/Terminal_(macOS)|Terminal]] | * MacOS domyślne używa aplikacji [[https://en.wikipedia.org/wiki/Terminal_(macOS)|Terminal]] | ||
| - | * popularne są też wyjeżdżające z góry terminale przywoływane/chowane prostym skrótem klawiszowym:\\ [[https://apps.kde.org/yakuake/|yakuake]] / [[http://guake-project.org/|guake]](([[https://web.archive.org/web/20230709030453/http://guake-project.org/|Kopia strony domowej projektu z archive.org]], [[https://github.com/Guake/guake/|github]])) / [[https://github.com/lanoxx/tilda|tilda]] | + | * popularne są też wyjeżdżające z góry terminale przywoływane/chowane prostym skrótem klawiszowym:\\ [[https://apps.kde.org/yakuake/|yakuake]] / [[https://guake.github.io/|guake]] / [[https://github.com/lanoxx/tilda|tilda]] |
| <html></small></html> | <html></small></html> | ||
| Linia 102: | Linia 103: | ||
| <small> | <small> | ||
| + | |||
| SSH (Secure SHell) szyfruje cały ruch. Poprzednik SSH – telnet – wszystko, włącznie z hasłami, wysłał czystym tekstem. | SSH (Secure SHell) szyfruje cały ruch. Poprzednik SSH – telnet – wszystko, włącznie z hasłami, wysłał czystym tekstem. | ||
| Linia 121: | Linia 123: | ||
| (w OpenSSH trzymanej w pliku ''~/.ssh/known_hosts'') | (w OpenSSH trzymanej w pliku ''~/.ssh/known_hosts'') | ||
| i sprawdza przy każdym kolejnym połączeniu. | i sprawdza przy każdym kolejnym połączeniu. | ||
| + | |||
| </small> | </small> | ||
| Linia 131: | Linia 134: | ||
| ~~Zadanie.#~~ Używając SSH i swojego konta zaloguj się na ''polluks.cs.put.poznan.pl''. | ~~Zadanie.#~~ Używając SSH i swojego konta zaloguj się na ''polluks.cs.put.poznan.pl''. | ||
| + | === Jak zakończyć pracę z powłoką === | ||
| + | |||
| + | Komenda ''exit'' kończy pracę bieżącej powłoki. \\ | ||
| + | Podobnie działa zasygnalizowanie [[https://en.wikipedia.org/wiki/End-of-file|końca pliku]] (wciśnięcie //Ctrl//+//d//) w pustej linii. \\ | ||
| + | Jeżeli powłoka jest powłoką logowania, to do jej zakończenia można też użyć komendy ''logout''. | ||
| ===== Korzystanie z pomocy ===== | ===== Korzystanie z pomocy ===== | ||
| Linia 152: | Linia 160: | ||
| ~~Zadanie.#~~ Wyświetl listę wszystkich stron o tytule ''time''. | ~~Zadanie.#~~ Wyświetl listę wszystkich stron o tytule ''time''. | ||
| - | Żeby wyświetlić stronę z wybranej sekcji, należy wpisać ''man //sekcja// //nazwa_strony//''. | + | Żeby wyświetlić stronę z wybranej sekcji, należy wpisać ''man //sekcja// //nazwa_strony//'', np. ''man 2 write''. |
| ~~Zadanie.#~~ Samo ''man'' jest opisane w dwóch sekcjach. Wyświetl obie strony o nazwie ''man''. Co zwiera każda z tych stron? | ~~Zadanie.#~~ Samo ''man'' jest opisane w dwóch sekcjach. Wyświetl obie strony o nazwie ''man''. Co zwiera każda z tych stron? | ||
| Linia 184: | Linia 192: | ||
| Opcje są zwykle zdefiniowane w krótkiej formie ''-o'' gdzie ''o'' to pojedynczy znak bądź długiej ''--opcja'' gdzie ''opcja'' to nazwa opcji. | Opcje są zwykle zdefiniowane w krótkiej formie ''-o'' gdzie ''o'' to pojedynczy znak bądź długiej ''--opcja'' gdzie ''opcja'' to nazwa opcji. | ||
| \\ | \\ | ||
| - | <html><small></html>Nieliczne programy używają tylko długich opcji poprzedzonych pojedynczym ''-'' (np. ''find'', ''convert'', ''ffmpeg'').<html></small></html> | + | <html><small></html>Nieliczne programy używają tylko długich opcji poprzedzonych pojedynczym ''-'' (np. ''find'', ''magick'', ''ffmpeg'').<html></small></html> |
| \\ | \\ | ||
| Krótkie opcje można łączyć w następujący sposób: ''ls -color'' jest równoważne ''ls -c -o -l -o -r'' (i różne od ''ls --color'') | Krótkie opcje można łączyć w następujący sposób: ''ls -color'' jest równoważne ''ls -c -o -l -o -r'' (i różne od ''ls --color'') | ||
| Linia 228: | Linia 236: | ||
| ==== Wyświetlanie zawartości katalogu ==== | ==== Wyświetlanie zawartości katalogu ==== | ||
| - | Plecenie ''**ls [//katalog//]**'' wyświetla listę plików w katalogu ''katalog''. \\ Bez podania argumentów ''ls'' wyświetli bieżący katalog. | + | Polecenie ''**ls [//katalog//]**'' wyświetla listę plików w katalogu ''katalog''. \\ Bez podania argumentów ''ls'' wyświetli bieżący katalog. |
| \\ | \\ | ||
| - | Domyślnie ''ls'' nie wyświetla ukrytych plików. Przełącznik **''-a''** i ''--all'' zmieniają to zachowanie. | + | Domyślnie ''ls'' nie wyświetla ukrytych plików. Przełącznik **''-a''** zmienia to zachowanie. |
| \\ | \\ | ||
| - | Przełącznik **''-l''** / ''--list'' wyświetla szczegółową listę plików zawierającą m. inn. dla każdego pliku jego właściciela, rozmiar i datę modyfikacji. | + | Przełącznik **''-l''** wyświetla szczegółową listę plików zawierającą m. inn. dla każdego pliku jego właściciela, rozmiar i datę modyfikacji. |
| ~~Zadanie.#~~ Wyświetl pliki w ''/usr/share/zoneinfo/'' i ''../../../../../bin''. | ~~Zadanie.#~~ Wyświetl pliki w ''/usr/share/zoneinfo/'' i ''../../../../../bin''. | ||
| Linia 316: | Linia 324: | ||
| ~~Zadanie.#~~ Przejdź do katalogu ''/usr/bin/''. Wypisz pliki kończące się na ''cat''. | ~~Zadanie.#~~ Przejdź do katalogu ''/usr/bin/''. Wypisz pliki kończące się na ''cat''. | ||
| - | ~~Zadanie.#~~ Wypisz pliki z katalogu ''/usr/bin/'' kończące się na ''cat'' będąc w swoim katalogu domowym. | + | ~~Zadanie.#~~ Przejdź do katalogu domowego i stamtąd wypisz pliki z katalogu ''/usr/bin/'' kończące się na ''cat''. |
| ~~Zadanie.#~~ Wypisz pliki znajdujące się w ''/usr/bin/'' i mające dwuznakową nazwę. | ~~Zadanie.#~~ Wypisz pliki znajdujące się w ''/usr/bin/'' i mające dwuznakową nazwę. | ||
| - | ~~Zadanie.#~~ Wypisz zawartość ''/usr/share/zoneinfo/'' i podkatalogów jedną komendą. | + | ~~Zadanie.#~~ Jedną komendą wypisz pliki znajdujące się w katalogu ''/usr/share/zoneinfo/'' i jego bezpośrednich podkatalogach. |
| ~~Zadanie.#~~ Wypisz pliki o nazwie ''UTC'' znajdujące się w dowolnym podkatalogu ''/usr/share/zoneinfo/''. | ~~Zadanie.#~~ Wypisz pliki o nazwie ''UTC'' znajdujące się w dowolnym podkatalogu ''/usr/share/zoneinfo/''. | ||