Connect with us

Wie man

Kopieren von Dateien mit dem Befehl „install“ unter Linux

So vergleichen Sie zwei Textdateien im Linux-Terminal

Fatmawati Achmad Zaenuri / Shutterstock.com

install ist ein vielseitiger Befehl zum Kopieren von Dateien unter Linux und MacOS. Es ist perfekt für Power-User, die Effizienz suchen. Lesen Sie diesen Artikel, um herauszufinden, wie Sie intelligenter arbeiten können – nicht härter.

Warten Sie – es ist nicht für die Installation von Software?

Das install Der Befehl hat möglicherweise den irreführendsten Namen aller Linux-Befehle. Es wird keine Software installiert. Wenn Sie versuchen, ein Softwarepaket über die Befehlszeile in Ubuntu oder einer anderen Debian-basierten Distribution zu installieren, verwenden Sie die apt-get Befehl. Verwenden Sie bei anderen Linux-Distributionen stattdessen das Paketverwaltungstool Ihrer Linux-Distribution, z. dnf auf Fedora oder zypper auf openSUSE.

Was macht die Installation?

In einer Nussschale install kombiniert Elemente aus dem cp ((Kopieren), chown ((Besitzer wechseln), chmod ((Modus ändern), mkdir ((Verzeichnis erstellen), und strip ((Streifensymbole) Befehle. Damit können Sie Funktionen aus allen Funktionen in einer einzigen Aktion verwenden.

Das install Befehl kann:

  • Kopieren Sie Dateien wie die cp Befehl.
  • Wählen Sie aus, ob vorhandene Dateien überschrieben werden sollen.
  • Erstellen Sie das Zielverzeichnis, wenn es nicht vorhanden ist, wie z mkdir.
  • Setzen Sie die Benutzerberechtigungsflags der Dateien genau wie die chmod Befehl.
  • Legen Sie den Eigentümer der Dateien fest, genau wie beim chown Befehl.
  • Entfernen Sie nicht unbedingt erforderliches Gepäck aus ausführbaren Dateien, genau wie das strip Befehl.

Trotz all dieser Funktionalität ist die install Befehl hat nicht auch viele Optionen mit zu kämpfen.

Manpage installieren

Wann würden Sie es verwenden

Das install Befehl wird wahrscheinlich nicht jeden Tag verwendet. Es ist nützlich, aber nur für bestimmte Situationen. Ein Szenario wo install kommt zur Geltung 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 den richtigen Besitz für die Dateien festlegen.

Da die Entwicklung eine iterative Aktivität ist, können Sie diese Abfolge von Aktionen viele, viele Male ausführen. Das install Befehl erledigt das ganze schwere Heben für Sie. Wenn Ihr neues Dienstprogramm zur Bereitstellung bereit ist, können Sie es schließlich verwenden install um es mit den richtigen Berechtigungen an seinen endgültigen Arbeitsort zu kopieren.

Ein Beispiel

Ein Programmierer arbeitet an einem solchen neuen Dienstprogramm namens ana. Es besteht aus einer ausführbaren Binärdatei und einer Datenbank. Nach dem Testen muss es kopiert werden /usr/local/bin 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 bei der Verwendung auf Ihrem Computer verwenden install.

Bis es zur Veröffentlichung bereit ist, wird es in einem Verzeichnis namens getestet ~/test/ana. Mitglieder von geek Die Gruppe verfügt über Lese- und Ausführungsberechtigungen. Andere Benutzer haben ebenfalls Lese- und Ausführungsberechtigungen. Das install Befehl verwendet die gleiche numerische Darstellung für Berechtigungen wie chmod tut. Unser Programmierer hat entschieden, dass die Berechtigungen wie folgt festgelegt werden müssen:

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

Wie man das benutzt install Befehl

Das Arbeitsverzeichnis unseres fiktiven Programmierers ist ~/work. Er hat das Programm geschrieben, kompiliert und eine Binärdatei namens erstellt ana. Er hat bereits die Datenbankdatei erstellt, die ana arbeitet mit, Words.db. Beide Dateien sind also zum Testen bereit. Schauen wir sie uns an:

ls -l ana Words.db

Das ana Das Dienstprogramm, das er gerade geschrieben hat, erstellt Anagramme aus einer Phrase, die in der Befehlszeile angegeben ist. Überprüfungstests sind recht einfach.

Test eines Dienstprogramms im Arbeitsverzeichnis

Unser Programmierer hat aufgerufen ana mit der Phrase „Keks“ und alles scheint gut. Er möchte nun diese beiden Dateien in die kopieren ~/test/ana Verzeichnis, um festzustellen, ob das neue Dienstprogramm außerhalb der Entwicklungsumgebung ordnungsgemäß funktioniert. Er gibt den folgenden Befehl aus:

install -D -v ana Words.db -t ~/test/ana

Installieren Sie den Befehl in / test / ana

Die in der Befehlszeile verwendeten Optionen waren:

  • D.: Erstellen Sie bei Bedarf Verzeichnisse, einschließlich übergeordneter Verzeichnisse.
  • v: Verbose, liste jedes Verzeichnis auf, während es erstellt wird, und jede Dateikopie, während es ausgeführt wird.
  • t: Zielverzeichnis.

Wir können das sehen install schafft die ~/test Verzeichnis und erstellt dann die ~/test/ana Verzeichnis. Die Dateien werden einzeln aufgelistet, wenn sie in das Zielverzeichnis kopiert werden.

Auflisten der Dateien in ~/test/ana bestätigt, dass sie korrekt kopiert wurden.

ls -l

ls im Verzeichnis / test / ana

Der nächste Schritt ist das Testen der ana Dienstprogramm durch Aufrufen in der ~/test/ana Verzeichnis.

Test eines Dienstprogramms von ana im Verzeichnis / test / ana

Das Dienstprogramm funktioniert wie erwartet, was großartig ist. Die Berechtigungen sind jedoch nicht korrekt. Die Anforderung besteht darin, Mitglieder der Gruppe festzulegen geek Lese- und Ausführungsberechtigungen haben und nur für andere Benutzer ausgeführt werden.

Wir können diese beiden Probleme ganz einfach mit dem folgenden Befehl lösen. Beachten Sie die Verwendung von sudo um den Befehl mit Root-Berechtigungen auszuführen. Das -o und -g und Optionen erfordern dies. Wir werden nach unserem Passwort gefragt, wenn wir den Befehl erteilen.

sudo install -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana

Installationsbefehl mit Sicherungsoptionen und Voreinstellungseinstellungen

  • Das -b Die Option (Sicherung) erstellt Sicherungen der Dateien, bevor sie überschrieben werden.
  • Das -S Die Option (Suffix) definiert das Suffix für die Sicherungsdateien. Wenn Sie kein Suffix angeben a ~ (Tilde) wird verwendet. Wir fragen install ein Suffix von verwenden .bak.
  • Wir setzen den Besitzer der Datei auf dave Verwendung der -o (Eigentümer) Option.
  • Das -g Die Option (Gruppe) erfordert den Namen einer Gruppe. Dies wird zur Eigentümergruppe der Dateien. Die Gruppe, die wir verwenden werden, heißt geek.
  • Das -m Mit der Option (Modus) werden die Dateimodi für die Dateien unter Verwendung des Standards festgelegt chmod numerische Syntax.

Wir brauchen das nicht mehr zu benutzen -D Option (Verzeichnisse erstellen), da wir wissen, dass das Testverzeichnis bereits vorhanden ist. Wir haben auch das weggelassen -v (ausführliche) Option. Auflistung der Dateien in unserem ~/test/ana Verzeichnis zeigt uns die Dateidetails:

ls -l

ls im Verzeichnis / test / ana

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

  • Die Dateien wurden in das Testverzeichnis kopiert.
  • Die Berechtigungen wurden korrekt festgelegt.
  • dave ist der Besitzer der Dateien.
  • Das geek Gruppe ist die Eigentümergruppe der beiden Dateien.
  • Von jeder Datei mit den Namen ana.bak und Words.db.bak wurden Sicherungskopien erstellt.

All dies wurde mit einem Befehl erreicht. Ordentlich.

Unser Programmierer nimmt einige letzte Änderungen am Dienstprogramm vor und kompiliert sie neu. Die geänderten Dateien müssen in die kopiert werden ~/test/ana Verzeichnis aus dem ~/work Verzeichnis. Wir können dies tun, indem wir das verwenden -C (Vergleichs-) Option. Wenn die Quelldatei und die Zieldatei identisch sind, wird die Quelldatei nicht kopiert.

sudo install -C -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana

Installationsbefehl mit der Option -C compare

Das Auflisten der Dateien im Zielverzeichnis zeigt uns, dass die Dateigröße des ana Datei hat sich geändert. Es ist größer als das ana.bakDatei. Der Zeitstempel auf ana hat sich auch geändert. Diese Änderungen sind darauf zurückzuführen, dass die neue Version der Datei hier kopiert wurde.

ls -l

ls in / test / ana mit test für ein Dienstprogramm

Die Dateigröße und der Zeitstempel des Words.db Datei haben sich nicht geändert. Es wurden keine Änderungen an der vorgenommen Words.db Datei, so wurde es nicht kopiert. Bei einem Projekt mit vielen Dateien die -C Die Option (Vergleichen) kann viel Zeit und Festplattenabwanderung sparen, indem nur die geänderten Dateien kopiert werden.

Der Programmierer hat erneut getestet, dass die ana Dienstprogramm weiterhin in Betrieb.

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

Wir haben das Zielverzeichnis geändert /usr/local/bin. Wir haben das entfernt -C Option (Vergleichen), da sich noch keine Kopien dieser Dateien im Zielverzeichnis befinden und daher nichts zum Vergleichen vorhanden ist. Ebenso gibt es nichts zu sichern, so dass wir die entfernen können -b (Backup) Option und die -S Option (Suffix).

sudo install -o dave -g geek -m 751 ana Words.db -t /usr/local/bin

Installieren Sie das Kopieren von Dateien nach / usr / local / bin

Wir können auflisten, dass die Dateien angekommen sind /usr/local/bin::

ls -l

ls von / usr / local / bin

Und als letzten Test wechseln wir das Verzeichnis in unser Ausgangsverzeichnis und prüfen, ob wir von dort aus unser neues Dienstprogramm aufrufen können.

Test eines Dienstprogramms

Beachten Sie, dass wir das nicht vorwegnehmen mussten ana Befehl mit ./ was bedeutet, dass es von läuft /usr/local/bin. Mission erfüllt.

Wir haben erwähnt, dass durch die Installation redundante Symboltabellen und anderes Gepäck aus der Binärdatei entfernt werden können, um die Größe zu verringern. Lass uns das jetzt machen. 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. Kopieren und Verkleinern der Binärdatei ana Wir können den folgenden Befehl verwenden. Wir haben die Option -s (Verkleinern) mit einem Kleinbuchstaben „s“ hinzugefügt. Wir haben die Option -b (Backup) und die Option -S (Suffix) mit einem Großbuchstaben „S“ hinzugefügt.

sudo install -s -b -S .bak -o dave -g geek -m 751 ana -t /usr/local/bin

Installationsoption mit der Option -s Streifen

Auflisten der Dateien in /usr/local/bin ermöglicht es uns, die Größe der zu vergleichen ana Datei mit ihrer Backup-Version. Das ana Die Datei wurde auf fast 60% ihrer vorherigen Größe reduziert.

ls -l /usr/local/bin

ls im Arbeitsverzeichnis

In Summe

Die … Die install Befehl richtet sich an eine hübsche Nischenverwendung. Für viele Menschen wird es nicht Tag für Tag oder möglicherweise von Monat zu Monat verwendet. Trotzdem ist die install Befehl ist ein gutes Werkzeug, um vertraut zu sein und in Ihrem Arsenal an Tricks zu haben. In den Fällen, in denen Sie es benötigen, belohnt es Ihre Lernkurve mit Effizienzsteigerungen, Einfachheit und einfach weniger Tastenanschlägen.

Continue Reading
Click to comment

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Tendencia