Ich versuche, die cp
und ein Überschreiben erzwingen.
Ich habe versucht cp -rf /foo/* /bar
aber ich werde immer noch aufgefordert, jedes Überschreiben zu bestätigen.
Ich versuche, die cp
und ein Überschreiben erzwingen.
Ich habe versucht cp -rf /foo/* /bar
aber ich werde immer noch aufgefordert, jedes Überschreiben zu bestätigen.
Das können Sie tun yes | cp -rf xxx yyy
aber mein Bauchgefühl sagt mir, wenn Sie es wie Root machen - Ihr .bashrc
o .profile
hat einen Alias von cp
a cp -i
Die meisten modernen Systeme (vor allem RH-Derivate) tun dies bei Wurzelprofilen.
Sie können vorhandene Aliase überprüfen, indem Sie alias
an der Eingabeaufforderung, oder which cp
um die Aliase nur auf cp
.
Wenn Sie einen Alias definiert haben, können Sie mit unalias cp
wird dies für die aktuelle Sitzung aufgehoben, andernfalls können Sie es einfach aus Ihrem Shell-Profil entfernen.
Sie können einen Alias vorübergehend umgehen und die nicht aliasierte Version eines Befehls verwenden, indem Sie ihm das Präfix \
z.B. \cp whatever
Seien Sie außerdem vorsichtig - selbst wenn der Alias nicht direkt in .bashrc geschrieben ist, wenn alles Wenn dieser Dateiaufruf am Ende etwas anderes aufruft, das den Alias für cp manipuliert, werden Sie auf dieses Verhalten stoßen.
Mit "modernen Systemen" meint er RHEL/Centos/Fedora und vielleicht noch etwas anderes, Debian/Ubuntu hat kein Alias cp. Ich bevorzuge RHEL auf dem Server und habe Fedora fast ein Jahrzehnt lang benutzt, aber die Community-Unterstützung von Ubuntu und der Wechsel zurück zu Gnome haben mich gelockt, nachdem Nvidia meine Fedora-Installation zerstört hat. Ich bin ¯\_()_/¯
darüber.
Ja, ich habe unalias cp -i, jetzt funktioniert es.. Vielen Dank für Ihre wertvolle Antwort.
Ich liebe es, dass Unix die Möglichkeit bietet yes
Befehl. Sehr witzig. Und eines Tages werde ich ihn vielleicht benutzen.
Ja, es war ein Alias, gut gemacht :) Sie können verwenden \cp um das ursprüngliche cp aufzurufen, einfacher als sich den Pfad /bin/cp zu merken
Wie in einigen der anderen Antworten bereits erwähnt, verwenden Sie wahrscheinlich irgendwo einen Alias, der die cp
a cp -i
oder etwas Ähnliches. Sie können einen Befehl ohne Aliasnamen ausführen, indem Sie ihm einen Backslash voranstellen. In Ihrem Fall versuchen Sie
\cp -r /zzz/zzz/* /xxx/xxx
Der Backslash deaktiviert vorübergehend alle Aliasnamen, die Sie cp
.
Wahrscheinlich haben Sie irgendwo einen Alias, der Folgendes abbildet cp
a cp -i
; denn mit den Standardeinstellungen, cp
wird nicht zum Überschreiben auffordern. Prüfen Sie Ihre .bashrc
, Ihr .profile
など
Siehe cp manpage : Nur wenn -i
Parameter angegeben ist, wird cp
vor dem Überschreiben tatsächlich abfragen.
Sie können dies über die alias
Befehl:
$ alias
alias cp='cp -i'
alias diff='diff -u'
....
Um den Alias zu deaktivieren, verwenden Sie:
$ unalias cp
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.