{"id":5818,"date":"2021-03-15T16:34:23","date_gmt":"2021-03-15T14:34:23","guid":{"rendered":"https:\/\/blue.pri.ee\/ttu\/?p=5818"},"modified":"2025-11-18T11:08:03","modified_gmt":"2025-11-18T09:08:03","slug":"pr1et12-linux-ja-cli","status":"publish","type":"post","link":"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/","title":{"rendered":"PR1ET12: Linux ja k\u00e4surida"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Praktikumi_materjal\" >Praktikumi materjal<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Kaskude_abi\" >K\u00e4skude abi<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#tldr_simplified_community-driven_man_pages\" >tldr (simplified community-driven man pages)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#man_pages\" >man pages<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Esitamisele_kuuluvad_ulesanded\" >Esitamisele kuuluvad \u00fclesanded<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Ulesanne_1_W12-1_kasurea_kasutamine\" >\u00dclesanne 1 [W12-1]: k\u00e4surea kasutamine<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Vali_viis_ulesande_lahendamiseks\" >Vali viis \u00fclesande lahendamiseks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Ulesande_lahendamine\" >\u00dclesande lahendamine<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Ulesanne_2_W12-2_W12-3_Andmete_otsimine_ja_veebikodu\" >\u00dclesanne 2 [W12-2, W12-3]: Andmete otsimine ja veebikodu<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Lahteandmed\" >L\u00e4hteandmed<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Andmete_filtreerimisest\" >Andmete filtreerimisest<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Ulesande_esitamine_baas-_ja_lisaulesanne\" >\u00dclesande esitamine (baas- ja lisa\u00fclesanne)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Baasulesande_nouded\" >Baas\u00fclesande n\u00f5uded<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Lisaulesande_nouded\" >Lisa\u00fclesande n\u00f5uded<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/#Veebiketta_kasutamine\" >Veebiketta kasutamine<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Praktikumi_materjal\"><\/span>Praktikumi materjal<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>Slaidid: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0583\/slaidid-et\/12_Linux_CLI.pdf\"><strong>Linux CLI<\/strong><\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Kaskude_abi\"><\/span>K\u00e4skude abi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Kui soovid abi m\u00f5ne k\u00e4su kohta, siis selleks on sul 3 peamist meetodit.\u00a0 Kolmas ja m\u00f5neti k\u00f5ige aeglasem on internetist otsimine, seega seda me siin ei kajasta. \u00dclej\u00e4\u00e4nud 2 infoallikat on aga k\u00e4ttesaadavad otse k\u00e4surealt.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"tldr_simplified_community-driven_man_pages\"><\/span>tldr (<em>simplified community-driven man pages)<\/em><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>See on Linuxi kasutajate poolt kokku pandud &#8220;k\u00e4siraamat&#8221;, mille eesm\u00e4rk on kiiresti ja lihtsalt kirjeldada iga programmi k\u00f5ige levinumad ja olulisemad kasutusviisid. Seet\u00f5ttu on aga puuduj\u00e4\u00e4giks sageli vajaliku detailsuse v\u00f5i selgituste puudumine.<\/p>\n<p>Vaikimisi seda Linuxitega kaasa ei tule, aga oleme selle t\u00f6\u00f6riista arvutiklassi paigaldanud.<\/p>\n<p>Kasutamiseks kirjuta k\u00e4sureal <span class=\"lang:default highlight:0 decode:true crayon-inline \">tdlr k\u00e4su_nimi<\/span><\/p>\n<p>Alternatiiv: kasuta veebist\u00a0<strong><a href=\"https:\/\/tldr.sh\">https:\/\/tldr.sh<\/a><\/strong><\/p>\n<p>N\u00e4iteks lugemaks, kuidas faile kopeerida, kirjuta <span class=\"lang:default highlight:0 decode:true crayon-inline\">tldr cp<\/span><\/p>\n<h4><span class=\"ez-toc-section\" id=\"man_pages\"><\/span>man pages<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>man ehk manual pages on Linuxiga kaasa tulev manuaal. Siin on olemas manuaalid k\u00e4skudele, teekidele, s\u00fcsteemi k\u00e4skudele jne.\u00a0Enamasti on iga programmi manuaalis kirjeldatud kogu tema funktsionaalsus. Kasutamiseks kirjuta <span class=\"lang:default highlight:0 decode:true crayon-inline\">man k\u00e4su_nimi<\/span><\/p>\n<p>N\u00e4iteks lugemaks, kuidas faile kopeerida, kirjuta <span class=\"lang:default highlight:0 decode:true crayon-inline\">man cp<\/span><\/p>\n<p>Manuaali sulgemiseks kasuta klahvi <span class=\"lang:default highlight:0 decode:true crayon-inline \">q<\/span> . Manuaalist otsimiseks sisesta <span class=\"lang:default highlight:0 decode:true crayon-inline \">\/<\/span>\u00a0 ning seej\u00e4rel, mida otsida soovid. Abi teiste k\u00e4skude kohta n\u00e4ed kui vajutad <span class=\"lang:default highlight:0 decode:true crayon-inline\">h<\/span>\u00a0 klahvi.<\/p>\n<p><span class=\"lang:default highlight:0 decode:true crayon-inline\">man<\/span>\u00a0 eelis <span class=\"lang:default highlight:0 decode:true crayon-inline \">tldr<\/span>\u00a0 ees on p\u00f5hjalikkus &#8211; \u00fcldiselt on selgitused v\u00e4ga detailsed ning m\u00f5eldud kogenud kasutajale (professionaalile). Sageli on need algajale liialt mahukad.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Esitamisele_kuuluvad_ulesanded\"><\/span>Esitamisele kuuluvad \u00fclesanded<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Selles praktikumis on kaks \u00fclesannet, millest m\u00f5lemat l\u00f5ppevad veebivormiga, mis tuleb t\u00e4ita ja esitada! Eraldi \u00fclesande lahendusi ette n\u00e4itama ei pea.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ulesanne_1_W12-1_kasurea_kasutamine\"><\/span>\u00dclesanne 1 [W12-1]: k\u00e4surea kasutamine<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Selle \u00fclesande raames tutvume v\u00e4ga p\u00f5gusalt k\u00e4surea kasutamisega. \u00dclesanne l\u00f5ppeb veebivormiga, mis tuleb t\u00e4ita. <strong>Veebivormi esitamine kinnitab \u00fclesande lahendamist.<\/strong><\/p>\n<p>Kasutatavad terminid:<\/p>\n<p>K\u00e4suviip &#8211; K\u00e4surea alguses olev informatsioon n\u00e4itamaks \u00e4ra kasutajanime ja asukohta failis\u00fcsteemis.<\/p>\n<p>K\u00e4surida \/ k\u00e4suaken \/ terminal &#8211; Programm, kus me oma k\u00e4ske jooksutame, nn terminal. Sisaldab k\u00e4skude ajalugu, k\u00e4suviipa, v\u00f5imalust k\u00e4sku sisestada jms.<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Vali_viis_ulesande_lahendamiseks\"><\/span>Vali viis \u00fclesande lahendamiseks<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Enne, kui \u00fclesande juurde saad minna, oleks vaja meil Linux keskkonda ja k\u00e4suakent. Valikuid pakun v\u00e4lja kolm.<\/p>\n<ol>\n<li>Lahenda \u00fclesande kooliarvutis.<\/li>\n<li>Lahenda \u00fclesanne \u00fcle kaughalduse<br \/>\nJuhend: <strong><a href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/arvuti-valmis-seadmine-tarkvara-seadistus\/rdp-abil-arvutitesse-kaugelt-ligipaas\/\">RDP abil kaugligip\u00e4\u00e4s<\/a><\/strong><\/li>\n<li>Lahenda \u00fclesanne luues SSH tunnel kooliarvutisse ning tehes k\u00f5ik \u00fcle tunneli<br \/>\n<strong>Juhend: <a href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/ssh-uhenduse-loomise-juhis\/\">SSH \u00fchenduse loomine<\/a><\/strong><\/li>\n<\/ol>\n<h5><span class=\"ez-toc-section\" id=\"Ulesande_lahendamine\"><\/span>\u00dclesande lahendamine<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>\u00dclesanne on kirjeldatud samm-sammulise t\u00f6\u00f6voona. K\u00f5ik tegevused tuleb lahendada kasutades k\u00e4surida. \u00dclesande l\u00f5pus tuleb sul esitada oma k\u00e4skude ajalugu!<\/p>\n<p><strong>Samm 1: Vali kaust, kus praktikumi lahenduse faile hoiad<\/strong><\/p>\n<p>Esmalt peaksid otsustama, kuhu paned selle praktikumi jaoks vajalikud failid. T\u00f5en\u00e4oliselt v\u00f5iks see olla midagi sarnast nagu <span class=\"lang:c highlight:0 decode:true crayon-inline\">~\/P\/iax0583\/praktikum_11<\/span> .<\/p>\n<p>J\u00e4rgnevad k\u00e4sud aitavad sind nagiveerimisel ja kausta loomisel:<\/p>\n<ul>\n<li>K\u00e4sk <span class=\"lang:c highlight:0 decode:true crayon-inline\">pwd<\/span>\u00a0 n\u00e4itab, kus kaustas hetkel asud<\/li>\n<li>K\u00e4sk <span class=\"lang:c highlight:0 decode:true crayon-inline \">cd<\/span>\u00a0 v\u00f5imaldab kaustade vahel liikuda<\/li>\n<li>K\u00e4su <span class=\"lang:c highlight:0 decode:true crayon-inline \">mkdir<\/span>\u00a0 abil saad luua uue kausta<\/li>\n<li>K\u00e4sk <span class=\"lang:c highlight:0 decode:true crayon-inline \">ls<\/span>\u00a0 n\u00e4itab, mis praeguse kausta sees asub. Kasuta t\u00e4iendavaid argumente detailide n\u00e4gemiseks.<\/li>\n<li>K\u00e4sk <span class=\"lang:c highlight:0 decode:true crayon-inline \">mv<\/span>\u00a0 lubab kaustasid ja faile \u00fcmber nimetada ja liigutada.<\/li>\n<li>Kasuta <span class=\"lang:c highlight:0 decode:true crayon-inline\">tldr k\u00e4sk<\/span>\u00a0 v\u00f5i <span class=\"lang:c highlight:0 decode:true crayon-inline \">man k\u00e4sk<\/span>\u00a0, et n\u00e4ha abi k\u00e4su kasutamise kohta.<\/li>\n<\/ul>\n<p>Liigu k\u00e4sureaga kausta, kus \u00fclej\u00e4\u00e4nud praktikumi sooritada kavatsed!<\/p>\n<p><strong>Samm 2: Lae alla testprogramm<\/strong><\/p>\n<p>Praktikumi\u00fclesande kulgemist j\u00e4lgib testprogramm. Programm on kokku pakitud kujul.<\/p>\n<p>Failide allalaadimiseks kasutatakse t\u00f6\u00f6riista nimega <span class=\"lang:c highlight:0 decode:true crayon-inline \">wget<\/span> . Lae seda kasutades testprogramm alla. Selleks k\u00e4ivita j\u00e4rgnev k\u00e4sk:<\/p>\n<pre class=\"toolbar:2 nums:false lang:c highlight:0 decode:true\">wget blue.pri.ee\/lt.zip<\/pre>\n<p><strong>Samm 3: Paki testprogramm lahti ja k\u00e4ivita see<\/strong><\/p>\n<p>Tegu on kokku pakitud zip arhiiviga. Kasuta programmi \u00a0<span class=\"lang:c highlight:0 decode:true crayon-inline\">unzip<\/span> selle lahti pakkimiseks. J\u00e4lgi hoolikalt arhiivi lahti pakkimise k\u00e4igus tekkivat v\u00e4ljundit. See on oluline, et teaksid, <strong>mis<\/strong> lahti pakiti ja<strong> kuhu<\/strong>! Soovitavalt tee topeltkontroll kasutades <span class=\"lang:c highlight:0 decode:true crayon-inline \">ls<\/span>\u00a0-i, et veenduda selles.<\/p>\n<p><b>V\u00f5imalik, et pead ka programmi k\u00e4ivitatavaks muutma<\/b><\/p>\n<p>M\u00f5nel juhul v\u00f5ib osutuda, et programmi ei pakitud lahti k\u00e4ivitus\u00f5igustega. Kui see nii juhtus (kontrolli esmalt), tuleb k\u00e4ivitus\u00f5igus lisada.\u00a0 Selleks saad kasutada k\u00e4sku <span class=\"lang:c highlight:0 decode:true crayon-inline\">chmod<\/span> .<\/p>\n<p><strong>K\u00e4ivita testprogramm<\/strong><\/p>\n<p>N\u00fc\u00fcdsest on sul v\u00f5imalik testprogrammi k\u00e4ivitada. <strong>Tee seda kohe &#8211; pane k\u00e4ima alla laetud programm!<\/strong><\/p>\n<p>Programm kontrollib praktikumi\u00fclesande kulgemist ja j\u00e4\u00e4b seisma kohe, kui m\u00e4rkab t\u00e4itmata n\u00f5uet. Edaspidi jooksuta testprogrammi iga kord, kui oled j\u00e4rgneva sammu \u00e4ra teinud.<\/p>\n<p>Praegu peaksid n\u00e4gema j\u00e4rgmist v\u00e4ljundit:<\/p>\n<pre class=\"toolbar:2 nums:false lang:c highlight:0 decode:true \">Hello user risto.heinsar\r\nYou seem to be from: risto-wk-tux\r\n \r\nStarting testing procedure!\r\n \r\nAttempting to check for VIM configuration!\r\nError! VIM configuration not found!\r\nExiting!<\/pre>\n<p><strong>Samm 4: Lae alla Vimi seadefaili<\/strong><\/p>\n<p><strong>NB! Kui oled juba Vim-i kasutaja ning omad kodukataloogis seadefaili, j\u00e4ta see samm vahele!<\/strong><\/p>\n<p>Vim on \u00fcks klassikalistest k\u00e4sureal t\u00f6\u00f6tavatest tekstiredaktoritest. Sel on suur kogus erinevaid laiendusi ja seadistusv\u00f5imalusi v\u00f5rreldes primitiivsete tekstiredaktoritega nagu nt nano.<\/p>\n<p>Laeme alla seadefaili, mis teeb selles koodi redigeerimist veidi mugavamaks &#8211; nt lisab koodi v\u00e4rvimise, automaatse tabuleerimise jne. Vim&#8217;i seadefail tuleb laadida enda kasutaja kodukataloogi &#8211; sealt otsib vim seda automaatselt.<\/p>\n<p>1. Mine k\u00e4suaknas oma kodukataloogi. Selleks kasuta k\u00e4sku <span class=\"lang:c highlight:0 decode:true crayon-inline \">cd<\/span>\u00a0. Kodukataloogi s\u00fcmboliks on <span class=\"lang:c highlight:0 decode:true crayon-inline \">~<\/span>\u00a0.<\/p>\n<p>2. Kasuta programmi\u00a0 <span class=\"lang:default highlight:0 decode:true crayon-inline\">wget<\/span>\u00a0 seadefaili allalaadimiseks. Seadefail asub aadressil\u00a0<span class=\"toolbar:2 nums:false lang:c highlight:0 decode:true crayon-inline\">blue.pri.ee\/.vimrc<\/span><\/p>\n<p>Kasuta testprogrammi kontrollimaks, et seadefaili allalaadimine \u00f5nnestus!<\/p>\n<p><strong>Samm 5: Kopeeri \u00fcle andmefail, mis sisaldab saladust<\/strong><\/p>\n<p>Mine M kettale (~\/M\/). Leia sealt \u00fcles oma praktikumi juhendaja kaust ja mine sinna sisse. Selle kausta sees on \u00fcks peidetud alamkaust &#8211; otsi see \u00fcles ja mine sinna sisse. Peidetud alamkausta nimi algab punktiga. Peidetud kausta seest leiadki puuduoleva faili.<\/p>\n<p>N\u00fc\u00fcd tuleb sul see fail endale kopeerida. Kopeeri see samasse kausta, kus asub su testprogramm! Kopeerimiseks pead kasutama k\u00e4sku\u00a0 <span class=\"lang:c highlight:0 decode:true crayon-inline\">cp<\/span> . M\u00e4\u00e4ra \u00e4ra, mida soovid kopeerida ja kuhu!<\/p>\n<p>N\u00fc\u00fcd on aeg j\u00e4lle testprogramm k\u00e4ivitada ja vaadata, kas saladus leiti.<\/p>\n<p><strong>Samm 6: J\u00e4rgmiseks pead looma tekstifaili oma matriklinumbriga<\/strong><\/p>\n<p>Loodava faili nimeks on <span class=\"lang:default highlight:0 decode:true crayon-inline \">matricula<\/span> . See loo samasse kausta, kus on \u00fclej\u00e4\u00e4nud failid. Selleks pakun v\u00e4lja 2 v\u00f5imalust.<\/p>\n<p><strong>1. v\u00f5imalus: <\/strong>Ava endale meelep\u00e4rane tekstiredaktor, loo seda kasutades antud fail ning kirjuta sisse oma matriklinumber.<\/p>\n<p style=\"padding-left: 40px;\"><strong>Vim-i juhis:<\/strong><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>K\u00e4ivita programm kirjutades\u00a0 <span class=\"lang:c highlight:0 decode:true crayon-inline\">vim matricula<\/span> . See k\u00e4ivitab Vim-i ja avab (vajadusel loob) sealjuures faili nimega matricula.<\/li>\n<li>Vajuta klahvi &#8217;i&#8217;, et minna sisestamise re\u017eiimi (<em>insert mode<\/em>).<\/li>\n<li>N\u00fc\u00fcd kirjuta sisse oma matriklinumber.<\/li>\n<li>Seej\u00e4rel vajuta klahvi &#8216;esc&#8217;, et t\u00fchistada kirjutamisre\u017eiim.<\/li>\n<li>N\u00fc\u00fcd kirjuta seal aknas\u00a0 <span class=\"lang:c highlight:0 decode:true crayon-inline\">:wq<\/span> . w \u00fctleb Vim&#8217;ile, et muudatused tuleb faili kirjutada ja q \u00fctleb, et seej\u00e4rel tuleb programm sulgeda. Neid saab ka eraldi kasutada.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>2. v\u00f5imalus:\u00a0<\/strong>See on see, mida enamik ninapidi asjas olevad inimesed tegelikult teeksid sellise l\u00fchikese faili kirjutamiseks. Kasutusele v\u00f5etaks k\u00e4sk echo, mis kuvab sellele antud teksti terminaliekraanile tagasi. Echo v\u00e4ljundvoog (stdout) aga suunataks \u00fcmber faili, mille tulemusena vajaminev fail valmis kirjutatakse &#8211; nt <span class=\"lang:c highlight:0 decode:true crayon-inline\">echo &#8220;tekst&#8221; &gt; fail<\/span><\/p>\n<p><strong>Samm 7: Kirjuta programm, mis v\u00e4ljastab &#8220;Hello\u00a0 world!&#8221;<\/strong><\/p>\n<p>NB! Enne selle sammu teostamist meenuta, mis asi on faili laiend (<em>file extension<\/em>) ning mis laiendeid kasutatakse C-programmeerimiskeele l\u00e4htekoodi failidel ning millist programmidel Linuxi keskkonnas.<\/p>\n<p>Taaskord, kasuta koodi loomiseks k\u00e4surea tekstiredaktorit. Meie soovitame <span class=\"lang:c highlight:0 decode:true crayon-inline\">Vim<\/span> i kuna see toetab C koodi, aga sa v\u00f5id kasutada ka m\u00f5nda teist tekstiredaktorit.<\/p>\n<p>Kui sul on programmi kood kirjutatud, tuleb see kompileerida (meenuta, mis meie kompilaatori programmi nimi oli!). Kasuta kompilaatorile lipuna <span class=\"lang:c highlight:0 decode:true crayon-inline\">-o hello<\/span>\u00a0, et m\u00e4\u00e4rata v\u00e4ljundprogrammi nimeks &#8220;hello&#8221;.<\/p>\n<p><strong><span style=\"color: #ff0000;\">Hoiatus: \u00c4ra mingil juhul kirjuta -o j\u00e4rele oma l\u00e4htekoodi (.c) faili nime. Sedasi kirjutad sa oma l\u00e4htekoodi \u00fcle.<\/span><\/strong><\/p>\n<p>N\u00fc\u00fcd on aeg taas jooksutada meie antud testprogrammi! Kui k\u00f5ik on edukalt sooritatud, loob see sulle uue faili, mille sisse on kirjutatud juhised. J\u00e4lgides neid juhiseid, saad \u00fclesande esitada.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ulesanne_2_W12-2_W12-3_Andmete_otsimine_ja_veebikodu\"><\/span>\u00dclesanne 2 [W12-2, W12-3]: Andmete otsimine ja veebikodu<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Selle \u00fclesande raames tutvume t\u00f6\u00f6riistaga, mida kasutatakse laialdaselt oluliste andmete otsimiseks suurematest andmekogudest ning tutvustame sulle, kus asub sinu veebikodu. Lisaks vaatleme ka kuidas t\u00f6\u00f6tab toru ehk \u00fche programmi standardse v\u00e4ljundvoo (stdout) suunamist teise programmi standardsesse sisendvoogu (stdin).<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Lahteandmed\"><\/span>L\u00e4hteandmed<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Olen genereerinud t\u00e4iesti juhuslike andmetega tekstifaili, mis v\u00f5iks matkida roboti poolt tekitatud logisid. Sellised failid on loomult pikad (tavaliselt olulisemalt pikemad kui minu poolt antav) ning enamasti vajame neid vaid siis, kui midagi l\u00e4heb valesti. Sellisel juhul on aga vaja paljude andmete hulgast just meile vajalik info k\u00e4tte saada.<\/p>\n<p>Logi asub veebikodus: <a href=\"http:\/\/www.tud.ttu.ee\/web\/Risto.Heinsar\/sensors.txt\">http:\/\/www.tud.ttu.ee\/web\/Risto.Heinsar\/sensors.txt<\/a><\/p>\n<h5><span class=\"ez-toc-section\" id=\"Andmete_filtreerimisest\"><\/span>Andmete filtreerimisest<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Pikkade tekstifailide filtreerimiseks on v\u00e4ga h\u00f5lbus abiline programm nimega <span class=\"lang:c highlight:0 decode:true crayon-inline\">grep<\/span> . Sellele programmile on v\u00f5imalik anda parameetrina otsitav muster ning programm kuvab ekraanile ainult need read, mis sisaldavad otsitud mustrit. \u00dclej\u00e4\u00e4nud ridu ei n\u00e4idata.<\/p>\n<p>Mustrid v\u00f5ivad olla lihtsad &#8211; n\u00e4iteks \u00fches\u00f5nalised nagu <span class=\"lang:default highlight:0 decode:true crayon-inline \">SENSOR<\/span> , <span class=\"lang:default highlight:0 decode:true crayon-inline \">ERROR<\/span> , <span class=\"lang:default highlight:0 decode:true crayon-inline \">firefox<\/span> jne. Sellisel juhul k\u00e4ivitamegi programmi kirjutades <span class=\"lang:default highlight:0 decode:true crayon-inline\">grep muster<\/span>\u00a0.<\/p>\n<p>Mustrid v\u00f5ivad olla aga ka keerulisemad &#8211; need saavad koosneda regulaaravaldistest (<em>regular expression<\/em>). Regulaaravaldiste kasutamiseks lisame k\u00e4ivitamisel argumendi <span class=\"lang:default highlight:0 decode:true crayon-inline \">-E<\/span>\u00a0. N\u00e4iteks kirjutades <span class=\"lang:default highlight:0 decode:true crayon-inline\">grep -E sensor[1-3]:<\/span>\u00a0 leitakse meile k\u00f5ik read, mis on vastavalt kas <span class=\"lang:default highlight:0 decode:true crayon-inline\">sensor1:<\/span> , <span class=\"lang:default highlight:0 decode:true crayon-inline \">sensor2:<\/span>\u00a0 v\u00f5i <span class=\"lang:default highlight:0 decode:true crayon-inline\">sensor3:<\/span> . M\u00e4rka, et ka koolon on otsitav.<\/p>\n<p>Oma regulaaravaldisi saad testida lehel: <strong><a href=\"https:\/\/regex101.com\">https:\/\/regex101.com<\/a><\/strong><\/p>\n<p>Vihje 1: Sa v\u00f5id grepi v\u00e4ljundi uuesti greppi saata teise mustriga &#8211; k\u00f5ike ei pea \u00fche korraga tegema, kui see tundub keeruline.<\/p>\n<p>Vihje 2: grep v\u00e4ljundi saad v\u00e4ljundvoo suunamise abil h\u00f5lpsasti uude faili kirjutada.<\/p>\n<p>Vihje 3: Ka loogikaavaldisi saab teha &#8211; nt \u00fcks v\u00f5i teine otsitav muster.<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Ulesande_esitamine_baas-_ja_lisaulesanne\"><\/span>\u00dclesande esitamine (baas- ja lisa\u00fclesanne)<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<ol>\n<li>Otsusta, kas soovid lahendada baas- v\u00f5i edasij\u00f5udnute \u00fclesande ning lahenda see<\/li>\n<li>Kopeeri oma fail veebikodusse ja leia selle veebiaadress<\/li>\n<li>T\u00e4ida lahenduse kinnituseks j\u00e4rgmine veebivorm: <strong><a href=\"https:\/\/forms.office.com\/r\/DcHWy2DVqk\">https:\/\/forms.office.com\/r\/DcHWy2DVqk<\/a><\/strong><\/li>\n<\/ol>\n<p>NB! Kui sa oma veebikodu aadressi tuvastada ei suuda v\u00f5i tekivad tehnilised probleemid, anna meile p\u00e4rast vormi t\u00e4itmist m\u00e4rku ja n\u00e4ita oma faili asukohta ning aadresse, mis proovisid.<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Baasulesande_nouded\"><\/span><strong>Baas\u00fclesande n\u00f5uded<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Sinu \u00fclesandeks on leida \u00fcles minu antud failist k\u00f5ik read, mille <strong>teabetase on viga ehk ERROR ja sensoriks on sinu <span class=\"lang:c highlight:0 decode:true crayon-inline \">matriklinumber % 10<\/span>\u00a0.<\/strong><\/p>\n<p><strong>N\u00e4ide:<\/strong><\/p>\n<p>\u00dcli\u00f5pilaskood 123456IACB, matrikkel seega 123456.<br \/>\n123456 % 10 on 6<\/p>\n<p>J\u00e4relikult tuleb otsida k\u00f5ik veaolukorrad SENSOR6 kohta. M\u00f5ned n\u00e4ited oodatavatest ridadest:<\/p>\n<pre class=\"lang:c highlight:0 decode:true\">Mar 14 03:53:34 ERROR: SENSOR6: No response within hard limit!\r\nMar 14 03:54:19 ERROR: SENSOR6: No response within hard limit!<\/pre>\n<p>\u00dclesannet v\u00f5id lahendada kirjutades k\u00f5ik k\u00e4sud \u00fchele reale v\u00f5i tehes seda mitmes osas.<\/p>\n<p>Kirjuta v\u00e4ljund faili, kasutades selleks v\u00e4ljundvoo \u00fcmbersuunamist. Loodava faili nimeks peab olema sinu \u00fcli\u00f5pilaskood.txt &#8211; n\u00e4iteks kui su \u00fcli\u00f5pilaskood on 123456IACB, siis sa kirjutad tekstifaili 123456iacb.txt<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Lisaulesande_nouded\"><\/span>Lisa\u00fclesande n\u00f5uded<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Sinu \u00fclesandeks on leida \u00fcles minu antud failist k\u00f5ik read, mille <strong>teabetase on viga ehk ERROR. Ositavad read sisaldavad veateadet kas sensorilt sinu <span class=\"lang:c highlight:0 decode:true crayon-inline \">matriklinumber % 10<\/span>\u00a0 v\u00f5i mootorilt sinu <span class=\"lang:c highlight:0 decode:true crayon-inline\">matriklinumber % 4<\/span>\u00a0.<\/strong><\/p>\n<p>Leitud read peavad j\u00e4\u00e4ma samasse ajalisse j\u00e4rjestusse nagu nad on antud sisendfailis.<\/p>\n<p><strong>N\u00e4ide:<\/strong><\/p>\n<p>\u00dcli\u00f5pilaskood 123456IACB, matrikkel seega 123456.<br \/>\n123456 % 10 on 6<br \/>\n123456 % 4 on 0<\/p>\n<p>J\u00e4relikult tuleb otsida k\u00f5ik veaolukorrad SENSOR6 v\u00f5i MOTOR0 kohta. M\u00f5ned n\u00e4ited oodatavatest ridadest:<\/p>\n<pre class=\"lang:c highlight:0 decode:true\">Mar 14 03:51:46 ERROR: MOTOR0: Temperature critical! (104 C, LIMIT: 90 C)\r\nMar 14 03:53:34 ERROR: SENSOR6: No response within hard limit!\r\nMar 14 03:54:19 ERROR: SENSOR6: No response within hard limit!\r\nMar 14 04:04:09 ERROR: MOTOR0: No response within hard limit!<\/pre>\n<p>\u00dclesannet v\u00f5id lahendada kirjutades k\u00f5ik k\u00e4sud \u00fchele reale v\u00f5i tehes seda mitmes osas.<\/p>\n<p>Kirjuta v\u00e4ljund faili, kasutades selleks v\u00e4ljundvoo \u00fcmbersuunamist. Loodava faili nimeks peab olema sinu \u00fcli\u00f5pilaskood.txt &#8211; n\u00e4iteks kui su \u00fcli\u00f5pilaskood on 123456IACB, siis sa kirjutad tekstifaili 123456iacb.txt<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Veebiketta_kasutamine\"><\/span><strong>Veebiketta kasutamine<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h5>\n<div class=\"su-box su-box-style-soft\" id=\"\" style=\"border-color:#5c0808;border-radius:7px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#8f3b3b;color:#FFFFFF;border-top-left-radius:5px;border-top-right-radius:5px\">NB!<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:5px;border-bottom-right-radius:5px\">\n<p>NB! Osadel tudengitel on veebiketas miskil p\u00f5hjusel katki! Kui tundub, et teed k\u00f5ik \u00f5igesti aga brauser viskab 404, siis anna meile m\u00e4rku ja me vaatame \u00fcle, et k\u00f5ik paistab \u00f5ige &#8211; kui tegid k\u00f5ik \u00f5igesti, siis paneme eraldi kirja, et \u00fclesande lahendamise m\u00f5ttes midagi katki ei j\u00e4\u00e4ks. Vorm \u00fclesande t\u00e4itmise kohta tuleb ikkagi t\u00e4ita, sisestades oletatava aadressi, kus fail peaks olema.<\/p>\n<p>Soovi korral v\u00f5id rikketeate koostada, et su veebiketas korda tehtaks: <strong><a href=\"https:\/\/helpdesk.taltech.ee\/\">https:\/\/helpdesk.taltech.ee<\/a><\/strong><\/p>\n<\/div><\/div>\n<p>K\u00f5igil \u00fcli\u00f5pilastel on oma veebiketas. Selleks on W ketas. Veebiketta kohta v\u00f5id rohkem lugeda siit: <strong><a href=\"https:\/\/taltech.atlassian.net\/wiki\/spaces\/ITI\/pages\/38994529\/li+pilase+veebikataloog+Online+student+directory\">https:\/\/taltech.atlassian.net\/wiki\/spaces\/ITI\/pages\/38994529\/li+pilase+veebikataloog+Online+student+directory<\/a><\/strong><\/p>\n<p>Kopeeri oma loodud fail sensorite v\u00e4ljundiga oma veebikettale. Kopeerimiseks kasutada <span class=\"lang:c highlight:0 decode:true crayon-inline\">cp<\/span>\u00a0 k\u00e4sku.<\/p>\n<p>Sinu fail on n\u00fc\u00fcd veebist k\u00e4ttesaadav \u00fchel j\u00e4rgnevatest aadressidest:<\/p>\n<ul>\n<li>http:\/\/www.tud.ttu.ee\/web\/uni-id\/\u00fcli\u00f5pilaskood.txt<\/li>\n<li>http:\/\/www.tud.ttu.ee\/web\/Eesnimi.Perenimi\/\u00fcli\u00f5pilaskood.txt<\/li>\n<\/ul>\n<p>N\u00fc\u00fcd t\u00e4ida \u00e4ra veebivorm!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Praktikumi materjal Slaidid: Linux CLI K\u00e4skude abi Kui soovid abi m\u00f5ne k\u00e4su kohta, siis selleks on sul 3 peamist meetodit.\u00a0 Kolmas ja m\u00f5neti k\u00f5ige aeglasem on internetist otsimine, seega seda me siin ei kajasta. \u00dclej\u00e4\u00e4nud 2 infoallikat on aga k\u00e4ttesaadavad otse k\u00e4surealt. tldr (simplified community-driven man pages) See on Linuxi kasutajate poolt kokku pandud &#8220;k\u00e4siraamat&#8221;, &hellip; <a href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr1-et\/pr1et12-linux-ja-cli\/\" class=\"more-link\">Loe edasi <span class=\"screen-reader-text\">PR1ET12: Linux ja k\u00e4surida<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97,94],"tags":[],"class_list":["post-5818","post","type-post","status-publish","format-standard","hentry","category-laborid","category-pr1-et"],"_links":{"self":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/posts\/5818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/comments?post=5818"}],"version-history":[{"count":13,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/posts\/5818\/revisions"}],"predecessor-version":[{"id":10894,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/posts\/5818\/revisions\/10894"}],"wp:attachment":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/media?parent=5818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/categories?post=5818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/tags?post=5818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}