Kokonaisen hakemistopuun kopiointi linuxissa ?

Mikä on oikea tapa kopioida kokonainen hakemistopuu linuxissa?

Katsoin ensin ohjeita täältä:

https://phoenixnap.com/kb/how-to-copy-files-directories-linux

selvisi, että linuxissa on ilmeisesti syytä antaa cp -komennolle optioita, jotta se toimisi oikein ja halutulla tavalla:

siis esim:

cp -Rp /source/* /dest/

Riittääkö edes tuo, vai vieläkö unohtui jo(i)takin tarpeellisia optioita ?

Tuossahan:

-R tekee kopioinnista rekursiivisen, eli mukaan tulevat myös alihakemistot kukin omine alihakemistoineen rekursiivisesti.

-p pitää huolta siitä, että tiedoston sisällön lisäksi kopioidaan myös metatiedot, kuten tiedoston luonti- ja muokkausaikaleimat.

Mutta:

kopioiko tuo myös ns. piilotiedostot (linuxissahan jos tiedostonimi alkaa pisteellä niin pelkkä ls -l * ei näytä ko. tiedostoja lainkaan) ?

Ja jos ei, mitä lisäoptioita vielä pitäisi antaa cp -komennolle ?

Tarkoitus olisi siis tehdä ns. "varmuuskopiotasoinen" kopio, eli että jos kopiointikomento ei anna virheilmoitusta, niin alkuperäiset tiedostot ja hakemistot voi kopioinnin jälkeen poistaa ilman, että mitään tietoa menetetään.

Eli riittääkö tuo cp -Rp /source/* /dest/ -komento, ja jos ei riitä, mitä lisäoptioita tuo vielä mahdollisesti tarvitsee ?
11357
Äänestä

Muut lukivat myös

Vastaukset 11

Vanhimmat

cp -r -u --preserve=all --backup Kuvat/ ~/backup

Äänestä
  • Tämä on lähes sama mutta lyhyempi: "cp -abu Kuvat/ ~/backup".

    Sinulta puuttui tuosta "--no-dereference" joka sisältyy "-a":han.

    ps. En kyllä suosittele varmuuskopiointia cp:lla

    Äänestä

  • Anonyymi kirjoitti:

    Tämä on lähes sama mutta lyhyempi: "cp -abu Kuvat/ ~/backup".

    Sinulta puuttui tuosta "--no-dereference" joka sisältyy "-a":han.

    ps. En kyllä suosittele varmuuskopiointia cp:lla

    Miksi symboliset linkit pitäisi jättää pois, avauksessa haluttiin backup kelpoinen kopiointi.

    Äänestä

Tota noin, kai aloittaja tietää, että jos klikkaa sitä kansiota ja valitsee että kopioi, sitten liittää mihin tahansa, niin koko kansio kopioidaan rekursiivisesti piilotiedostoineen?

Sitten ymmärrän, jos nyt välttämättä on pakko tehdä komentoriviltä.

Äänestä
  • Toimii kyllä mutta ensin pitää tiedostonhallinnassa laittaa piilotiedostot näkyviin!

    Äänestä

  • Anonyymi kirjoitti:

    Toimii kyllä mutta ensin pitää tiedostonhallinnassa laittaa piilotiedostot näkyviin!

    Testasin tätä Cinnamonissa, Nemo 4.8.6, loin uuden kansion, lisäsin pari piilotiedostoa, kopioin kansion ja kyllä ne piilotiedostot siirtyivät, vaikka olivat asetuksista piilotettuna. Tiedä sitten mitä tiedostoselainta aloittaja käyttää?

    Äänestä

  • Anonyymi kirjoitti:

    Toimii kyllä mutta ensin pitää tiedostonhallinnassa laittaa piilotiedostot näkyviin!

    Kokeilin caja:lla Ubuntu Mate:ssa ja copy/paste kansiolle kopioi kaiken uuteen hakemistoon.
    Komentoriviltä se onkin sitten eri:
    Jos haluaa kopioida kaiken -a parametri auttaa
    $ cp -a src/ dest/
    -ilmestyy dest/src kansio, joka on identtinen alkuperäisen kanssa lukuunottamatta sitä, että tiedoston archive-bitti kääntyy.
    Jos haluaa kopioida pelkästään piilotiedostot:
    $ cp src/.* dest/
    -koska nyt valinta kohdistuu tiedostoihin eikä hakemistoon, kopiot löytyy dest-kansiosta
    Jos haluaa kopioida kaiken paitsi piilotiedostot:
    $ cp src/* dest/
    -valitsee tiedostot, jotka eivät ala pisteellä src-kansiosta. hakemistoja ei kopioida koska ne eivät ole tiedostoja: Tätä varten tarvitaan -R parametria kuten yllä on jo näytetty.
    Jos komentorivistä tykkää, niin cp:n lisäksi kannattaa tutustua myös rsync-ohjelmaan, sillä voi tehdä paljon muutakin kuin backup-tiedostoja.

    Äänestä

Näin on! Hiirellä kopio/liitä. Näppäimillä ctrl c/ctrl v.

Äänestä
  • Näin on! Joku pöljä avaaja taas haluu tehdä asioita vaikeesti!

    Äänestä

  • Ubuntua käytettäessä, voi tehdä asiat noin yksinkertaisesti, minkään muun jakelun käyttöön en tätä ohjetta suosittele se ei tee sitä mitä nämä kaksi ubuntun kahelia kuvittelevat tapahtuvan.

    Äänestä

Huh mitä sudottelia tubuttimessa.

Äänestä

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

Kommentoi aloitusta


Anonyymi kirjoitti:

Mikä on oikea tapa kopioida kokonainen hakemistopuu linuxissa?

Katsoin ensin ohjeita täältä:

https://phoenixnap.com/kb/how-to-copy-files-directories-linux

selvisi, että linuxissa on ilmeisesti syytä antaa cp -komennolle optioita, jotta se toimisi oikein ja halutulla tavalla:

siis esim:

cp -Rp /source/* /dest/

Riittääkö edes tuo, vai vieläkö unohtui jo(i)takin tarpeellisia optioita ?

Tuossahan:

-R tekee kopioinnista rekursiivisen, eli mukaan tulevat myös alihakemistot kukin omine alihakemistoineen rekursiivisesti.

-p pitää huolta siitä, että tiedoston sisällön lisäksi kopioidaan myös metatiedot, kuten tiedoston luonti- ja muokkausaikaleimat.

Mutta:

kopioiko tuo myös ns. piilotiedostot (linuxissahan jos tiedostonimi alkaa pisteellä niin pelkkä ls -l * ei näytä ko. tiedostoja lainkaan) ?

Ja jos ei, mitä lisäoptioita vielä pitäisi antaa cp -komennolle ?

Tarkoitus olisi siis tehdä ns. "varmuuskopiotasoinen" kopio, eli että jos kopiointikomento ei anna virheilmoitusta, niin alkuperäiset tiedostot ja hakemistot voi kopioinnin jälkeen poistaa ilman, että mitään tietoa menetetään.

Eli riittääkö tuo cp -Rp /source/* /dest/ -komento, ja jos ei riitä, mitä lisäoptioita tuo vielä mahdollisesti tarvitsee ?

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