Kuinka voin kopioida kansion tiedostot toiseen kansioon Linux -päätelaitteessa

How Can I Copy Files Folder Into Another Folder Linux Terminal



Kun haluat kopioida hakemiston sisällön toiseen, Linuxin tapauksessa käytössäsi on paljon työkaluja. Kumpaa käyttää? Se riippuu tilanteesta ja henkilökohtaisista mieltymyksistä. Tässä artikkelissa tarkastellaan tapoja, joilla voit kopioida tiedoston sisällön päätelaitteen kansiosta toiseen. Siinä on joitain suosittuja vaihtoehtoja eri tilanteisiin.

Tiedostojen kopiointi terminaalissa

Yhden hakemiston sisällön kopioiminen toiseen on hyvin yksinkertainen tehtävä. Sinulla on kuitenkin paljon vaihtoehtoja sen tekemiseen. Linux on siunattu lukuisilla työkaluilla tiedostojen ja hakemistojen manipuloimiseksi eri toimintojen avulla.







Kaikki vaiheet on esitetty Ubuntu 18.04.1: ssä. Luodaan aluksi kourallinen nuketiedostoja.



$mkdir -vdir_A



Luodaan nyt nuketiedostot kosketuksella.





$kosketusnukke{1..10}

Luodaan toinen kansio dir_A: ssa, jossa on kourallinen nuketiedostoja.



$mkdir -vdir_B
$kosketusnukke{1..10}

Nyt hakemiston dir_A koko rakenne näyttää tältä.

$puudir_A

Cp -komento

The cp komento on ylivoimaisesti yleisin työkalu tiedostojen kopioimiseen. Se on työkalu, joka tulee oletuksena minkä tahansa Linux -järjestelmän kanssa. Tiedostojen ja hakemistojen kopioiminen on cp: n ainoa tarkoitus. Se tukee monenlaisia ​​ominaisuuksia.

Tämä on perusrakenne cp komento.

$cp <vaihtoehtoja> <lähde> <määränpää>

Tehdään esimerkiksi kopio nukke 1 tiedosto nimellä dummy1_copy .

$cpdummy1 dummy1_copy

Yritetään nyt kopioida useita tiedostoja kerralla. Tällaisessa toiminnossa cp edellyttää, että kohde on hakemisto. Tässä käytän jokerimerkintää napataksesi kaikki nukke tiedostot ja laita ne kansioon ~/Lataukset hakemistoon.

$cpnukke*~/Lataukset

Entä hakemiston kopioiminen?

$cp -vrdir_A dir_A_copy

Tässä käytimme kahta eri lippua. Kerromme niistä nopeasti.

  • -r: tarkoittaa a rekursiivinen kopio (mukaan lukien kaikki piilotetut tiedostot). Pakollinen lippu, jos kopiointi sisältää koko hakemiston tai enemmän.
  • -v: tarkoittaa runsas . Cp -työkalu lähettää jokaisen suorittamansa toiminnon.

Haluatko seurata symbolisia linkkejä? Lisää -L -lippu.

$cp -Lvr <lähde> <määränpää>

Oletetaan, että kohdehakemistossa on jo samanniminen tiedosto. Jos haluat välttää päällekirjoituksen, käytä -n -lippua. Se varmistaa, että ristiriitatilanteissa cp ei korvaa tiedostoa.

$cp -nv <lähde> <määränpää>

Jos suoritat arkaluontoisen kopiointi-/liittämistoiminnon, on parempi hallita mitä tapahtuu, eikö? Käytä tällöin -i -lippua. Se tarkoittaa vuorovaikutteista tilaa, jossa cp pyytää vahvistusta aina, kun ristiriita syntyy.

$cp -i <lähde> <määränpää>

Jos olet enemmän kiinnostunut, man -sivu on aina yksi parhaista asiakirjoista. Lisätietoja cp: stä.

$mies cp

mv -komento

Mv -työkalu on samanlainen kuin cp -työkalu. Kopioinnin sijaan mv siirtää kuitenkin tiedostoja ja hakemistoja. Cp: ​​hen verrattuna se on yksinkertaisempi.

Mv: n komentorakenne on samanlainen kuin cp.

$mv <vaihtoehto> <lähde> <määränpää>

Voit siirtää sisältöä dir_A kohteeseen dir_A_copy , suorita seuraava komento.

$mv -vdir_A/dir_A_copy

Tässä -v -lippu on tarkoitettu runsas -tilaan. Jos haluat siirtää vain dir_A: n sisällön, käytä seuraavaa. Tässä tapauksessa kohdehakemiston on oltava olemassa etukäteen.

$mv -vdir_A/ *dir_A_copy

