Ik heb problemen met het kopiëren van een map met bestanden in die map naar een andere map. Commando cp -r
kopieert geen bestanden in de map.
Antwoord 1, autoriteit 100%
De optie die je zoekt is -r
.
cp -R path_to_source path_to_destination/
- Als
destination
niet bestaat, wordt deze aangemaakt. -r
betekentcopy directories recursively
. Je kunt ook-r
gebruiken omdat het niet hoofdlettergevoelig is.- Let op de nuances bij het toevoegen van de afsluitende
/
volgens commentaar.
Antwoord 2, autoriteit 18%
U zoekt de opdracht cp
. U moet mappen wijzigen zodat u zich buiten de map bevindt die u probeert te kopiëren.
Als de map die u kopieert dir1
heet en u deze naar uw map /home/Pictures
wilt kopiëren:
cp -r dir1/ ~/Pictures/
Linux is hoofdlettergevoelig en heeft ook de /
achter elke map nodig om te weten dat het geen bestand is. ~
is een speciaal teken in de terminal dat automatisch evalueert naar de homedirectory van de huidige gebruiker. Als u wilt weten in welke map u zich bevindt, gebruikt u het commando pwd
.
Als je niet weet hoe je een Linux-commando moet gebruiken, is er een handleiding die je kunt raadplegen door te typen:
man [insert command here]
bij een terminalprompt.
Om lange bestandspaden automatisch aan te vullen wanneer u in de terminal typt, kunt u op Tabdrukken nadat u bent begonnen met het typen van het pad en u krijgt ofwel keuzes te zien, of het voegt de resterende deel van het pad.
Er is een belangrijk onderscheid tussen Linux en Unix in het antwoord, omdat voor Linux (GNU en BusyBox) -r
, -r
en --recursive
zijn allemaal gelijkwaardig, zoals vermeld in dit antwoord. Voor draagbaarheid, d.w.z. POSIX-compliance, zou u -r
willen gebruiken vanwege enkele implementatieafhankelijke verschillen met -r
. Het is belangrijk om de man-pagina’s te lezen om eventuele eigenaardigheden te kennen die zich kunnen voordoen (dit is een goede use case om te laten zien waarom POSIX-standaarden nuttig zijn).
Antwoord 3, autoriteit 5%
Gebruik:
$ cp -R SRCFOLDER DESTFOLDER/