Konzeptzeichnung von Bash auf einem Ubuntu Linux-Desktop

Fatmawati Achmad Zaenuri/Shutterstock.com

|_+_| ist ein vielseitiger Befehl zum Kopieren von Dateien in Linux und macOS. Es ist perfekt für Power-User, die nach Effizienz suchen. Lesen Sie diesen Artikel, um zu erfahren, wie Sie intelligenter und nicht härter arbeiten.



Warten Sie – nicht zum Installieren von Software?

Die |_+_| Befehl hat möglicherweise den irreführenden Namen aller Linux-Befehle. Es installiert keine Software. Wenn Sie versuchen, ein Softwarepaket über die Befehlszeile in Ubuntu oder einer anderen Debian-basierten Distribution zu installieren, verwenden Sie das |_+_| Befehl. Verwenden Sie bei anderen Linux-Distributionen stattdessen das Paketverwaltungstool Ihrer Linux-Distribution – zum Beispiel |_+_| auf Fedora oder |_+_| auf openSUSE.

Was macht die Installation?

Kurz gesagt |_+_| kombiniert Elemente aus dem |_+_| ( Kopieren ), install ( Besitzer wechseln ), install ( Modus ändern ), apt-get ( Verzeichnis erstellen ) und |_+_| ( Streifensymbole ) Befehle. Sie können alle Funktionen in einer einzigen Aktion verwenden.

Die |_+_| Befehl kann:

  • Kopieren Sie Dateien wie die |_+_| Befehl.
  • Wählen Sie aus, ob vorhandene Dateien überschrieben werden sollen.
  • Erstellen Sie das Zielverzeichnis, falls es nicht existiert, wie |_+_|.
  • Setzen Sie die Benutzerberechtigungs-Flags der Dateien, genau wie die |_+_| Befehl.
  • Legen Sie den Eigentümer der Dateien fest, genau wie beim |_+_| Befehl.
  • Entfernen Sie nicht unbedingt notwendiges Gepäck aus ausführbaren Dateien, genau wie das |_+_| Befehl.

Trotz all dieser Funktionalität ist das |_+_| Befehl hat auch nicht viele Optionen zu kämpfen.

Manpage installieren

Wann würden Sie es verwenden?

Die |_+_| Befehl wird wahrscheinlich nicht jeden Tag verwendet. Es ist nützlich, aber nur für bestimmte Situationen. Ein Szenario, in dem |_+_| zur Geltung kommt, ist die Softwareentwicklung. Angenommen, Sie programmieren ein neues Dienstprogramm. Sie müssen Tests außerhalb der Entwicklungsumgebung durchführen. Dazu müssen Sie die neuen Programmdateien in ein Testverzeichnis kopieren. Das Testverzeichnis muss möglicherweise erstellt werden und Sie müssen die richtigen Berechtigungen und das Eigentumsrecht für die Dateien festlegen.

Anzeige

Da die Entwicklung eine iterative Aktivität ist, können Sie diese Abfolge von Aktionen am Ende viele, viele Male ausführen. Die |_+_| Command erledigt die ganze schwere Arbeit für Sie. Wenn Ihr neues Dienstprogramm schließlich bereitgestellt werden kann, können Sie |_+_| . verwenden um es mit den richtigen Berechtigungen an seinen endgültigen Arbeitsspeicherort zu kopieren.

Ein Beispiel

Ein Programmierer arbeitet an einem solchen neuen Dienstprogramm namens |_+_|. Es besteht aus einer ausführbaren Binärdatei und einer Datenbank. Nach dem Testen muss es nach |_+_| . kopiert werden um es allen Benutzern des Linux-Systems zur Verfügung zu stellen. Sie müssen die Dateinamen und Verzeichnispfade in unserem Beispiel durch die Dateien und Pfade ersetzen, die Sie auf Ihrem Computer verwenden, wenn Sie |_+_| verwenden.

Bis zur Freigabe wird es in einem Verzeichnis namens |_+_| getestet. Mitglieder der |_+_| Gruppe hat Lese- und Ausführungsberechtigungen. Andere Benutzer haben auch Lese- und Ausführungsberechtigungen. Die |_+_| Befehl verwendet dieselbe numerische Darstellung für Berechtigungen wie |_+_| tut. Unser Programmierer hat entschieden, dass die Berechtigungen auf Folgendes gesetzt werden müssen:

  • Besitzer: Lesen, schreiben und ausführen.
  • Gruppe: Lesen und ausführen.
  • Andere: Nur ausführen.

So verwenden Sie |_+_| Befehl

