Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:unix:lab_skrypty [2013/10/21 12:14] ikaf [Find] |
pl:dydaktyka:unix:lab_skrypty [2019/06/27 15:50] (aktualna) |
====== Filtry i Skrypty powłoki Sh ====== | ====== Filtry i Skrypty powłoki Sh ====== |
<code> | <code> |
W związku z narastającą liczbą osób, które zwą informatykę | W związku z narastającą liczbą osób, które zwą informatykę |
* podstawy pracy z wybranym edytorem vi, Emacs, nano, pico | * podstawy pracy z wybranym edytorem vi, Emacs, nano, pico |
* przeczytać artykuł pt.: {{:pl:dydaktyka:unix:gjn-sh.pdf|Podstawy programowania skryptów Sh}} | * przeczytać artykuł pt.: {{:pl:dydaktyka:unix:gjn-sh.pdf|Podstawy programowania skryptów Sh}} |
* przeczytać artykuł pt.: {{:pl:dydaktyka:unix:gjn-bash.pdf|GNU Bash więcej niż Sh | * przeczytać artykuł pt.: {{:pl:dydaktyka:unix:gjn-bash.pdf|GNU Bash więcej niż Sh}} |
}} | |
Dodatkowo przeglądnąć: | Dodatkowo przeglądnąć (w celu ew. skorzystania w czasie zajęć): |
| |
* zapoznać się z //[[http://www.tldp.org/guides.html#abs|Advanced Bash-Scripting Guide]]// | * zapoznać się z //[[http://www.tldp.org/guides.html#abs|Advanced Bash-Scripting Guide]]// |
* przeglądnąć kurs //[[http://learnlinux.tsf.org.za/courses/build/shell-scripting|Shell Scripting]]// | * przegląnąć artykuł (3 części) //Bash by example// [[http://www.ibm.com/developerworks/linux/library/l-bash/|część 1]], [[http://www.ibm.com/developerworks/library/l-bash2/|Część 2]], [[http://www.ibm.com/developerworks/library/l-bash3/|Część 3]] |
* przegląnąć artykuł (3 części) //Bash by example// [[http://www-128.ibm.com/developerworks/linux/library/l-bash.html|część 1]], [[http://www-128.ibm.com/developerworks/linux/library/l-bash2.html|Część 2]], [[http://www-128.ibm.com/developerworks/library/l-bash3.html|Część 3]] | |
* ew. przeglądnąć [[http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html|BASH Programming - Introduction]] | * ew. przeglądnąć [[http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html|BASH Programming - Introduction]] |
| |
| |
===== WPROWADZENIE ===== | ===== WPROWADZENIE ===== |
| |
==== - Przydatne narzędzia ==== | ==== - Przydatne narzędzia ==== |
=== find === | === Find === |
Znaleźć przy pomocy find: | Znaleźć przy pomocy find: |
| |
* w katalogu ///tmp// wszystkie pliki należące do użytkownika ''root'', | * w katalogu ///tmp// wszystkie pliki należące do użytkownika ''root'', |
* w katalogu ///tmp// wszystkie pliki modyfikowane w ciągu ostatnich 24 godzin, | * w katalogu ///tmp// wszystkie pliki modyfikowane w ciągu ostatnich 24 godzin, |
| * w katalogu ///tmp// wszystkie pliki zwykłe o uprawnieniach 700. |
| |
=== Podstawianie wyników pracy poleceń === | === Podstawianie wyników pracy poleceń === |
WYNIK="To jest system `uname` na maszynie `hostname`"; echo $WYNIK | WYNIK="To jest system `uname` na maszynie `hostname`"; echo $WYNIK |
To jest system Linux na maszynie deathstar | To jest system Linux na maszynie deathstar |
| |
==== - Zaawansowane filtry ==== | ==== - Zaawansowane filtry ==== |
| |
| |
* wyświetli 7 pierwszych, posortowanych alfabetycznie, nazw plików o nazwie kończącej się na p znajdujących się w katalogu ///usr/bin//. | * wyświetli 7 pierwszych, posortowanych alfabetycznie, nazw plików o nazwie kończącej się na p znajdujących się w katalogu ///usr/bin//. |
* poda liczbę wszystkich plików zawierających w nazwie słowo ''debian'', znajdujących sie w katalogu ///usr/bin//. | * poda liczbę wszystkich plików zawierających w nazwie słowo ''ubuntu'', znajdujących sie w katalogu ///usr/bin//. |
* zapisze do pliku spis posortowaną alfabetycznie listę użytkowników aktualnie zalogowanych z komputerów mających w nazwie domeny napis ''.ia.agh.edu.pl'' | * zapisze do pliku spis posortowaną alfabetycznie listę użytkowników aktualnie zalogowanych z komputerów mających początek adresu IP: 192.168.0 (inna opcja to w przypadku wyświetlania nazw domen: w domenie ''.agh.edu.pl''). |
* wybierze z 6 ostatnich linii pliku spis te, które zawierają słowo cos i poda ilość występujących w nich znaków. (plik testowy należy stworzyć) | * wybierze z 6 ostatnich linii pliku spis te, które zawierają słowo cos i poda ilość występujących w nich znaków. (plik testowy należy stworzyć). |
==== - Proste skrypty ==== | ==== - Proste skrypty ==== |
=== Edytory === | === Edytory === |
| |
==== - Złożone skrypty ==== | ==== - Złożone skrypty ==== |
Przeanalizować działanie skryptów podanych na [[http://home.agh.edu.pl/gjn/dydaktyka/index2008.html#skrypty|starej stronie]] | Przeanalizować działanie skryptów podanych na [[http://home.agh.edu.pl/~gjn/wiki/dydaktyka:materialy#skrypty|starej stronie]] |
===== Jeśli chcesz wiedzieć więcej ===== | ===== Jeśli chcesz wiedzieć więcej ===== |
* Napisz skrypt, który dla każdego z plików podanych jako argumenty wywołania wyświetli w kolejnych liniach 3 najczęściej powtarzające się w nim słowa. | * Napisz skrypt, który dla każdego z plików podanych jako argumenty wywołania wyświetli w kolejnych liniach 3 najczęściej powtarzające się w nim słowa. |