logo

Bestanden en mappen kopiëren in Linux | cp-opdracht

In de wereld van Linux-computers is het kopiëren van bestanden een veel voorkomende en belangrijke taak. Het belangrijkste hulpmiddel voor deze taak is de opdracht cp. In deze eenvoudige handleiding onderzoeken we hoe je een bestand in Linux kunt kopiëren, waarbij we kijken naar de basisstappen, de verschillende keuzes die je kunt maken en duidelijke voorbeelden geven. We nemen ook een kijkje achter de schermen om te begrijpen hoe het cp-commando werkt. Laten we beginnen aan deze eenvoudige reis om vertrouwd te raken met de ins en outs van het kopiëren van bestanden in Linux!

Inhoudsopgave



Syntaxis van cp-opdracht

De basissyntaxis voor het kopiëren van een bestand met behulp van decp>opdracht is als volgt:

cp source_file destination>

Met deze opdracht wordt een kopie gemaakt van het ` source_file`> op het opgegeven ' destination`> . Als de bestemming een map , wordt het bestand naar die map gekopieerd.

Hoe bestanden in Linux te kopiëren met decp>Commando

De ` cp`> command is een veelzijdig hulpmiddel dat in Unix-achtige besturingssystemen wordt gebruikt voor het kopiëren van bestanden en mappen. Het biedt drie belangrijke werkingsmodi, die elk verschillende doeleinden dienen.



1. Kopiëren tussen twee bestanden in Linux

Als de ` cp`> commando twee bestandsnamen bevat, kopieert het de inhoud van het eerste bestand naar het tweede bestand. Als het tweede bestand niet bestaat, wordt het gemaakt en wordt de inhoud ernaar gekopieerd. Als het tweede bestand echter al bestaat, wordt het zonder waarschuwing overschreven.

lijst maken in Java
cp Src_file Dest_file>
  • Als ' Dest_file`> bestaat niet, het is gecreëerd.
  • Als ' Dest_file`> al bestaat, wordt het zonder enige waarschuwing overschreven.

Voorbeeld 1:

  • Aanvankelijk is er slechts één bestand (` a.txt`> ) in de map.
  • De ` cp`> commando wordt gebruikt om de inhoud van ` a.txt`> naar ` b.txt`> .
  • Na de uitvoering van de opdracht worden beide ` a.txt`> en de nieuw gemaakte ` b.txt`> naast elkaar bestaan ​​in de directory.
cp a.txt b.txt>
Kopieer een bestand in Linux

kopieer een bestand onder Linux



Wij gebruikten ` ls ` commando om het hele bestand in de huidige map weer te geven.

Voorbeeld 2:

  • Aanvankelijk zijn er twee bestanden (` a.txt`> en ` c.txt`> ) in de map.
  • De ` cp`> commando wordt gebruikt om de inhoud van ` a.txt`> naar ` c.txt`> .
  • Na de uitvoering van de opdracht wordt de inhoud van ` c.txt`> wordt overschreven met de inhoud van ` a.txt`.>
cp a.txt c.txt>
Kopieer een bestand in Linux

Kopieer een bestand in Linux

Wij gebruikten ` ls ` commando om het hele bestand in de huidige map weer te geven en gebruikt ` kat `opdracht om de inhoud in het tekstbestand weer te geven.

2. Kopieer bestanden naar een map in Linux

Wanneer decp>commando een of meer bronbestandsargumenten heeft en wordt gevolgd door een doelmapargument, het kopieert elk bronbestand naar de doelmap met dezelfde naam. Als de doelmap niet bestaat, wordt deze gemaakt. Als het al bestaat, worden de bestanden zonder waarschuwing overschreven.

cp Src_file1 Src_file2 Src_file3 Dest_directory>

Voorbeeld:

Stel dat we de naam van drie bestanden moeten kopiëren a.txt , b.txt En c.txt naar een mapnaam nieuw

cp a.txt b.txt c.txt new/>
Kopieer meerdere bestanden naar een andere map

Kopieer meerdere bestanden naar een andere map

Wij gebruikten ` ls ` commando om het hele bestand in de nieuwe map weer te geven om de succesvolle kopie van het bestand in die map te bevestigen.

3. Hoe mappen kopiëren in Linux

In deze modus, als decp>commando bevat twee mapnamen, het kopieert alle bestanden van de bronmap naar de doelmap. De ` -R`> optie wordt doorgaans gebruikt om recursief kopiëren voor mappen aan te geven.

cp -R Src_directory Dest_directory>
bestanden kopiëren tussen twee mappen

bestanden kopiëren tussen twee mappen

Het gedrag hangt af van de vraag of ` Dest_directory`> bestaat of niet. Als het niet bestaat, ` cp`> maakt het aan en kopieert de inhoud van ` Src_directory`> recursief. Als ' Dest_directory`> bestaat, de kopie van ` Src_directory`> wordt een submap onder ` Dest_directory`>

Opties Beschikbaar in cp Commando in Linux

Er zijn veel opties cp commando, hier zullen we enkele van de nuttige opties bespreken:

Keuze Detail
-i

Interactief kopiëren met een waarschuwing voordat het doelbestand wordt overschreven.

-B

Maakt een back-up van het doelbestand in dezelfde map met een andere naam en indeling.

-F

