Linjankatkaisu

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.
14114
Äänestä

Muut lukivat myös

Vastaukset 14

Vanhimmat

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.

Äänestä
  • 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.

    Äänestä

  • 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!

    Äänestä

Kopioi normaalisti graafisessa: kopioi - liitä.

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

    Äänestä

  • tietääpähän kirjoitti:

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

    sudo nautilus

    Äänestä

  • 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.

    Äänestä

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

Äänestä

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 :(

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

    Äänestä

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ä . . . .

Äänestä
  • 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ä . . . .

    Äänestä

  • 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ä 👍

    Äänestä

  • 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.

    Äänestä

Kommentoi aloitusta


kopiointiongelma kirjoitti:

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.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu