install
ist ein vielseitiger Dateikopierbefehl unter Linux und macOS. Es ist perfekt für den Power-User, der nach Effizienz sucht. Lesen Sie diesen Beitrag, um herauszufinden, wie Sie intelligenter arbeiten können, nicht mehr schwer.
Warte ab, Keine Software installieren?
das install
Befehl kann den irreführendsten Namen aller Linux-Befehle haben. Genau genommen, installiert keine Software. Wenn Sie versuchen, ein Softwarepaket über die Befehlszeile auf Ubuntu oder einer anderen Debian-basierten Distribution zu installieren, benutze el apt-get
Befehl. Auf anderen Linux-Distributionen, Verwenden Sie das Paketverwaltungstool Ihrer Linux-Distribution, als Beispiel, dnf
in Fedora oder zypper
und openSUSE.
Dann, Was macht die Installation?
In einem Wort install
kombiniert Artikel aus dem cp
(Kopieren), chown
(Besitzerwechsel), chmod
(Modus ändern), mkdir
(Verzeichnis erstellen), und strip
(Streifensymbole) Befehle. Es ermöglicht Ihnen, alle Funktionen in einer einzigen Aktion zu verwenden.
das install
Befehl kann:
- Kopieren Sie Dateien wie die
cp
Befehl. - Wählen Sie, ob Sie vorhandene Dateien überschreiben möchten.
- Erstellen Sie das Zielverzeichnis, wenn es nicht existiert, Was
mkdir
. - Benutzerberechtigungs-Flags für Dateien festlegen, genauso wie die
chmod
Befehl. - Legen Sie den Eigentümer der Dateien fest, genauso wie die
chown
Befehl. - Entfernen Sie nicht unbedingt notwendiges Gepäck aus ausführbaren Dateien, genauso wie die
strip
Befehl.
Trotz all dieser Funktionalität, das install
der Befehl hat nicht zu viel Viele Optionen damit umgehen.
Wann würdest du es verwenden?
das install
Der Befehl wird wahrscheinlich nicht jeden Tag verwendet. Es ist nützlich, aber nur für bestimmte situationen. Eine Bühne, auf der install
kommt ins Spiel ist Softwareentwicklung. Angenommen, Sie programmieren ein neues Dienstprogramm. Sie müssen außerhalb der Entwicklungsumgebung testen. Das zu tun, Sie müssen die neuen Programmdateien in ein Testverzeichnis kopieren. Möglicherweise müssen Sie das Testverzeichnis erstellen und die richtigen Berechtigungen und Eigentümer für die Dateien ermitteln.
Weil Entwicklung eine iterative Aktivität ist, Sie können diese Abfolge von Aktionen am Ende viele ausführen, in der Regel. das install
Das Kommando erledigt die ganze schwere Arbeit für dich. Zusammenfassend, wenn Ihr neues Dienstprogramm einsatzbereit ist, du kannst verwenden install
um es mit den richtigen Berechtigungen an Ihren endgültigen Arbeitsplatz zu kopieren.
Ein Beispiel
Ein Programmierer arbeitet an einem neuen Dienstprogramm, Anruf ana
. Es ist eine ausführbare Binärdatei und eine Datenbank. Nach dem Test, muss kopiert werden nach /usr/local/bin
um es allen Linux-Systembenutzern 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 install
.
Bis Sie bereit sind zu starten, wird in einem Verzeichnis namens . getestet ~/test/ana
. Die Mitglieder des geek
Gruppe hat Lese- und Ausführungsberechtigungen. Andere Benutzer haben auch Lese- und Ausführungsberechtigungen. das install
Der Befehl verwendet dieselbe numerische Darstellung für Berechtigungen wie chmod
macht es. Unser Programmierer hat entschieden, dass die Berechtigungen auf gesetzt werden sollten:
- Eigentümer: Lesen, schreiben und ausführen.
- Gruppe: Leer y ejecutar.
- Andere: Ejecutar solamente.
So verwenden Sie die install
Befehl
El directorio de trabajo de nuestro programador ficticio es ~/work
. Ha escrito el programa, lo ha compilado y ha producido un binario llamado ana
. Él ya creó el archivo de base de datos que ana
Es funktioniert mit, Words.db
. Entonces ambos archivos están listos para probar. Schauen wir sie uns an:
ls -l ana Words.db
das ana
La utilidad que acaba de escribir crea anagramas a partir de una frase proporcionada en la línea de comandos. Las pruebas de verificación son bastante sencillas.
Nuestro programador ha invocado ana
con la frase “galleta” y todo parece estar bien. Ahora quiere copiar estos dos archivos al ~/test/ana
directorio para ver si la nueva utilidad funciona correctamente fuera del entorno de desarrollo. Emite el siguiente comando:
install -D -v ana Words.db -t ~/test/ana
Las alternativas utilizadas en la línea de comando fueron:
- D: Cree directorios, incluidos los directorios principales, Falls erforderlich.
- v: Ausführlich, listet jedes Verzeichnis so auf, wie es erstellt wird, und jede Dateikopie, wenn sie erstellt wird.
- T: Zielverzeichnis.
Wir können das sehen install
erstelle die ~/test
Verzeichnis, und dann erstelle die ~/test/ana
Verzeichnis. Die Dateien werden nacheinander aufgelistet, während sie in das Zielverzeichnis kopiert werden.
Dateiauflistung in ~/test/ana
Bestätigen Sie, dass sie richtig kopiert wurden.
ls -l
Der nächste Schritt besteht darin, die ana
Dienstprogramm, indem Sie es im ~/test/ana
Verzeichnis.
Das Dienstprogramm funktioniert wie erwartet, was großartig ist. Trotz dieses, die Berechtigungen sind nicht korrekt. El requisito es determinar miembros del grupo geek
tener permisos de lectura y ejecución, y que otros usuarios solo hayan ejecutado.
Podemos abordar ambos problemas de manera bastante simple con el siguiente comando. Bitte beachten Sie die Verwendung von sudo
para ejecutar el comando con permisos de root. das -o
und -g
y las alternativas lo requieren. Se nos pedirá nuestra contraseña cuando emitamos el comando.
sudo install -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana
- das
-b
Die Option (Sicherung) Erstellen Sie Sicherungskopien von Dateien, bevor sie überschrieben werden. - das
-S
Die Option (Suffix) Suffix für Backup-Dateien setzen. Wenn Sie kein Suffix an~
(Tilde) Gebraucht. Wir frageninstall
verwenden Sie ein Suffix von.bak
. - Wir setzen den Eigentümer der Datei auf
dave
Verwendung der-o
(Eigentümer) Möglichkeit. - das
-g
Die Option (Gruppe) brauche den Namen einer Gruppe. Dies wird die Gruppe, der die Dateien gehören. Die Gruppe, die wir verwenden werden, heißtgeek
. - das
-m
Die Option (Weg) Dateimodi für Dateien einstellen, mit dem standardchmod
numerische Syntax.
Wir brauchen die nicht mehr -D
(Verzeichnisse erstellen), weil wir wissen, dass das Testverzeichnis bereits existiert. Wir haben auch die weggelassen -v
Möglichkeit (ausführlich). Auflistung der Dateien in unserem ~/test/ana
Verzeichnis zeigt uns die Details der Datei:
ls -l
Dies bestätigt, dass alle unsere Anforderungen erfüllt wurden..
- Die Dateien wurden in das Testverzeichnis kopiert.
- Berechtigungen wurden richtig konfiguriert.
dave
ist der Eigentümer der Dateien.- das
geek
group ist die Gruppe, der die beiden Dateien gehören. - Jede Datei wurde gesichert, llamados ana.bak y Words.db.bak.
Todo eso se logró a través de el uso de un comando. Gereinigt.
Nuestro programador realiza algunos cambios finales en la utilidad y vuelve a compilar. Los archivos que han cambiado deben copiarse a la ~/test/ana
directorio del ~/work
Verzeichnis. Wir können dies mit der -C
(comparar) Möglichkeit. Si el archivo de origen y el archivo de destino son iguales, el archivo de origen no se copia.
sudo install -C -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana
Die Auflistung der Dateien im Zielverzeichnis zeigt uns, dass die Dateigröße der ana
die Datei hat sich geändert. Ist größer als er ana.bak
Verfahren. Der Zeitstempel in ana
es hat sich auch geändert. Diese Änderungen sind auf die neue Version der Datei zurückzuführen, die hierher kopiert wird.
ls -l
Die Dateigröße und der Zeitstempel der Words.db
Datei hat sich nicht geändert. Es wurden keine Änderungen an der Words.db
Datei, Es wurde also nicht kopiert. In einem Projekt mit vielen Dateien, -C
Die Option (comparar) es kann viel Zeit und Festplattenzeit sparen, wenn nur Dateien kopiert werden, die geändert wurden.
Der Programmierer hat erneut getestet, dass die ana
Dienstprogramm funktioniert noch.
Zeit zu verwenden install
um Dateien zu kopieren /usr/local/bin
Verzeichnis. Dadurch wird das neue Dienstprogramm allen Benutzern dieses Linux-Computers zur Verfügung gestellt. Wir wissen /usr/local/bin
existiert, Also müssen wir dieses Verzeichnis nicht erstellen. Wir können eine modifizierte Version unseres letzten Befehls verwenden.
Wir haben das Zielverzeichnis zu be geändert /usr/local/bin
. Wir haben die entfernt -C
(comparar) debido a que aún no hay copias de estos archivos en el directorio de destino, por lo que no hay nada con lo que comparar. Auf die gleiche Weise, no hay nada de lo que hacer una copia de seguridad, por lo que podemos quitar el -b
(Sicherung) und der -S
(Suffix) Möglichkeit.
sudo install -o dave -g geek -m 751 ana Words.db -t /usr/local/bin
Podemos enumerar que los archivos han llegado a /usr/local/bin
:
ls -l
Y como prueba final, cambiemos el directorio a nuestro directorio de inicio y veamos si podemos invocar nuestra nueva utilidad desde allí.
Tenga en cuenta que no es necesario que preceda el ana
Befehl mit ./
lo que significa que se está ejecutando desde /usr/local/bin
. Mission erfüllt.
Mencionamos que la instalación puede quitar las tablas de símbolos redundantes y otro equipaje dentro del archivo binario, para reducir su tamaño. Hagámoslo ahora. Tenga en cuenta que el siguiente comando no incluye Words.db. Esto se debe a que Words.db es un archivo de base de datos, no un ejecutable binario. Para copiar y reducir el archivo binario ana
Wir können den folgenden Befehl verwenden. Hemos agregado la opción -s (encoger) mit einem “S” Kleinbuchstaben. Hemos vuelto a agregar la opción -b (Sicherung) y la opción -S (Suffix), mit einem “S” Großbuchstabe
sudo install -s -b -S .bak -o dave -g geek -m 751 ana -t /usr/local/bin
Dateiauflistung in /usr/local/bin
ermöglicht es uns, die Größe der ana
Datei mit Ihrer Backup-Version. das ana
Die Datei wurde auf fast das 60% seiner vorherigen Größe.
ls -l /usr/local/bin
Zusammenfassend
La la install
Der Befehl ist an eine ganz bestimmte Verwendung angepasst. Für viele Leute, wird nicht Tag für Tag verwendet, oder möglicherweise von Monat zu Monat. Trotzdem, das install
Der Befehl ist ein gutes Werkzeug, um sich vertraut zu machen und in Ihrem Arsenal an Tricks zu haben. Für die Gelegenheiten, wenn Sie es brauchen, belohnt Ihre Lernkurve mit Effizienzsteigerungen, Einfachheit und einfach weniger Tastenanschläge.