Das Arbeitsverzeichnis unseres fiktiven Programmierers ist |_+_|. Er hat das Programm geschrieben, kompiliert und eine Binärdatei namens |_+_| erstellt. Er hat bereits die Datenbankdatei erstellt, die |_+_| funktioniert mit |_+_|. Damit sind beide Dateien zum Testen bereit. Schauen wir sie uns an:

dnf

Die |_+_| Das Dienstprogramm, das er gerade geschrieben hat, erstellt Anagramme aus einer Phrase, die auf der Befehlszeile bereitgestellt wird. Verifizierungstests sind recht einfach.

wie man das Cygwin-Terminal verwendet

Test eines Dienstprogramms im Arbeitsverzeichnis

Unser Programmierer hat |_+_| . aufgerufen mit der Phrase Keks und alles scheint gut. Diese beiden Dateien möchte er nun in die |_+_| . kopieren Verzeichnis, um zu sehen, ob das neue Dienstprogramm außerhalb der Entwicklungsumgebung ordnungsgemäß funktioniert. Er gibt folgenden Befehl aus:

zypper

Befehl nach /test/ana . installieren

Die in der Befehlszeile verwendeten Optionen waren:

    D: Erstellen Sie Verzeichnisse, einschließlich der übergeordneten Verzeichnisse, falls erforderlich. v: Ausführlich, listet jedes Verzeichnis während der Erstellung und jede Dateikopie während der Ausführung auf. T: Zielverzeichnis.
Anzeige

Wir können sehen, dass |_+_| erstellt die |_+_| Verzeichnis und erstellt dann das |_+_| Verzeichnis. Die Dateien werden nacheinander aufgelistet, während sie in das Zielverzeichnis kopiert werden.

Auflisten der Dateien in |_+_| bestätigt, dass sie richtig kopiert wurden.

install

ls im Verzeichnis /test/ana

Der nächste Schritt besteht darin, die |_+_| . zu testen Dienstprogramm, indem Sie es im |_+_| . aufrufen Verzeichnis.

Test eines ana-Dienstprogramms im Verzeichnis /test/ana

Das Dienstprogramm funktioniert wie erwartet, was großartig ist. Die Berechtigungen sind jedoch nicht korrekt. Voraussetzung ist, dass Mitglieder der Gruppe |_+_| Lese- und Ausführungsberechtigungen zu haben, und andere Benutzer dürfen nur ausführen.

Wir können beide Probleme ganz einfach mit dem folgenden Befehl lösen. Beachten Sie die Verwendung von |_+_| um den Befehl mit Root-Berechtigungen auszuführen. Die |_+_| und |_+_| und Optionen erfordern dies. Wir werden nach unserem Passwort gefragt, wenn wir den Befehl ausgeben.

cp

install-Befehl mit Backup-Optionen und Voreinstellungen

  • Die |_+_| (Backup) erstellt Backups der Dateien, bevor sie überschrieben werden.
  • Die |_+_| (Suffix) Option definiert das Suffix für die Backup-Dateien. Wenn Sie kein Suffix angeben, a |_+_| (Tilde) verwendet. Wir fragen |_+_| um ein Suffix von |_+_| zu verwenden.
  • Wir setzen den Eigentümer der Datei auf |_+_| mit dem |_+_| (Eigentümer) Option.
  • Die |_+_| Die Option (Gruppe) erfordert den Namen einer Gruppe. Dies wird die Eigentümergruppe der Dateien. Die Gruppe, die wir verwenden werden, heißt |_+_|.
  • Die |_+_| (mode) Option legt die Dateimodi für die Dateien fest, unter Verwendung des Standard |_+_| numerische Syntax.

Wir brauchen das |_+_| . nicht mehr (Verzeichnisse erstellen), da wir wissen, dass das Testverzeichnis bereits existiert. Wir haben auch das |_+_| . weggelassen (ausführliche) Option. Auflistung der Dateien in unserem |_+_| Verzeichnis zeigt uns die Dateidetails:

chown

ls im Verzeichnis /test/ana

Adressleiste verstecken chrome android

Dies bestätigt, dass alle unsere Anforderungen erfüllt wurden.

  • Die Dateien wurden in das Testverzeichnis kopiert.
  • Die Berechtigungen wurden richtig gesetzt.
  • |_+_| ist der Eigentümer der Dateien.
  • Die |_+_| group ist die Eigentümergruppe der beiden Dateien.
  • Von jeder Datei wurden Sicherungskopien erstellt, die als ana.bak und Words.db.bak bezeichnet werden.
Anzeige

