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

69

    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. Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa

      En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod
      Ikävä
      22
      5564
    2. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      32
      4900
    3. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      29
      2814
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      34
      2374
    5. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2078
    6. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      15
      2028
    7. En ole koskaan kokenut

      Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka
      Ikävä
      19
      1657
    8. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      12
      1611
    9. Ei tämä etene ikinä

      Kun kumpikaan ei enää ota yhteyttä. Mä en ainakaan uskalla.
      Ikävä
      23
      1512
    10. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      29
      1489
    Aihe