Wenn ich Sie bitten würde, einen Befehl zum Kopieren eines Ordners an einen anderen Speicherort zu erwähnen, würde dies fast jeder erwähnen cp.
Wenn ich Ihnen jetzt sage, dass Sie zusätzlich den gesamten Inhalt dieses Ordners mit Ausnahme einer Datei kopieren müssen, würden viele nachdenken und andere erwähnen rsync, dann mit dem Parameter -Ausschließen Sie können X-Dateien oder Ordner ausschließen und nicht kopieren. Aber ... wussten Sie, dass Sie mit cp dies auch tun können? ... O_O … Ja Freunde, cp hat seine eigene "ausschließen" hehe.
Zum Beispiel haben wir den Ordner Isos enthält: ubuntu.iso, debian.iso y archlinux.iso :
Und es kommt vor, dass wir in den anderen Ordner kopieren wollen (Distributionen-deb, die leer ist) die Datei debian.iso y ubuntu.isodas heißt, alle außer archlinux.iso
Dafür könnten wir eine Datei und dann eine andere manuell kopieren, aber es ist viel intelligenter, die Optionen zu verwenden, die uns das System bietet, oder? … 😀… zum Beispiel, um dies einfach zu tun:
cp isos/!(archlinux.iso) distros-deb/
Und dies reicht aus, um ALLES, was im isos-Verzeichnis enthalten ist, nach distros-deb zu kopieren, alles außer archlinux.iso 😉
Angenommen, wir haben nicht nur diese 3 Dateien, sondern auch fedora.iso und chakra.iso ... und wir möchten dasselbe tun, es würde auch von der Kopie fedora.iso und chakra.iso ausgeschlossen, mal sehen wie es geht:
cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/
Wie Sie sehen, können mehrere Dateien oder Ordner ausgeschlossen werden. Wir trennen sie nur durch eine Pipe (|) und Materie gelöst 😀
Damit meine ich nicht, dass cp für alles besser ist als rsync ... aber beide sind zum Beispiel hervorragende Werkzeuge ... wussten Sie den Parameter? -u de cp? ... hehe, sicher nicht 😉
Nun, nichts mehr hinzuzufügen ... ist das ein interessanter Tipp? 😀
Grüße
Ich kannte diese Methode nicht, man lernt immer etwas Neues.
Hervorragender Tipp, danke.
dank
Der Tipp ist sehr gut, ich wusste es nicht! Es bleibt nur den Arch- und Fedora-Benutzern zu erklären, warum Sie die Hehe ihrer ISO ausgeschlossen haben
JAJAJAJAJAJA Ich habe die Arch- und Fedora-ISOs nicht eingefügt, weil das Beispiel versucht hat, nur Deb-Distributionen zu kopieren… HAHAHAHAHA.
Hier müssen wir einige Punkte ansprechen. Zum einen funktioniert dies nur, wenn die Extglob-Option der Bash aktiviert ist. Ist dies nicht der Fall, wird es mit folgendem Befehl aktiviert:
shopt -s extglob
Es kann in die .bashrc-Datei gestellt werden, damit es immer aktiviert ist.
Der andere Punkt ist, dass dieser Trick keine Option des Befehls cp ist, sondern auf der Bash-Ebene funktioniert. Dies bedeutet, dass es mit jedem Befehl verwendet werden kann. Nicht nur mit cp. Sie können den Test durchführen, indem Sie Folgendes schreiben:
echo Dateien: isos /! (archlinux.iso | fedora.iso | chakra.iso)
Ansonsten ist es ein sehr nützlicher Trick. Zusammen mit der Option -u zu cp, die ich auch von Zeit zu Zeit nützlich finde.
Sicher, es ist ein regulärer Ausdruck
Es ist eigentlich ein erweitertes Muster. Ein regulärer Ausdruck ist etwas anderes, aber es sieht so aus. 🙂
Ja, das -u in cp ist wirklich interessant. Ich gebe zu, dass ich ein großer Fan von Rsync bin ... aber ich weiß nicht, ich habe eine Bindung an den armen Cop hahaha.
Über die Aktivierung von shopt wusste ich nicht, ich nahm an, dass dies automatisch funktioniert, danke für den Tipp.
Und ja, ich hatte den Verdacht, dass es mehr mit Bash als mit cp zu tun hat, aber ich hatte noch nicht versucht, einen rm oder eine Katze oder so etwas zu machen :)
Danke für den Kommentar, das tue ich wirklich 😀
Es ist mir eine Freude, meinen Beitrag zu leisten. 🙂
Tatsächlich war ich schon immer daran interessiert, etwas über reguläre Ausdrücke zu lernen ... Bist du aufgeregt und machst einen Newbie-Beitrag darüber? 😀
LOL !! Du hast mich schon. 🙂 Mit wie glücklich ich war, ohne zu kommentieren… 🙂
Die Wahrheit ist, dass er mich anruft. 🙂 Aber ich muss noch ein bisschen darüber nachdenken. Es scheint schwer zu erklären.
hahahahaha nichts mach dir keine Sorgen, du kommentierst immer wieder, dass du immer noch ahahahaha lernst, das Wichtigste ist zu teilen 😀
Sehr guter Tipp Sie werden nie ins Bett gehen, ohne etwas Neues zu lernen.
Genau und das Beste ist, ich lerne viel aus den Kommentaren, die Sie in den Posts hinterlassen. Ich liebe es, jeden Tag seltsame Dinge zu lernen. HAHAHA.
Guter Trick. Ich kannte ihn nicht 🙂
Ein Vergnügen 😉
Aber wenn Sie Isos setzen, wollen Sie debian.iso ubuntu.iso /! (Etc etc) setzen? Nein
In der Tat stellte sich heraus, dass es ein sehr interessanter Tipp war. Nicht nur wegen des Artikels selbst, sondern auch wegen des Mehrwerts der Kommentare.
Schöne Community von <º Linux
Ihre Hilfe hat mir nichts gebracht, Sie sollten ein Beispiel geben, damit die Schüler Ihre großartige Technik besser verstehen können.
Vielen Dank, dass Sie sich die Zeit genommen haben. Ich werde mich immer an diese Seite in meinem Herzen erinnern
Sie sagen, Sie überspringen Verzeichnisse, aber in den Beispielen überspringen Sie nur Dateien. Wissen Sie, wie man ein bestimmtes Verzeichnis überspringt? Grüße.