Linjankatkaisu

kopiointiongelma

Yritin kopioida cp-komennolla muutamaa tuhatta (54721 kpl, 286,6 MiB) tiedostoa usb-tikulle. Joudun käyttämään sudoa. Jonkun aikaa kopioituaan tuli virheilmoitus:

sudo: unable to execute /bin/cp: Argument list too long
Linjankatkaisu

Mitenköhän tiedostot saisi kopioitua? Tikulla on reilusti tilaa (yli 22 gigaa), joten siitä ei ainakaan pitäisi olla kyse.

14

103

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • saku40

      rsync -vaz source target

      komentotulkilla on maksimi määrä argumentteja. Oletan että teit cp * /target/, jolloin tuosta *:sta tulee aika pitkä liuta argumentteja.

      itse käytän rsync komentoa. sillä voi jatkaa kopiointia ja se tarkistaa että meni oikein.

      • kustomicopy

        Pitää joskus perehtyä tuohonkin. Muistaako kukaan miten kopioitiin tiedostot joltain tietyltä väliltä, esim. tiedosto47299.html ... tiedosto80000.html. Tuollaisellekin olisi ollut käyttöä, jottei turhaan kopsailisi samoja tiedostoja useaan kertaan. Graafinen tiedostomanageri menee vähän juntturaan isoilla tiedostomäärillä, joten peruskomennoilla olisi kätevämpi operoida. No nyt on 100000 tiedostoa kuitenkin nipussa jatkokäsittelyä varten.


      • kokeiles_näin

        Autetaan alkuun:
        for((i=47299;i<80000;i )); do echo tiedosto$i.html; done
        Ja jätetään loppu mietintämyssyn alle. Rsync tekee tuon turhien kopsailujen tarkistuksen automaattisesti. Mutta on se vähän vaarallinenkin, eli pitää tietää miten se toimii!


    • daaadsadads

      Kopioi normaalisti graafisessa: kopioi - liitä.

      • tietääpähän

        Sudon vuoksi käytin mustaa ruutua. No pakkasin ne tarilla ja sen kopiointi onnistui.


      • sudollaavataan
        tietääpähän kirjoitti:

        Sudon vuoksi käytin mustaa ruutua. No pakkasin ne tarilla ja sen kopiointi onnistui.

        sudo nautilus


      • muuten.ok
        sudollaavataan kirjoitti:

        sudo nautilus

        Menee näköjään aika hitaaksi tuollaisella tiedostomäärällä. No kyllä tämä tästä. Seuraavaksi alkaa pakertamaan dataa tietokantaan.


    • saku40

      Muista myöskin kopioida asyncronoidusti - muuten se synkkaa koko ajan ja kopiointi vie ikuisuuden.

    • ei.ei

      Mitä opimme taas tästä? Ainakin sen että kannattaa siirtyä ammattilaisten tekemiin käyttöjärjestelmiin. Linux-ropelot tuppaa olemaan tuollaisia, edes yksinkertainen tikulle kopioiminen ei meinaa sitten millään onnistua :(

      • lopeta_jo

        Älä viitsi trollata taas! Linuxit ei ole mitään ropeloita ja kyllä niissä onnistuu tikulle kopioiminen. Ja unohdat (tahallaan) että linuxia kehittää ammattilaiset!


    • Turbo-Urpo1

      Tällä ei ole määrä rajoitteita, joten näin tehtynä kopioidaan /mistä/ kansion kaikki alikansiotkin
      find /mistä/* -exec cp -t /minne/ {}

      Jos et halua kopioda kuin sen nimetyn kansion sisällän, tee näin:
      find /mistä/* -maxdepth 0 -exec cp -t /minne/ {}

      mutta jos haluat ulottaa kopioinin vielä yhden solmus syvemmälle, tee näin:
      find /mistä/* -maxdepth 1 -exec cp -t /minne/ {}

      no, eiköhän se siitä . . . .

      • Turbo-Urpo1

        UUSIKSI meni, cp -r täytyy olla kun kansioitakin kopioidaan, joten tässä korjaus, edelliseen:

        Tällä ei ole määrä rajoitteita, joten näin tehtynä kopioidaan /mistä/ kansion kaikki alikansiotkin
        find /mistä/* -exec cp -r -t /minne/ {}

        Jos et halua kopioda kuin sen nimetyn kansion sisällän, tee näin:
        find /mistä/* -maxdepth 0 -exec cp -r -t /minne/ {}

        mutta jos haluat ulottaa kopioinin vielä yhden solmus syvemmälle, tee näin:
        find /mistä/* -maxdepth 1 -exec cp -r -t /minne/ {}

        no, eiköhän se siitä . . . .


      • mummokin.osaa
        Turbo-Urpo1 kirjoitti:

        UUSIKSI meni, cp -r täytyy olla kun kansioitakin kopioidaan, joten tässä korjaus, edelliseen:

        Tällä ei ole määrä rajoitteita, joten näin tehtynä kopioidaan /mistä/ kansion kaikki alikansiotkin
        find /mistä/* -exec cp -r -t /minne/ {}

        Jos et halua kopioda kuin sen nimetyn kansion sisällän, tee näin:
        find /mistä/* -maxdepth 0 -exec cp -r -t /minne/ {}

        mutta jos haluat ulottaa kopioinin vielä yhden solmus syvemmälle, tee näin:
        find /mistä/* -maxdepth 1 -exec cp -r -t /minne/ {}

        no, eiköhän se siitä . . . .

        Onko todella tehty noin helpoksi linuxissa? Eihän siinä ole kuin muutama kymmenen riviä koodia että saa kopioinnin tikulle tehtyä 👍


      • Turbo-Urpo1
        mummokin.osaa kirjoitti:

        Onko todella tehty noin helpoksi linuxissa? Eihän siinä ole kuin muutama kymmenen riviä koodia että saa kopioinnin tikulle tehtyä 👍

        Komentorivin maksimipituus on 128kt ja tähän voi sijoittaa korkeintaan 2097152 arkumenttia, nämä rajat tulevat helposti vastaan kopioidessa ( cp ) tai poistettaessa ( rm ) tiedostoja. Silloin täytyy suorittaa cp tai rm komento useamin eikä yrittää syöttää kerralla komennolle liian pitkää arkumenttilistaa.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Onko sulla

      suoja työ paikka? 🤔🤷‍♂️
      Ikävä
      23
      3690
    2. Suomalainen perheenisä vaatii Suvivirren esittämisestä hyvityksiä

      Itse lapsena uskonnonopetuksesta vissiin traumoja saanut ihka suomalainen (!) perheenisä vaatii Espoon kaupungilta korva
      Maailman menoa
      540
      2702
    3. Vesikin maksaa, miksei hengitysilma?

      Jatkuvasti itketään ettei ole rahaa mihinkään, mutta tilastojen mukaan rahaa on enemmän kuin koskaan, joten miksei asial
      Maailman menoa
      53
      2260
    4. Satuolennoista tarinointi ei kuulu peruskoulun tehtäviin

      Opetustunteja on muutenkin käytössä vain rajallinen määrä. Eli nämä satuhommat koulun ulkopuolelle vapaaehtoisiin harras
      Maailman menoa
      212
      2241
    5. Joensuun kaupunki levittelee tonttitietoja Keskisuomalaiselle

      Sähköposteja ja tonttitietoja levitellään mm. Pasi Koivumaalle
      Joensuu
      13
      1709
    6. Mies profiloin sinut

      Etsit täysin hallittavaa mutta samalla poikkeuksellista ihmistä. Etsit jotain mitä et koskaan tule saamaan.
      Ikävä
      219
      1519
    7. Kiantama kartelli

      Onko alhaisempaa kuin toimia ensin kartellissa ja lopuksi koittaa pelastaa nahkasa vasikoimalla muut kun jää kiinni? Eip
      Suomussalmi
      52
      1491
    8. Nostetaanko nainen kissa pöydälle?

      Ja selvitetään nämä tunteet?
      Ikävä
      97
      1389
    9. Oletko nainen alkanut kammoamaan minua

      Sinua ei näy eikä kuulu, ja ilmeisesti kiertelet tilanteita. Oletko huomannut, että olet vieläkin ajatuksissani luvattom
      Ikävä
      62
      1221
    10. Saako 60 v vielä töitä? Arto Nyberg puhuu suoraan elämästä ilman töitä

      Arto Nyberg täyttää tänään 60 v. Onnea! Nyberg totuttiin näkemään suoran haastatteluohjelman kapteenina vuodesta toise
      Maailman menoa
      95
      1184
    Aihe