Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:unix:lab_powloka [2013/09/16 14:52]
kkluza [DO PRZYGOTOWANIA]
pl:dydaktyka:unix:lab_powloka [2019/06/27 15:50] (aktualna)
Linia 6: Linia 6:
 Samodzielnie należy przed tym laboratorium przygotować:​ Samodzielnie należy przed tym laboratorium przygotować:​
  
-    * podstawy pracy z //Vi//+    * podstawy pracy z //​Vi// ​(ten link może pomóc: http://​vim-adventures.com/​)
     * podstawy pracy z //Emacs//     * podstawy pracy z //Emacs//
     * zapoznać się z innymi edytorami, takimi jak **pico**, **nano**, **mcedit**, ew. czy **joe** **pico** **jed** **zile**     * zapoznać się z innymi edytorami, takimi jak **pico**, **nano**, **mcedit**, ew. czy **joe** **pico** **jed** **zile**
Linia 12: Linia 12:
     * przeczytać artykuł {{:​pl:​dydaktyka:​unix:​gjn-bash.pdf|GNU Bash - Więcej niż Sh}}     * przeczytać artykuł {{:​pl:​dydaktyka:​unix:​gjn-bash.pdf|GNU Bash - Więcej niż Sh}}
  
 +NIEOBOWIĄZKOWO,​ dla zainteresowanych:​ [[https://​dev.to/​awwsmm/​101-bash-commands-and-tips-for-beginners-to-experts-30je|101 Bash Commands and Tips for Beginners to Experts]]
 ===== WPROWADZENIE ===== ===== WPROWADZENIE =====
  
Linia 68: Linia 69:
  
 ==== Zmiana znaku zachęty ==== ==== Zmiana znaku zachęty ====
-Bash (opis w //​bash(1)//,​ "​PROMPTING"​)+Bash (opis w //​bash(1)//,​ "​PROMPTING" ​(ZACHĘTA POWŁOKI))
  
   export PS1='​\u@\h:​\w '   export PS1='​\u@\h:​\w '
Linia 78: Linia 79:
  
 Inne prompty to: ''​PS2 PS3''​ i ''​prompt1 prompt2''​. Inne prompty to: ''​PS2 PS3''​ i ''​prompt1 prompt2''​.
 +
 +
 +==== Re/​Definiowanie poleceń ====
 +Do re/​definiowania poleceń powłoki służy **alias**.
 +Do usuwania definicji: **unalias**.
 +
 +Bash:
 +
 +  alias ls='ls -F'
 +  alias ll='ls -l'
 +  unalias ls
 +
 +Tcsh:
 +
 +  alias ls 'ls -F'
 +  alias ll 'ls -l'
 +  unalias ls
 +
 +
 +==== Cytowanie napisów ====
 +W środowisku powłoki są używane 3 znaki specjalne pozwalające na konstruowanie/​cytowanie napisów:
 +''​ " ''​
 +
 +- cudzysłowy ''​ " '',​ tekst w nich zawarty jest jednym napisem, w którym powłoka może interpertować znaki specjalne, np. podstawiać wartości zmiennych,
 +
 +- apostrofy ''''',​ j.w. tylko BEZ możliwości interpretowania znaków specjalnych - tekst jest dokładnie cytowany,
 +
 +- odwrócone apostrofy ''​`''​ (obok klawisza <​key>​Tab</​key>​),​ zawartość tekstu jest traktowana jako polecenie, uruchamiana przez kolejna powłokę, a wynik działania polecenia jest podstawiany jako tekst.
 +
 +
 +==== Przeglądanie plików tekstowych ====
 +
 +    * po jednym ekranie/​linii do przodu: **more**
 +    * po jednym ekranie/​linii 2 kierunki: **less**
 +    * wyświetlanie zawartości podanych plików:
 +
 +  cat [plik1 plik2 ... plikN]
  
 ==== Inicjalizacja pracy powłok ==== ==== Inicjalizacja pracy powłok ====
Linia 116: Linia 154:
   /​etc/​csh.logout ​   /​etc/​csh.logout ​
   ~/.logout   ~/.logout
- 
- 
-==== Re/​Definiowanie poleceń ==== 
-Do re/​definiowania poleceń powłoki służy **alias**. 
-Do usuwania definicji: **unalias**. 
- 
-Bash: 
- 
-  alias ls='ls -F' 
-  alias ll='ls -l' 
-  unalias ls 
- 
-Tcsh: 
- 
-  alias ls 'ls -F' 
-  alias ll 'ls -l' 
-  unalias ls 
- 
- 
-==== Cytowanie napisów ==== 
-W środowisku powłoki są używane 3 znaki specjalne pozwalające na konstruowanie/​cytowanie napisów: 
- 
-    * cudzysłówy ''"'',​ tekst w nich zawarty jest jednym napisem, w którym powłoka może interpertować znaki specjalne, np. podstawiać wartości zmiennych, 
-    * apostrofy ''''',​ j.w. tylko BEZ możliwości interpretowania znaków specjalnych - tekst jest dokładnie cytowany, 
-    * odwrócone apostrofy ''​`''​ (obok klawisza <​key>​Tab</​key>​),​ zawartość tekstu jest traktowana jako polecenie, uruchamiana przez kolejna powłokę, a wynik działania polecenia jest podstawiany jako tekst. 
- 
- 
-==== Przeglądanie plików tekstowych ==== 
- 
-    * po jednym ekranie/​linii do przodu: **more** 
-    * po jednym ekranie/​linii 2 kierunki: **less** 
-    * wyświetlanie zawartości podanych plików: 
- 
-  cat [plik1 plik2 ... plikN] 
  
 ==== GNU Readline ==== ==== GNU Readline ====
Linia 165: Linia 169:
     * Reszta często emuluje w pewnym zakresie jeden z tych dwóch.     * Reszta często emuluje w pewnym zakresie jeden z tych dwóch.
     * Należy znać podstawy użycia Emacs i VI, np.: poruszanie się po ekranie, obsługa plików, podstawy edycji.     * Należy znać podstawy użycia Emacs i VI, np.: poruszanie się po ekranie, obsługa plików, podstawy edycji.
 +    * Ciekawy tutorial do nauki VI: [[https://​vim-adventures.com/​|VIM Adventures]]
  
-==== Midnight Commander ==== 
-Jest to program do zarządzania plikami. Obsługuje się go podobnie jak inne typu "​commander"​. Dodatkowo: 
- 
-    * zmiana praw dostępu: <​key>​C-x c</​key>​ 
-    * dostęp do klawiszy <​key>​Fn</​key>​ przez <​key>​ESC n</​key>​ 
-    * //lynx-like motion// w konfiguracji 
-    * wiele innych możliwości... 
- 
-Z MC dostępney jest edytor **mcedit**. 
  
 ===== ĆWICZENIA ​ ===== ===== ĆWICZENIA ​ =====
Linia 214: Linia 210:
     * ustawić znaki zachęty w powłoce sh (bash) przy pomocy zmiennej ''​PS1''​ i tcsh przy pomocy ''​set prompt'';​ ustawić na wartości: ''​uzytkownik@komputer katalog'',​ ''​godzina-katalog''​ i inne.     * ustawić znaki zachęty w powłoce sh (bash) przy pomocy zmiennej ''​PS1''​ i tcsh przy pomocy ''​set prompt'';​ ustawić na wartości: ''​uzytkownik@komputer katalog'',​ ''​godzina-katalog''​ i inne.
     * przetestować dziedziczenie prompta w sh (ustawiać z i bez ''​export''​)     * przetestować dziedziczenie prompta w sh (ustawiać z i bez ''​export''​)
-==== - Inicjalizacja powłok ==== 
- 
-    * odnaleźć w dokumentacji odpowiednie fragmenty opisujące inicjalizację powłok: //​bash(1)//:​ INVOCATION, FILES, //​tcsh(1)//:​ Startup and shutdown, FILES 
-    * przy pomocy wybranego edytora (**nano**, **pico**, **mcedit**, **emacs**, **jed**, **vi**) stworzyć pliki dla własnej powłoki logowania: 
-      * inicjalizacyjne dla //login shell// 
-      * inicjalizacyjne dla //nonlogin shell// 
-      * czytane przy zamykaniu powłoki 
-    * działanie plików testować przy pomocy polecenia **source** 
-    * umieścić w plikach komentarze - znak hash (''#''​) i komunikaty - polecenie ''​echo "​napis"''​ 
-    * sprawdzać inicjalizację powłok //login// i //​nonlogin//​ uruchamiając:​ 
- 
-  tcsh 
-  tcsh -l 
-  bash 
-  bash --login 
- 
-    * w pliku czytanym przy zamykaniu powłoki umieścić polecenie **clear** 
-    * jak "​przestawić"​ login shell, np. z tcsh na basha (przy pomocy plików inicjalizacyjnych)?​ 
- 
-//​Wskazówka//:​ Aby przetestować,​ czy poprawnie zdefiniowali Państwo plik inicjalizacyjny można np. zdefiniować w nim zmienną środowiskową,​ komunikat wyświetlany przy pomocy ''​echo''​ lub alias (patrz kolejna sekcja), a następnie logując się do odpowiedniej powłoki (np. poprzez ''​bash --login'',​ ''​tcsh''​) sprawdzić, czy alias jest znany (a zatem poprawnie wczytano i zinterpretowano plik inicjalizacyjny). 
- 
 ==== - Aliasy ==== ==== - Aliasy ====
  
Linia 264: Linia 239:
   echo 'ls -l'   echo 'ls -l'
   echo `ls -l`   echo `ls -l`
 +
 +==== - Inicjalizacja powłok ====
 +
 +    * odnaleźć w dokumentacji odpowiednie fragmenty opisujące inicjalizację powłok: //​bash(1)//:​ INVOCATION (WYWOŁANIE),​ FILES (PLIKI), //​tcsh(1)//:​ Startup and shutdown, FILES
 +    * przy pomocy wybranego edytora (**nano**, **pico**, **mcedit**, **emacs**, **jed**, **vi**) stworzyć pliki dla własnej powłoki logowania:
 +      * inicjalizacyjne dla //login shell//
 +      * inicjalizacyjne dla //nonlogin shell//
 +      * czytane przy zamykaniu powłoki
 +    * działanie plików testować przy pomocy polecenia **source**
 +    * umieścić w plikach komentarze - znak hash (''#''​) i komunikaty - polecenie ''​echo "​napis"''​
 +    * sprawdzać inicjalizację powłok //login// i //​nonlogin//​ uruchamiając:​
 +
 +  tcsh
 +  tcsh -l
 +  bash
 +  bash --login
 +
 +    * w pliku czytanym przy zamykaniu powłoki umieścić polecenie **clear**
 +    * jak "​przestawić"​ login shell, np. z tcsh na basha (przy pomocy plików inicjalizacyjnych)?​
 +
 +//​Wskazówka//:​ Aby przetestować,​ czy poprawnie zdefiniowali Państwo plik inicjalizacyjny można np. zdefiniować w nim zmienną środowiskową,​ komunikat wyświetlany przy pomocy ''​echo''​ lub alias (patrz kolejna sekcja), a następnie logując się do odpowiedniej powłoki (np. poprzez ''​bash --login'',​ ''​tcsh''​) sprawdzić, czy alias jest znany (a zatem poprawnie wczytano i zinterpretowano plik inicjalizacyjny).
  
  
Linia 280: Linia 276:
  
   le<​T><​T>​ss /​e<​T>/​pas<​T>​   le<​T><​T>​ss /​e<​T>/​pas<​T>​
-  echo $ HO<​T><​T>​ME+  echo $HO<​T><​T>​ME
   cd ~s<​T><​T>​   cd ~s<​T><​T>​
  
Linia 286: Linia 282:
  
  
-==== - MC ==== 
-Uruchomić Midnight Commander, **mc** i zmienić prawa dostępu do wybranego pliku <​key>​C-x c</​key>​. 
  
 ===== Dla poszerzenia wiedzy =====  ===== Dla poszerzenia wiedzy ===== 
   * [[http://​www.catonmat.net/​blog/​bash-emacs-editing-mode-cheat-sheet/​]]   * [[http://​www.catonmat.net/​blog/​bash-emacs-editing-mode-cheat-sheet/​]]
   * Howard Dahdah //​[[http://​www.computerworld.com.au/​article/​279011/​-z_programming_languages_bourne_shell_sh|The A-Z of Programming Languages: Bourne shell, or sh (An in-depth interview with Steve Bourne, creator of the Bourne shell, or sh)]]// 05/03/2009.   * Howard Dahdah //​[[http://​www.computerworld.com.au/​article/​279011/​-z_programming_languages_bourne_shell_sh|The A-Z of Programming Languages: Bourne shell, or sh (An in-depth interview with Steve Bourne, creator of the Bourne shell, or sh)]]// 05/03/2009.
pl/dydaktyka/unix/lab_powloka.1379335933.txt.gz · ostatnio zmienione: 2019/06/27 15:55 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0