Sådan tvinges cp-kommando til at overskrive uden bekræftelse
Cp-kommandoen (som står for en kopi) er en af de almindeligt anvendte kommandoer på Linux og andre UNIX-lignende operativsystemer til kopiering af filer og mapper. I denne vejledning viser vi, hvordan man kan tvinge cp-kommandoen til at overskrive en kopioperation uden bekræftelse i Linux.
Normalt, når du kører en cp-kommando, overskriver den destinationsfil (er) eller katalog som vist.
# cp bin/git_pull_frontend.sh test/git_pull_frontend.sh
For at køre cp i interaktiv tilstand, så den beder dig om, før du overskriver en eksisterende fil eller mappe, skal du bruge flagget -i
som vist.
# cp -i bin/git_pull_frontend.sh project1/git_pull_frontend.sh
Som standard kommer moderne Linux-distributioner, især dem i Red Hat Enterprise Linux (RHEL) -familien, med et alias for cp-kommandoen, som får en bruger til at køre cp-kommandoen i interaktiv tilstand. Dette er muligvis ikke tilfældet med Debian- og Ubuntu-derivater.
For at kontrollere alle dine standardaliaser skal du køre alias-kommandoen som vist.
# alias
Det fremhævede alias i ovenstående skærmbillede indebærer, at når du kører kommandoen, kører den som standard i interaktiv tilstand. Selv når du bruger kommandoen ja
, vil shell stadig bede dig om at bekræfte overskrivningen.
# yes | cp -r bin test
Den bedste måde at tvinge overskrivningen på er at bruge et skråstreg bagud før cp-kommandoen som vist i det følgende eksempel. Her kopierer vi indholdet af mappen bin
til test
-mappen.
# \cp -r bin test
Alternativt kan du fjerne cp-aliaset til den aktuelle session og derefter køre din cp-kommando i den ikke-interaktive tilstand.
# unalias cp # cp -r bin test
For mere information, se cp-kommandosiden.
# man cp
Hvis du har spørgsmål, så spørg os via feedbackformularen nedenfor.