So Kopieren Sie Dateien Mithilfe der “install” – Befehl auf Linux

0
468

installieren ist ein vielseitiger Datei-kopieren-Befehl in Linux und macOS. Es ist perfekt für den power-Nutzer auf der Suche nach Effizienz. Lesen Sie diesen Artikel, um zu sehen, wie Sie intelligenter arbeiten—nicht härter.

Warten—Es ist Nicht Für die Installation von Software?

Der Befehl installieren möglicherweise haben die meisten irreführenden Namen der Linux-Befehle. Es spielt eigentlich keine software installieren. Wenn Sie versuchen, installieren eines software-Pakets über die Befehlszeile in Ubuntu oder eine andere Debian-basierte distribution verwenden Sie die apt-get Befehl. Auf anderen Linux-Distributionen, verwenden Sie Ihre Linux-distribution Paket-management-tool statt—zum Beispiel dnf auf Fedora oder zypper auf openSUSE.

Also, Was Bedeutet Installation?

In a nutshell Installation verbindet Elemente von cp (kopieren), chown (change owner), chmod (change mode), mkdir (make directory) und strip (strip-Symbole) Befehle. Es ermöglicht die Verwendung von Funktionen aus der all diese in einer einzigen Aktion.

Der Befehl installieren können:

  • Kopieren Sie Dateien wie der cp-Befehl.
  • Wählen Sie, ob vorhandene Dateien überschrieben werden sollen.
  • Erstellen Sie das Ziel Verzeichnis, wenn es existiert nicht, wie mkdir.
  • Legen Sie die user-Berechtigung flags der Dateien, genau wie der chmod-Befehl.
  • Legen Sie den Besitzer der Dateien, genau wie der chown-Befehl.
  • Entfernen von nicht wesentlichen Gepäck von ausführbaren Dateien, genau wie die strip-Befehl.

Trotz allem, die Funktionalität der install-Befehl nicht zu viele Optionen haben, mit Ihr zu kämpfen.

Wenn Würden Sie Es

Der install-Befehl wird wahrscheinlich nicht jeden Tag benutzt werden. Es ist nützlich, aber nur für bestimmte Situationen. Ein Szenario, in dem installieren, kommt in seine eigenen ist die software-Entwicklung. Angenommen, Sie Programmieren ein neues Dienstprogramm. Sie müssen Tests außerhalb der Entwicklungsumgebung. Das zu tun, müssen Sie kopieren die neuen Dateien in ein test-Verzeichnis. Das test-Verzeichnis kann erstellt werden müssen, und Sie müssen die richtigen Berechtigungen und den Besitz für die Dateien.

Da die Entwicklung ist eine iterative Tätigkeit, können Sie am Ende tut diese Folge von Aktionen, die viele, viele Male. Der install-Befehl übernimmt die schwere Arbeit für Sie. Schließlich, wenn Ihr neues Werkzeug ist bereit, eingesetzt zu werden, die Sie verwenden können, zu installieren, kopieren Sie es mit der richtigen Berechtigungen, um seine endgültige Lage.

Ein Beispiel

Ein Programmierer arbeitet an genau so ein neues Dienstprogramm, genannt ana. Es besteht aus einer ausführbaren Binär-Datei und einer Datenbank. Nach der Prüfung, es muss kopiert werden nach /usr/local/bin, es zu machen zugänglich für alle Benutzer des Linux-Systems. Sie müssen ersetzen Sie den Dateinamen und Verzeichnis-Pfade in unserem Beispiel für die Dateien und Pfade, die Sie verwenden auf Ihrem computer, wenn Sie installieren.

Bis Sie bereit ist für den release wird es getestet, in ein Verzeichnis namens ~/test/ana. Mitglieder der geek-Gruppe haben lese-und Ausführungsberechtigungen. Andere Benutzer haben lese-und Ausführungsberechtigungen auch. Der install-Befehl verwendet die gleiche numerische Darstellung für die Berechtigungen chmod tut. Unser Programmierer hat entschieden, dass die Berechtigungen gesetzt sein müssen:

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