Dwingt kopiëren af, zelfs als de gebruiker geen schrijftoestemming heeft; verwijdert indien nodig het bestemmingsbestand.

-r of -R

Kopieert de mapstructuur recursief.

-P

Behoudt bestandskenmerken (wijzigingstijd, toegangstijd, eigendom, toestemmingsbits).

`*`

Gebruikt het jokerteken * om alle bestanden en mappen weer te geven die overeenkomen met een patroon.

1. Kopieer een bestand in Linux met de optie `-i`

-i(interactief): ik staat voor Interactief kopiëren. Met deze optie waarschuwt het systeem de gebruiker eerst voordat het doelbestand wordt overschreven. cp vraagt ​​om een ​​reactie als u op drukt En vervolgens overschrijft het het bestand en laat het bij elke andere optie ongekopieerd.

Basissyntaxis:

cp -i [Source_file] [Destination_file]>

Voorbeeld:

grootte van python
cp -i a.txt b.txt>
Kopieer een bestand in Linux met `-i`

Kopieer een bestand in Linux met `-i`

Hier,

  • `ls`> commando toont bestaande bestanden: ` a.txt`> en ` b.txt`> .
  • `cat a.txt`> toont de inhoud van ` a.txt`> .
  • `cat b.txt`> toont de inhoud van ` b.txt`> .
  • `cp -i a.txt b.txt`> initieert een interactieve kopie.
  • Systeem vraagt ​​om het overschrijven van` te bevestigen b.txt`> .
  • Gebruiker antwoordt met ‘y’ om te bevestigen.
  • `cat b.txt`> toont de bijgewerkte inhoud, die nu overeenkomt met ` a.txt`> .

2. Kopieer een bestand in Linux met de optie `-f`

-f(kracht): Als het systeem het doelbestand niet kan openen voor schrijfbewerking omdat de gebruiker geen schrijfrechten voor dit bestand heeft, gebruik dan -F optie met cp commando wordt het doelbestand eerst verwijderd en vervolgens wordt de inhoud gekopieerd van het bron- naar het doelbestand.

Basissyntaxis:

cp -f [Source_file] [Destination_file]>

Voorbeeld:

cp -f a.txt b.txt>
Kopieer een bestand in Linux met `-f`

Kopieer een bestand in Linux met `-f`

Hier,

  • `ls`> commando toont bestaande bestanden: ` a.txt`> en ` b.txt`> .
  • `cat a.txt`> toont de inhoud van ` a.txt`> .
  • `cat b.txt`> toont de inhoud van ` b.txt`> .
  • `cp -f a.txt b.txt`> initieert een krachtige kopie.
  • Bestemmingsbestand (b.txt) wordt zonder waarschuwing overschreven.
  • `cat b.txt`> toont de bijgewerkte inhoud, die nu overeenkomt met ` a.txt`> .

3. Kopieer een bestand in Linux met de optie `-r` of `-R`

Directorystructuur recursief kopiëren. Met deze optie cp commando toont zijn recursieve gedrag door de gehele mapstructuur recursief te kopiëren.

Basissyntaxis:

cp -r [Directory_name1] [Directory_name2]>

Voorbeeld:

cp -r geeksforgeeks gfg>

4. Kopieer een bestand in Linux met de optie `-p`

-p(behouden): Met -P keuze cp behoudt de volgende kenmerken van elk bronbestand in het corresponderende doelbestand: het tijdstip van de laatste gegevenswijziging en het tijdstip van de laatste toegang, het eigendom (alleen als het daarvoor toestemming heeft) en de bestandsrechten-bits.

Opmerking: Voor het behoud van kenmerken moet je de root-gebruiker van het systeem, anders veranderen de kenmerken.

Basissyntaxis:

cp -p [Source_file] [Destination_file]>

Voorbeeld:

cp -p a.txt c.txt>

5. Kopieer een bestand in Linux met de optie `*`

Kopiëren met * jokerteken: Het ster-wildcard vertegenwoordigt alles, dat wil zeggen alle bestanden en mappen. Stel dat we veel tekstdocumenten in een map hebben en deze naar een andere map willen kopiëren, dan kost het veel tijd als we bestanden 1 voor 1 kopiëren, of wordt de opdracht te lang als al deze bestandsnamen als argument worden opgegeven, maar door * jokerteken te gebruiken het wordt eenvoudig.

Basissyntaxis:

cp *.txt [Destination Directory or file]>

Voorbeeld:

cp *.txt Folder1>
Kopieer een bestand in Linux met `*`

Kopieer een bestand in Linux met `*`

Conclusie

De `cp` command is een essentieel hulpmiddel dat wordt gebruikt voor het kopiëren van bestanden of groepen bestanden en mappen in Unix-achtige besturingssystemen. Als we het over de syntaxis ervan hebben, zijn er minstens twee bestandsnamen nodig als argument (bron en bestemming). Zoals gezegd heeft de opdracht drie principes: het kopiëren van twee bestandsnamen, het kopiëren van een of meer argumenten en het kopiëren van twee mapnamen. Dan vermelden we ook de meerdere opties die beschikbaar zijn tijdens het gebruik `cp` commando: `-ik` , `-b` , `-f , `-r` , `-p` . Om eenvoudig in Unix-shell voor bestandsbeheer te kunnen werken, moet men de juiste werking ervan kennen `cp` commando.