All dies wurde durch die Verwendung eines einzigen Befehls erreicht. Sauber.

Unser Programmierer nimmt einige letzte Änderungen am Dienstprogramm vor und kompiliert neu. Die geänderten Dateien müssen in das |_+_| . kopiert werden Verzeichnis aus dem |_+_| Verzeichnis. Wir können dies tun, indem wir |_+_| . verwenden (vergleichen) Möglichkeit. Wenn Quelldatei und Zieldatei identisch sind, wird die Quelldatei nicht kopiert.

chmod

install-Befehl mit der Vergleichsoption -C

Die Auflistung der Dateien im Zielverzeichnis zeigt uns, dass die Dateigröße der |_+_| Datei hat sich geändert. Sie ist größer als die |_+_|-Datei. Der Zeitstempel auf |_+_| hat sich auch geändert. Diese Änderungen sind darauf zurückzuführen, dass die neue Version der Datei hierher kopiert wurde.

mkdir

ls in /test/ana mit dem Dienstprogramm test fo ana

Die Dateigröße und der Zeitstempel der |_+_| Datei haben sich nicht geändert. Es wurden keine Änderungen am |_+_| . vorgenommen Datei, wurde also nicht kopiert. Bei einem Projekt mit vielen Dateien die |_+_| (vergleichen) kann viel Zeit und Festplattenwechsel sparen, indem nur die geänderten Dateien kopiert werden.

Der Programmierer hat erneut getestet, dass die |_+_| Dienstprogramm weiterhin in Betrieb.

Es ist Zeit, |_+_| . zu verwenden um die Dateien in das |_+_| . zu kopieren Verzeichnis. Dadurch wird das neue Dienstprogramm für alle Benutzer dieses Linux-Computers verfügbar. Wir wissen, dass |_+_| existiert, also müssen wir dieses Verzeichnis nicht erstellen. Wir können eine modifizierte Version unseres letzten Befehls verwenden.

Anzeige

Wir haben das Zielverzeichnis in |_+_| geändert. Wir haben die |_+_| . entfernt (compare) Option, da im Zielverzeichnis noch keine Kopien dieser Dateien vorhanden sind, es also nichts Vergleichbares gibt. Ebenso gibt es nichts zu sichern, also können wir das |_+_| . entfernen (Backup-)Option und die |_+_| (Suffix)-Option.

strip

Installiere das Kopieren von Dateien nach /usr/local/bin

Wir können auflisten, dass die Dateien in |_+_| angekommen sind:

install

ls von /usr/local/bin

Und als letzten Test ändern wir das Verzeichnis in unser Home-Verzeichnis und sehen, ob wir unser neues Dienstprogramm von dort aus aufrufen können.

Test eines Dienstprogramms

Beachten Sie, dass wir das |_+_| . nicht voranstellen mussten Befehl mit |_+_| was bedeutet, dass es von |_+_| ausgeführt wird. Mission erfüllt.

Wir haben erwähnt, dass install redundante Symboltabellen und anderes Gepäck aus der Binärdatei entfernen kann, um die Größe zu reduzieren. Machen wir das jetzt. Beachten Sie, dass der folgende Befehl Words.db nicht enthält. Dies liegt daran, dass Words.db eine Datenbankdatei und keine ausführbare Binärdatei ist. So kopieren und verkleinern Sie die Binärdatei |_+_| wir können den folgenden Befehl verwenden. Wir haben die Option -s (shrink) mit einem kleinen s hinzugefügt. Wir haben die Option -b (Backup) und die Option -S (Suffix) mit einem S in Großbuchstaben wieder hinzugefügt.

fotos in video umwandeln iphone
cp

installiere Option mit -s Strip Option

Anzeige

Auflisten der Dateien in |_+_| ermöglicht es uns, die Größe der |_+_| . zu vergleichen Datei mit ihrer Backup-Version. Die |_+_| Datei wurde auf fast 60 % ihrer vorherigen Größe reduziert.

mkdir

ls im Arbeitsverzeichnis

In Summe

Die |_+_| Befehl bietet eine hübsche Nischenanwendung. Für viele Menschen wird es nicht Tag für Tag oder möglicherweise von Monat zu Monat verwendet. Trotzdem ist die |_+_| Command ist ein gutes Werkzeug, mit dem Sie vertraut sein und es in Ihrem Arsenal an Tricks haben sollten. Für die Gelegenheiten, in denen Sie es brauchen, belohnt es Ihre Lernkurve mit Effizienzsteigerungen, Einfachheit und einfach weniger Tastenanschlägen.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN