Articles

Tiedostojen ja hakemistojen kopiointi Linuxissa

tiedostojen ja hakemistojen kopiointi on yksi yleisimmistä tehtävistä komentorivillä työskenneltäessä. Tiedostojen kopiointiin on Linuxissa useita komentoja, joista cp ja rsync ovat käytetyimmät työkalut.

on yleinen käytäntö käyttää cp komentoa tiedostojen kopioimiseen ja rsync hakemistojen kopioimiseen.

tiedostojen ja kansioiden kopioiminen edellyttää, että lähdetiedostossa on vähintään lukuoikeudet ja kohdehakemistossa kirjoitusoikeudet.

tiedostojen kopiointi CP-komennolla #

Linux-ja Unix-käyttöjärjestelmissä cpkomentoa käytetään tiedostojen ja hakemistojen kopioimiseen.

yksinkertaisin käyttötapaus on kopioida tiedosto nykyiseen työhakemistoon. Esimerkiksi kopioidaksesi tiedoston nimeltä file.txt tiedostoon nimeltä file_backup.txt nykyisessä hakemistossa suoritetaan seuraava komento:

cp file.txt file_backup.txt

Jos kohdetiedosto on olemassa, se korvataan. Saadaksesi vahvistuskehotteen ennen tiedostojen ylikirjoittamista, käytä valitsinta -i.

cp -i file.txt file_backup.txt

oletuksena käytettäessä cp komentoa tiedoston kopioimiseen uusi tiedosto on komennon suorittavan käyttäjän omistuksessa. Käytä -p – vaihtoehtoa tiedoston tilan, omistuksen ja aikaleimojen säilyttämiseen:

cp -p file.txt file_backup.txt

toinen käyttökelpoinen vaihtoehto on -v. Tätä valintaa käytettäessä komento tulostaa mitä tehdään:

cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'

Kopioi tiedosto hakemistoon #

kopioidaksesi tiedoston hakemistoon, määritä absoluuttinen tai suhteellinen polku hakemistoon. Kun kohdehakemisto jätetään pois, tiedosto kopioidaan nykyiseen hakemistoon.

seuraavassa esimerkissä kopioidaan tiedostoa file.txt/backup hakemistoon:

cp file.txt /backup

määritettäessä vain hakemiston nimi kohdekohteeksi, kopioidulla tiedostolla on sama nimi kuin alkuperäisellä tiedostolla.

Jos haluat kopioida tiedoston eri nimellä, sinun täytyy määrittää haluttu tiedostonimi:

cp file.txt /backup/new_file.txt

yllä oleva komento kopioi tiedoston määriteltyyn hakemistoon nimellä new_file.txt.

kopioi useita tiedostoja #

kopioidaksesi useita tiedostoja ja kansioita kerralla, määritä lähdetiedostojen ja-kansioiden nimet, joita seuraa kohdehakemisto viimeisenä parametrina:

cp file.txt dir file1.txt file2.txt dir1

kun kopioidaan useita tiedostoja, kohteen on oltava Hakemisto.

cp – komennolla voi myös käyttää kuviosovitusta. Esimerkiksi kopioidaksesi kaikki .png tiedostot nykyisestä hakemistosta /backup hakemistoon, käyttäisit:

cp *.png /backup

kopioivat hakemistoja cp-komennolla #

kopioidaksesi hakemiston, mukaan lukien kaikki sen tiedostot ja alikansiot, käytä valitsinta -R tai -r. Seuraavassa esimerkissä kopioimme hakemistoa Pictures to Pictures_backup:

cp -R Pictures Pictures_backup

yllä oleva komento luo kohdehakemiston ja kopioi rekursiivisesti kaikki tiedostot ja alikansiot lähteestä kohdehakemistoon.

Jos kohdehakemisto on jo olemassa, itse lähdehakemisto ja sen sisältö kopioidaan kohdehakemistoon. Kopioidaksesi vain tiedostot ja alikansiot, mutta ei kohdehakemistoa, käytä -T – valintaa:

cp -RT Pictures Pictures_backup

tiedostoja kopioidessa käytettyjä vaihtoehtoja voidaan käyttää myös kansioita kopioidessa. Suurin ero on, että hakemistoja kopioidessa on käytettävä -R – vaihtoehtoa.

tiedostojen ja hakemistojen kopiointi rsync-komennolla #

rsync on nopea ja monipuolinen komentorivityökalu, joka synkronoi tiedostot ja hakemistot kahden sijainnin välillä. Sen avulla voidaan kopioida tiedostoja paikallisiin ja etäpaikkoihin.

rsync sisältää monia vaihtoehtoja, jotka ohjaavat sen käyttäytymisen jokaista osa-aluetta

hyödyllisin vaihtoehto on -a joka kopioi rekursiivisesti hakemistoja, siirtää erikois-ja blokkilaitteita ja säilyttää symboliset linkit, muutosajat, ryhmän, omistuksen ja käyttöoikeudet.

kopioidaksesi yksittäisen tiedoston paikasta toiseen, ajaisit seuraavan komennon:

rsync -a file.txt file_backup.txt

Jos kohdetiedosto on olemassa, rsync korvaa sen.

samalla komennolla voidaan kopioida kansiota:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync uhkaa perään viistoon päättyviä lähdehakemistoja / eri tavalla. Jos lisäät lähdehakemistoon perään viivan, komento kopioi vain lähdehakemiston sisällön kohdehakemistoon. Kun perusviiva jätetään pois, rsync kopioi lähdehakemiston kohdehakemiston sisälle. Turvallisin vaihtoehto on aina sisällyttää perusviiva / sekä kohteeseen että lähteeseen.

lisätietoja rsync tarkista seuraavat artikkelit:

  • miten Rsync: tä käytetään paikalliseen ja etätietojen siirtoon ja synkronointiin
  • miten Rsync: n tiedostot ja hakemistot suljetaan pois

johtopäätös #

olemme näyttäneet, miten tiedostoja ja hakemistoja kopioidaan Linux-ja Unix-pohjaisissa järjestelmissä, käyttäen cp ja rsync Utilities.