Estoy tratando de usar el cpcomando y forzar una sobrescritura.
Lo he intentado cp -rf /foo/* /bar, pero todavía se me pide que confirme cada sobrescritura.
fuente
Estoy tratando de usar el cpcomando y forzar una sobrescritura.
Lo he intentado cp -rf /foo/* /bar, pero todavía se me pide que confirme cada sobrescritura.
Puede hacerlo yes | cp -rf xxx yyy, pero mi gutfeeling dice que si lo hace como root - su .bashrco .profiletiene un alias de cpa cp -i, los sistemas más modernos (principalmente RH-derivados) que hacen a los perfiles de raíz.
Puede verificar los alias existentes ejecutando aliasen el símbolo del sistema, o which cppara verificar solo los alias cp.
Si tiene un alias definido, la ejecución unalias cpeliminará eso para la sesión actual, de lo contrario, puede eliminarlo de su perfil de shell.
Puede omitir temporalmente un alias y usar la versión sin alias de un comando con el prefijo \, p. Ej.\cp whatever
¯\_(ツ)_/¯respecto.(primarily RH-derivatives)comentario :)unalias cpy copiar lo que necesite copiar, puede volver a establecer el alias a su valor predeterminado haciendoalias cp='cp -i'. Después de lo cual, ejecutealias cppara que pueda verificar que ha vuelto al alias predeterminado.Esto probablemente es causado por
cpestar alias a algo asícp -i. Llamarcpdirectamente debería funcionar:Otra forma de evitar esto es usar el
yescomando:fuente
yescomando. Divertidísimo. Y algún día puedo usarlo.Como algunas de las otras respuestas han dicho, es probable que utilice un alias en algún lugar que se asigna
cpacp -io algo similar. Puede ejecutar un comando sin ningún alias precediéndolo con una barra diagonal inversa. En tu caso, intentaLa barra invertida desactivará temporalmente cualquier alias que haya llamado
cp.fuente
cp,\cpinvocará el comandocp. Esto parece ser el equivalente de corrercommand cp.Probablemente tengas un alias en alguna parte, asignando
cpacp -i; porque con la configuración predeterminada,cpno pedirá sobrescribir. Comprueba tu.bashrc, tu.profileetc.Consulte la página de manual de cp : solo cuando
-ise especifique el parámetro, secpsolicitará antes de sobrescribir.Puede verificar esto mediante el
aliascomando:Para definir el alias, use:
fuente
Como han dicho otras respuestas, esto podría suceder si
cpes un alias decp -i.Puede agregar un
\antes delcpcomando para usarlo sin alias.fuente
Por defecto
cptiene aliase acp -i. Puede verificarlo, escribiraliasy puede ver algunos como:Para resolver este problema, simplemente use el
/bin/cp /from /tocomandocp /from /tofuente
puedes usar este comando también:
cp -ru /zzz/zzz/* /xxx/xxxaunque actualizaría su archivo existente con el más nuevo.
fuente
cpgeneralmente tiene un alias como estesi está seguro de que desea sobrescribir, use esto:
fuente
encontré esto
Fuente: /superuser/358843/how-to-replace-all-the-contents-from-one-folder-with-another-one/358851
fuente
Así que me encuentro mucho con esto porque sigo alias cp
cp -iv, y encontré un buen truco. Resulta que mientras-iy-ntanto cancelar directivas de sobreescritura anteriores,-fno lo hace. Sin embargo, si lo usa-nfagrega la capacidad de borrar el-i. Entonces:Bastante bien, ¿eh? / necropost
fuente
También funciona.
fuente
Otra forma de llamar al comando sin el alias es usar el
commandbuiltin en bash.command cp -rf /zzz/zzz/*fuente
-n es "no sobreescribir" pero su pregunta es totalmente opuesta a lo que respondiste.
Para evitar esta confirmación, simplemente puede ejecutar el comando cp con la ruta absoluta, evitará el alias.
/ bin / cp destino del archivo fuente
fuente
Si desea mantener el alias a nivel global tal como está y solo desea cambiar su script.
Solo usa:
alias cp = cp
y luego escribe tus comandos de seguimiento.
fuente
Simplemente utilicé unalias para eliminar el alias "cp -i", luego hice la copia y luego volví a configurar el alias. :
No es el código más bonito, pero fácil de configurar y eficiente. También verifico que el alias ya está retrasado con un simple
fuente
No es
cp -i. Si no desea que se le pida confirmación, escp -n; por ejemplo:O en el caso de directorios / carpetas es:
fuente
cp -i, lo que significa que estaban tratando de superar el valor predeterminado y forzar una sobrescritura. Parece que puede haber confundido que por ser la sintaxis sugerido, pero-nserá evitar una sobrescritura.