Search the Community
Showing results for tags 'simple useful stuff'.
-
Linux Bash fun Programe folosite: wget,grep,bash,cat,cut,sort Sistem de operare necesar: Any Linux Distro Siteuri folosite:ICQ Sa zicem ca vedem un site, cu mai multe linkuri in el, si vrem sa salvam intr-un fisier in HDD-ul nostru linkurile acestea frumos, unul sub altul. Incepem prin a downloada pagina de pe care dorim sa luam acele linkuri pe HDD/SSD-ul nostru . Pentru asta trebuie sa pornim mai intai o consola. Asa ca apasati combinatia de taste Alt+F2 pentru a tasta comanda pentru lansarea unei aplicatii in Linux. Tin sa spun ca in Linux, din cauza ca este o distributie open-source, facuta de toti pentru toti, sunt foarte multe alternative de programe in oricare domeniu in care te-ai putea avanta intr-un distro Linux, asa ca voi da doar 3 exemple de "terminal emulators" - gnome-terminal(preferatul meu, default in GNOME) - konsole(este default in KDE) - xterm(despre care se spune ca este cel mai bun) Dupa ce ati ajuns in consola, putem incepe sa ne distram Prima comanda pe care o vom folosi se numeste wget. Daca doresti, poti scrie "man wget" sa afli mai multe despre acest mic program. Acum sa scriem: wget http://www.iana.org/domains/example/ Outputul tau ar trebui sa arate asa: root@bt:~/tutorial# wget http://www.icq.com --2011-07-22 15:59:20-- http://www.icq.com/ Resolving www.icq.com... 64.12.249.140 Connecting to www.icq.com|64.12.249.140|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://www.icq.com/en [following] --2011-07-22 15:59:20-- http://www.icq.com/en Reusing existing connection to www.icq.com:80. HTTP request sent, awaiting response... 200 OK Length: 45021 (44K) [text/html] Saving to: `index.html' 100%[==================================================================================================================>] 45,021 158K/s in 0.3s 2011-07-22 15:59:21 (158 KB/s) - `index.html saved [45021/45021] Ca sa verifici daca s-a downloadat fisierul, poti scrie ls -l sau dir si vedea daca fisierul numit index.html exista: root@bt:~/tutorial# ls -l total 4 -rw-r--r-- 1 root root 2945 2011-02-09 19:13 index.html Acum vom folosi programul numit Grep pentru a selecta anumite linii dintr-un fisier. Intr-un cod HTML, linkurile sunt precedate de href=, asta indicand computerului faptul ca urmeaza un link. Deci vom folosi Grep ca sa gasim doar liniile ce contin "href=: grep "href=" index.html Btw, la fel, poti folosi "man grep" pentru a afla mai multe informatii despre acest program. Daca totul a mers bine, ar trebui sa ai ca output linii de cod care contin "href=" Dar parca nu am ajuns unde vroiam nu? Si in plus avem si niste linii de cod ce nu au nicio legatura cu linkurile cautate. Pentru a "taia" ceea ce nu ne trebuie vom folosi un program numit cut. Citeste neaparat documentatia de la cut folosind comanda man cut ca sa intelegi mai bine cum functioneaza, si, ca de obicei, experimenteaza!!! Daca taiem liniile folosind delimitarea "/" in al treilea camp, si taiem apoi din nou folosind delimitarea '"' in primul camp, ar trebui sa fim mai aproape de ce dorim: root@bt:~/tutorial# grep "href=" index.html|cut -d"/" -f3|cut -d'"' -f1 fonts.googleapis.com ftp.icq.com www.icq.com download.icq.com download.icq.com www.icq.com download.icq.com www.icq.com www.icq.com download.icq.com download.icq.com www.icq.com www.icq.com www.icq.com www.icq.com games.icq.com games.icq.com icq.miniclip.com partner.bigpoint.net people.icq.com ...................... Se pare ca multe rezultate se repeta, si pe noi ne intereseaza doar serverele icq. Deci vom folosi grep din nou si sort. Again, nu uita sa citesti manualul: "man sort" Comanda, dupa cum am gandit, ar trebui sa arate in final asa: grep "href=" index.html|cut -d"/" -f3|cut -d'"' -f1|grep "icq.com"|sort -u Si outputul ar trebui sa fie simplu si curat, exact cum am vrut Si iata ca se pare ca am ajuns la sfarsitul acestui exercitiu. Binevoiesc critica constructiva si greseli de editat Next Episode: Linux Console Fun Continued Rep me if you like it ^^ Ma motiveaza