Wie Nutzen Sie den install-Befehl

Unsere fiktive programmer ‘ s Arbeitsverzeichnis ~/work. Er hat das Programm geschrieben, kompiliert und erzeugt eine Binärdatei mit dem Namen ana. Er wurde bereits erstellt die Datenbank-Datei, die ana arbeitet mit, Worten.db. Also beide Dateien sind bereit für die Prüfung. Lassen Sie uns nehmen einen Blick auf Sie:

ls -l ana Worte.db

Die ana-Dienstprogramm, er hat nur geschrieben, erstellt anagramme aus einer phrase, die auf der Befehlszeile bereitgestellt. Prüfung die Prüfung ist Recht einfach.

Unsere Programmierer aufgerufen hat ana mit dem Satz “Keks” und alles scheint gut. Er will nun kopieren Sie diese beiden Dateien in das ~/test/ana-Verzeichnis zu sehen, ob die neue utility Funktionen richtig Weg von der Entwicklungsumgebung. Er erlässt folgenden Befehl ein:

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

Die Optionen auf der Kommandozeile verwendet wurden:

  • D: Verzeichnisse Erstellen, einschließlich der übergeordneten Verzeichnisse, falls erforderlich.
  • v: “Verbose”, ” – Liste jedes Verzeichnis, wie es gemacht wird und jede Datei kopieren, wie es durchgeführt wird.
  • t: Target-Verzeichnis.

Wir können sehen, installieren, erstellt das ~/Verzeichnis test erstellt, und dann die ~/test/ana-Verzeichnis. Die Dateien aufgelistet sind, eins nach dem anderen, wie Sie sind kopiert in das Zielverzeichnis.

Liste der Dateien in ~/test/ana bestätigt, Sie wurden korrekt übernommen werden.

ls -l

Der nächste Schritt ist das testen des ana-Dienstprogramm, indem er in der ~/test/ana-Verzeichnis.

Das Dienstprogramm funktioniert, wie erwartet, das ist toll. Allerdings werden die Berechtigungen nicht korrekt sind. Die Voraussetzung ist, um die Mitglieder der Gruppe geek gelesen haben und ausführen von Berechtigungen und für sonstige Benutzer haben nur ausgeführt.

Wir können die Adresse sowohl der diese Probleme ganz einfach mit dem folgenden Befehl. Beachten Sie die Verwendung von sudo um den Befehl ausführen mit root-Berechtigungen. Die -o und -g und-Optionen erfordern. Wir werden aufgefordert unser Passwort ein, wenn wir das Kommando.

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

  • Die Option-b (backup) option erstellt backups von den Dateien, bevor Sie überschrieben werden.
  • Die -S (suffix) option definiert das suffix für die backup-Dateien. Wenn Sie nicht bieten Sie ein suffix ein ~ (tilde) verwendet wird. Wir bitten Sie installieren ein suffix zu benutzen .bak.
  • Wir legen Sie den Besitzer der Datei zu sein, die dave mit der-o (owner) – option.
  • Die “- g ” (Gruppe) – option erfordert, dass der name von einer Gruppe. Dies wird die Eigentümer-Gruppe von Dateien. Die Gruppe, die wir verwenden werden heißt geek.
  • Das -m (Modus) die option setzt die Datei-Modi für die Dateien mit dem standard-numerischen chmod-syntax.

Wir müssen nicht mehr um die -D (Verzeichnisse erstellen) – option, weil wir wissen, dass der test-Verzeichnis bereits vorhanden ist. Haben wir auch weggelassen, die -v (verbose) option. Liste der Dateien in unsere ~/test/ana-Verzeichnis zeigt uns den Datei details:

ls -l

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

  • Die Dateien kopiert worden sind, die über die Verzeichnis testen.
  • Die Berechtigungen korrekt festgelegt wurden.
  • dave ist der Eigentümer der Dateien.
  • Der Aussenseiter der Gruppe ist, die Eigentümer-Gruppe von den beiden Dateien.
  • Backup-Kopien, die gemacht wurden von jeder Datei, genannt ana.bak und Worte.db.bak.