Mv -työkalulla ei ole paljon työtä. Katso kaikki käytettävissä olevat vaihtoehdot man -sivulta.

$mies mv

Rsync -komento

Tämä on yksi suosituimmista ja tehokkaimmista tiedostojen kopiointityökaluista, jota käytetään enimmäkseen varmuuskopiointiin. Se kykenee kopioimaan tiedostoja etäyhteyden kautta. Toisin kuin cp ja mv, siinä on myös paljon edistyneitä tiedostojen kopiointivaihtoehtoja, jotka tarjoavat äärimmäisen mukautuksen sen käyttäytymiseen.

Rsync on enimmäkseen kuuluisa delta-siirtoalgoritmistaan, joka vähentää dramaattisesti vaihdettavan tiedon määrää. Etäsynkronoinnin tapauksessa tämä säästää paljon kaistanleveyttä.

Rsync ei yleensä ole esiasennettu mihinkään Linux-distroon. Suosionsa vuoksi se on kuitenkin nyt saatavana kaikissa suurimmissa Linux -distroissa. Käyttää Pkgs.org selvittääksesi distroni rsync -paketin. Olettaen, että olet asentanut rsyncin, aloitetaan.

Ensinnäkin rsyncin peruskomentorakenne. Se on aika samanlainen kuin cp.

$rsync<vaihtoehtoja> <lähde> <määränpää>

Ennen kuin aloitat, tässä on kourallinen suosittuja rsync -argumentteja.

  • -v : Monipuolinen tila, tulostaa mitä tahansa konsolin näytössä suoritettavaa toimintoa.
  • -vv : Monipuolinen tila, jossa on lisätietoja
  • -r : Rekursiivinen tila, on oltava läsnä, jos kopioit hakemistoja
  • -Kanssa : Pakkaa tiedot
  • -kohteeseen : Arkistoi tiedot
  • -n : Kuiva juoksu, tulee suorittaa yhdessä verbose -tilan kanssa. Yksinkertaisesti tulostaa toiminnot, jos komento oli suoritettava todellisuudessa
  • -poistaa : Poista kohdehakemiston tiedostot ja hakemistot, jos lähdehakemisto ei enää sisällä niitä
  • -ei koko tiedostoa : Pakottaa rsyncin käyttämään delta -lähetysalgoritmiaan mitä tahansa. Hyödyllinen tilanteissa, joissa sinun on varmistettava vähimmäismäärä tietojen kirjoittamista.
  • –Remove-source-file : Poista lähdetiedostot kopioinnin jälkeen.

Tarkastellaan niitä toiminnassa. Ensinnäkin hakemistokopio. Suorita seuraava komento.

$rsync-vrdir_A/dir_A_copy

Käytämme yksityiskohtaisempaa tulosta käyttämällä -vv -lippua.

$rsync-vv -rdir_A/dir_A_copy

Katsotaanpa nyt rsyncin viileää osaa. Keskustelimme siitä, kuinka rsync kopioi älykkäästi vain muokatut tiedostot, mikä säästää kaistanleveyttä ja levyn kirjoittamista. On aika tarkistaa se toiminnassa. Tässä esimerkissä toiminto suoritetaan dir_A hakemistoon.

$rsync-vv -ei koko tiedostoanukke*dir_B/

Huolimatta delta-lähetyksestä, rsync ei välttämättä käytä sitä, kun suoritat paikallista tiedonsiirtoa.

Tarkastellaan nyt kuivakäyntiominaisuutta. Ennen kuin suoritat mitään rsync -komentoa, on aina tärkeää testata se etukäteen. Tässä tapahtuu kuiva -ajo. Rsync näyttää, mitä tapahtuu, jos komento todella suoritetaan.

$rsync-anvrdir_A/dir_A_copy

Rsync voi toimia myös etähakemistojen kanssa, ei ongelmaa. Tarvitaan vain oikea SSH -yhteys ja määritetyt SSH -avaimet.

$ rsync<vaihtoehto> <local_dir>
<käyttäjätunnus> @<etäisäntä>:<määränpää_suomi>

Haluatko suorittaa siirtotoimenpiteen? Jotta tämä olisi rsyncin näkökulmasta, rsync kopioi lähdehakemiston sisällön ja poistaa sitten lähdesisällön.

$rsync-v --remove-source-files <lähde> <määränpää>

Tarkista toimenpiteen tulos.

$puudir_A

$puudir_A_copy

Lopulliset ajatukset

Cp ja rsync ovat yleisimpiä työkaluja, joita voit käyttää tiedostojen kopioimiseen Linux -päätelaitteen kansioon. Molemmat sopivat myös käsikirjoitukseen. Muista vain testata toiminnot ennen käyttöönottoa.

Nauttia!