install
è un versatile comando di copia file su Linux e macOS. È perfetto per l'utente esperto che cerca l'efficienza. Leggi questo post per scoprire come lavorare in modo più intelligente, non è più difficile.
Aspettare, Non installare software?
il install
comando può avere il nome più fuorviante di qualsiasi comando Linux. In realtà, non installa alcun software. Se stai cercando di installare un pacchetto software dalla riga di comando su Ubuntu o un'altra distribuzione basata su Debian, usa el apt-get
comando. Su altre distribuzioni Linux, usa lo strumento di gestione dei pacchetti della tua distribuzione Linux, come esempio, dnf
in Fedora o zypper
e apriSUSE.
Quindi, Cosa fa l'installazione??
In una parola install
combina elementi del cp
(copia), chown
(Cambio di proprietario), chmod
(cambia modalità), mkdir
(crea directory), e strip
(simboli della striscia) comandi. Ti permette di utilizzare le funzioni di tutti loro in un'unica azione.
il install
il comando può:
- Copia file come
cp
comando. - Scegli se vuoi sovrascrivere i file esistenti.
- Crea la directory di destinazione se non esiste, Che cosa
mkdir
. - Imposta i flag di autorizzazione utente per i file, allo stesso modo di
chmod
comando. - Imposta il proprietario dei file, allo stesso modo di
chown
comando. - Rimuovi il bagaglio non essenziale dai file eseguibili, allo stesso modo di
strip
comando.
Nonostante tutta quella funzionalità, il install
il comando non ha molto Molte opzioni avere a che fare con.
Quando lo useresti?
il install
Il comando probabilmente non verrà utilizzato tutti i giorni. È utile, ma solo per certe situazioni. Una fase in cui install
entra in gioco è lo sviluppo del software. Diciamo che stai programmando una nuova utility. Dovrai testare al di fuori dell'ambiente di sviluppo. Fare quello, è necessario copiare i nuovi file di programma in una directory di prova. Potrebbe essere necessario creare la directory di test e determinare i permessi e la proprietà corretti per i file.
Perché lo sviluppo è un'attività iterativa, potresti finire per fare questa sequenza di azioni molte, generalmente. il install
Il commando fa tutto il lavoro pesante per te. In sintesi, quando la tua nuova utility è pronta per essere distribuita, Puoi usare install
per copiarlo con le autorizzazioni corrette nella posizione di lavoro finale.
Un esempio
Un programmatore sta lavorando a una nuova utility, chiamata ana
. È un file binario eseguibile e un database. Dopo il test, deve essere copiato in /usr/local/bin
per renderlo disponibile a tutti gli utenti del sistema Linux. Dovrai sostituire i nomi dei file e i percorsi delle directory nel nostro esempio con i file e i percorsi che stai utilizzando sul tuo computer quando usi install
.
Fino a quando non sarai pronto per il lancio, sarà testato in una directory chiamata ~/test/ana
. I membri della geek
il gruppo avrà i permessi di lettura ed esecuzione. Anche altri utenti avranno i permessi di lettura ed esecuzione. il install
Il comando utilizza la stessa rappresentazione numerica per i permessi di chmod
lo fa?. Il nostro programmatore ha deciso che i permessi dovrebbero essere impostati su:
- Proprietario: Leggi, scrivere ed eseguire.
- Gruppo: Leggi ed esegui.
- Altri: Corri soltanto.
Come usare il install
Comando
La directory di lavoro del nostro programmatore fittizio è ~/work
. Ha scritto il programma, lo ha compilado y ha producido un binario llamado ana
. Él ya creó el archivo de base de datos que ana
Funziona con, Words.db
. Entonces ambos archivos están listos para probar. Diamo un'occhiata a loro:
ls -l ana Words.db
il 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, se richiesto.
- v: Dettagliato, enumere cada directorio a medida que se crea y cada copia de archivo a medida que se hace.
- T: Directorio de destino.
Podemos ver eso install
crea el ~/test
directory, y después crea el ~/test/ana
directory. I file sono elencati uno per uno man mano che vengono copiati nella directory di destinazione.
Elenco file in ~/test/ana
confermare che sono stati copiati correttamente.
ls -l
Il prossimo passo è testare il ana
utilità invocandola nel ~/test/ana
directory.
L'utilità funziona come previsto, che è grandioso. Nonostante questo, i permessi non sono corretti. Il requisito è determinare i membri del gruppo geek
avere i permessi di lettura ed esecuzione, e che altri utenti hanno appena eseguito.
Podemos abordar ambos problemas de manera bastante simple con el siguiente comando. Si prega di notare l'uso di sudo
para ejecutar el comando con permisos de root. il -o
e -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
- il
-b
L'opzione (backup) crea copias de seguridad de los archivos antes de que se sobrescriban. - il
-S
L'opzione (suffisso) imposta il suffisso per i file di backup. Se non fornisci un suffisso a~
(tilde) Usato. stiamo chiedendoinstall
usa un suffisso di.bak
. - Abbiamo impostato il proprietario del file come
dave
usando il-o
(proprietario) opzione. - il
-g
L'opzione (gruppo) bisogno del nome di un gruppo. Questo diventa il gruppo che possiede i file. Il gruppo che utilizzeremo si chiamageek
. - il
-m
L'opzione (modo) imposta le modalità file per i file, usando lo standardchmod
sintassi numerica.
Non abbiamo più bisogno di usare il -D
(creare directory), perché sappiamo che la directory di test esiste già. Además hemos omitido el -v
opzione (dettagliato). Listando los archivos en nuestro ~/test/ana
directorio nos muestra los detalles del archivo:
ls -l
Esto confirma que se han cumplido todos nuestros requerimientos.
- Los archivos se copiaron en el directorio de prueba.
- Los permisos se han configurado correctamente.
dave
es el propietario de los archivos.- il
geek
group es el grupo propietario de los dos archivos. - Se han realizado copias de seguridad de cada archivo, llamados ana.bak y Words.db.bak.
Todo eso se logró a través de el uso de un comando. purificato.
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
directory. Possiamo farlo usando il -C
(comparar) opzione. 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
Enumerar los archivos en el directorio de destino nos muestra que el tamaño del archivo del ana
el archivo ha cambiado. Es mas grande que el ana.bak
procedimento. Il timestamp in ana
è anche cambiato. Queste modifiche sono dovute alla nuova versione del file che viene copiata qui.
ls -l
La dimensione del file e il timestamp del Words.db
il file non è cambiato. Non sono state apportate modifiche al Words.db
file, quindi non è stato copiato. In un progetto con molti file, -C
L'opzione (comparar) può risparmiare un sacco di tempo e sprecare tempo sul disco rigido, quando si copiano solo file che sono stati modificati.
Il programmatore ha ritestato che il ana
l'utilità funziona ancora.
Tempo di usare install
copiare i file in /usr/local/bin
directory. Ciò renderà la nuova utility disponibile a tutti gli utenti di questo computer Linux. Sappiamo /usr/local/bin
esiste, quindi non abbiamo bisogno di creare quella directory. Possiamo usare una versione modificata del nostro ultimo comando.
Abbiamo cambiato la directory di destinazione per essere /usr/local/bin
. Abbiamo rimosso il -C
(comparar) perché non ci sono ancora copie di questi file nella directory di destinazione, quindi non c'è niente da confrontare. Nello stesso modo, non c'è niente di cui fare il backup, por lo que podemos quitar el -b
(backup) e il -S
(suffisso) opzione.
sudo install -o dave -g geek -m 751 ana Words.db -t /usr/local/bin
Possiamo elencare quali file hanno raggiunto /usr/local/bin
:
ls -l
E come prova finale, cambiamo la directory nella nostra home directory e vediamo se possiamo invocare la nostra nuova utility da lì.
Nota che non è necessario precedere il ana
comando con ./
il che significa che sta correndo da /usr/local/bin
. Missione compiuta.
Abbiamo detto che l'installazione può rimuovere le tabelle dei simboli ridondanti e altri bagagli all'interno del file binario, per ridurne le dimensioni. Facciamolo adesso. 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
possiamo usare il seguente comando. Hemos agregado la opción -s (encoger) con un “S” minuscolo. Hemos vuelto a agregar la opción -b (backup) y la opción -S (suffisso), con un “S” lettera maiuscola
sudo install -s -b -S .bak -o dave -g geek -m 751 ana -t /usr/local/bin
Elenco file in /usr/local/bin
nos posibilita comparar el tamaño del ana
archivo con su versión de respaldo. il ana
Il file è stato ridotto a quasi il 60% della sua dimensione precedente.
ls -l /usr/local/bin
In sintesi
la la install
Il comando è adattato ad un uso molto specifico. Per molte persone, non verrà utilizzato giorno dopo giorno, o forse mese per mese. Nonostante che, il install
Il comando è un buon strumento per familiarizzare e avere nel tuo arsenale di trucchi. Per quelle occasioni in cui ne hai bisogno, premia la tua curva di apprendimento con miglioramenti dell'efficienza, semplicità e semplicemente meno sequenze di tasti.