<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rekursiivinen on Michael’s Domain</title><link>https://jeltsch.org/fi/tags/rekursiivinen/</link><description>Recent content in Rekursiivinen on Michael’s Domain</description><generator>Hugo</generator><language>fi</language><copyright>Copyright © 2002 - 2026 Michael Jeltsch.</copyright><lastBuildDate>Fri, 24 Jul 2026 00:18:18 +0300</lastBuildDate><atom:link href="https://jeltsch.org/fi/tags/rekursiivinen/index.xml" rel="self" type="application/rss+xml"/><item><title>Kopiointi rsyncillä</title><link>https://jeltsch.org/fi/copy_with_rsync/</link><pubDate>Mon, 17 Feb 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/fi/copy_with_rsync/</guid><description>&lt;p&gt;Syitä, miksi rsync:tä kannattaa (ei aina, mutta usein) suosia cp:n sijaan:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Keskeytettyjen siirtojen jatkaminen
Jos kopioit suuria tiedomääriä ja terminaalisessio kaatuu tai virta katkeaa, joudut aloittamaan alusta jos käytät cp:tä. rsync voi sen sijan jatkaa juuri siitä, mihin se jäi, mikä voi säästää valtavasti aikaa suurten tietomäärien kohdalla.&lt;/li&gt;
&lt;li&gt;Tehokkuus (delta-siirtoalgoritmi)
rsync on suunniteltu toimimaan älykkäästi. Jos kopioit tiedostoa, joka on jo olemassa kohdessa (esim. päivität varmuuskopiota), rsync kopioi vain ne tiedoston osat, jotka ovat tosiasiallisesti muuttuneet (”delta”), sen sijaan että se korvaisi koko tiedoston. cp puolestaan kopioi aina koko tiedoston joka kerta.&lt;/li&gt;
&lt;li&gt;Reaaliaikainen edistymisen seuranta
rsync tarjoaa erinomaista visuaalista palautetta. Käyttämällä -P- (tai &amp;ndash;progress-) saat reaaliaikaisen edistymispalkin, joka näyttää valmistumisprosentin, siirtonopeuden ja arvioidun jäljellä olevan ajan. cp on tunnetusti hiljainen, jolloin joudut arvaamaan, onko prosessi vielä käynnissä vai onko se jumiutunut. Toki voit tarkista kohdekansiosta saapuvan tiedoston koon perusteella, eteneekö prosessi lainkaan (ls -lh tiedostonimi tai du -hs tiedostonimi)&lt;/li&gt;
&lt;li&gt;Saumattomat etäsiirrot
rsync on alun perin suunniteltu toimimaan SSH:n kautta. Sen avulla voit kopioida tiedostoja suoraan etäpalvelimelle tai sieltä pois yhtä helposti kuin kopioisit tiedostoja omalla koneellasi. cp ei pysty tähän; jos haluat käyttää cp:tä etäpalvelimelle, sinun on ensin liitettävä etätiedostojärjestelmä paikallisesti, mikä on paljon monimutkaisempaa ja virhealtisempaa.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tässä on yleinen käyttötapaus: kansion siirtäminen sen koko sisällön kanssa:&lt;/p&gt;</description></item><item><title>Linuxin kopiointikomento (cp)</title><link>https://jeltsch.org/fi/linux_copy_cp/</link><pubDate>Wed, 17 Apr 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/fi/linux_copy_cp/</guid><description>&lt;p&gt;Jos haluat kopioida kaikki xml-tiedostot yhdestä hakemistosta toiseen korvaamatta samannimisiä olemassa olevia tiedostoja: &lt;code&gt;cp -vnpr /source/*.xml /destination&lt;/code&gt;&lt;/p&gt;</description></item><item><title>HTML-palvelimen tiedostojen käyttöoikeudet (rekursiivinen chmod) – tiedostojen ja hakemistojen erottelu</title><link>https://jeltsch.org/fi/file_permissions_on_html_server_recursive_chmod_differentiating_between_files_and_directories/</link><pubDate>Sun, 12 Apr 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/fi/file_permissions_on_html_server_recursive_chmod_differentiating_between_files_and_directories/</guid><description>&lt;p&gt;Sotkin HTML-palvelimeni juurihakemiston tiedostojen käyttöoikeudet rekursiivisesti. Korjatakseni tilanteen jouduin ottamaan käyttöön joitakin ”edistyneitä” chmod-asetuksia. Haluan tietysti kohdella hakemistoja ja tiedostoja eri tavalla. En keksinyt parempaa ratkaisua kuin seuraava: &lt;code&gt;chmod -R u=rw-x,g=rw-x,o=r-wx *chmod -R a+X *&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Rekursiivinen hakutoiminto</title><link>https://jeltsch.org/fi/recursive_grep/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/fi/recursive_grep/</guid><description>&lt;p&gt;grep (kirjainkokoa huomioimatta, rekursiivinen) grep-komennolla ei ole mahdollista tutkia hakemistopuuta rekursiivisesti. Seuraava komento etsii esimerkiksi vain nykyisen hakemiston tiedostoista: &lt;code&gt;grep bacteria *&lt;/code&gt; Jos haluat, että haku ei erota isoja ja pieniä kirjaimia, voit käyttää i-lippua: &lt;code&gt;grep -i bacteria *&lt;/code&gt;Mutta jos haluat tehdä rekursiivisen haun, sinun on käytettävä melko monimutkaista UNIX-komentojen yhdistelmää tämän tavoitteen saavuttamiseksi:&lt;code&gt;find ~/Mail -type f -exec grep 'bacteria' {} \; -print&lt;/code&gt;Tämä komento etsii rekursiivisesti nykyisen käyttäjän Mail-hakemistosta ja tulostaa kaikki rivit, jotka sisältävät sanan bacteria.&lt;/p&gt;</description></item><item><title>Etsi ja korvaa Perlillä</title><link>https://jeltsch.org/fi/find_and_replace_with_perl/</link><pubDate>Sun, 28 Jan 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/fi/find_and_replace_with_perl/</guid><description>&lt;p&gt;Jos haluat korvata merkkijonon jeltsch.blogspot.com merkkijonolla mnm.no-ip.com/blog, voit käyttää Perl-komentoa: &lt;code&gt;perl -pi.bak -e 's|jeltsch.blogspot.com|mnm.no-ip.com\/blog|g' *.html&lt;/code&gt; Jos haluat suorittaa rekursiivisen korvauksen hakemistopuussa, voit kokeilla seuraavaa:&lt;code&gt;perl -pi.bak -e 's|jeltsch.blogspot.com|mnm.no-ip.com\/blog|g' &lt;/code&gt;find jeltsch.org -name &amp;lsquo;*.html&amp;rsquo;``&lt;/p&gt;</description></item></channel></rss>