All das wurde erreicht durch den Einsatz von einem Befehl. Ordentlich.

Unser Programmierer macht einige abschließende änderungen an Versorgungs-und re-kompiliert. Die geänderten Dateien kopiert werden müssen über die ~/test/ana-Verzeichnis aus ~/work-Verzeichnis. Wir können dies tun, indem Sie die-C (vergleichen Sie) die option. Wenn die Quell-Datei und Ziel-Datei sind die gleichen, die Quell-Datei wird nicht kopiert.

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

Auflisten der Dateien in das Zielverzeichnis zeigt uns, dass die Dateigröße der ana-Datei geändert hat. Es ist größer als die ana.bakfile. Der Zeitstempel ana hat sich auch geändert. Diese änderungen sind, da die neue version der Datei kopiert wurde, hier.

ls -l

Die Dateigröße und der Zeitstempel der Worte.db-Datei nicht geändert haben. Keine änderungen wurden vorgenommen, um die Wörter.db-Datei, so war es nicht kopiert. An einem Projekt mit vielen Dateien die -C (compare) – option können Sie sparen eine Menge Zeit und Festplatte stößt, nur durch kopieren dieser Dateien, die geändert wurden.

Der Programmierer hat wieder getestet, dass die ana-Dienstprogramm weiter zu betreiben.

Es ist Zeit, Sie zu benutzen, installieren, kopieren Sie die Dateien in das /usr/local/bin-Verzeichnis. Dadurch wird das neue Werkzeug für alle Benutzer des Linux-Computers. Wir wissen, dass /usr/local/bin vorhanden ist, so brauchen wir nicht zu erstellen das Verzeichnis. Wir können verwenden eine modifizierte version von unserer letzten Befehl.

Wir haben uns verändert das Zielverzeichnis /usr/local/bin. Wir haben entfernt die -C (compare) option, weil es keine Kopien dieser Dateien im Ziel-Verzeichnis vorhanden ist, so gibt es nichts zu vergleichen gegen. Ebenso gibt es auch nichts zu sichern, so können wir entfernen Sie die Option-b (backup) und die option -S (suffix) – option.

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

Wir können die Liste der Dateien nach /usr/local/bin:

ls -l

Und als letzten test let ‘ s ändern Sie das Verzeichnis in unserem home-Verzeichnis und sehen, ob wir berufen, unser neues Hilfsprogramm von dort.

Beachten Sie, dass wir nicht brauchen, um Vorwort die ana-Befehl mit ./ das heißt, es läuft aus /usr/local/bin. Mission erfüllt.

Wir erwähnten, dass Sie installieren können Streifen aus redundanten symbol Tabellen und anderen Gepäck aus der Binär-Datei, um es zu verringern, in der Größe. Das machen wir jetzt. Beachten Sie, dass Sie folgenden Befehl ein, nicht Wörter.db. Dies ist, weil die Worte.db ist eine Datenbank-Datei, nicht eine binäre ausführbare Datei. Kopieren und schrumpfen Sie die binäre Datei ana können wir den folgenden Befehl verwenden. Wir haben Hinzugefügt, die -s (shrink) – option mit einem Kleinbuchstaben “s” ist. Wir haben Hinzugefügt, wieder in die Option-b (backup) und die option -S (suffix) – option, die mit einem Großbuchstaben “s”

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

Auflisten der Dateien in /usr/local/bin erlaubt uns, vergleichen Sie die Größe der ana-Datei mit den backup-version. Die ana-Datei reduziert wurde, um fast 60% seiner früheren Größe.

ls -l /usr/local/bin

In Der Zusammenfassung

Der install-Befehl bietet eine hübsche Nische. Für viele Menschen ist es nicht verwendet werden Tag ein, Tag aus, oder vielleicht von Monat zu Monat. Trotz dass die install-Befehl ist ein gutes Werkzeug, vertraut sind und, um in Ihrem arsenal von tricks. Für jene Gelegenheiten, wenn Sie es brauchen, es rewards, Ihre Lernkurve mit steigert die Effizienz, Einfachheit und einfach weniger Tastenanschläge.