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.