Cómo copiar archivos usando el comando “installare” en Linux

Contenuti

Bash arte concettuale su un desktop Ubuntu Linux

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.

installa la pagina man

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.

prueba de la utilidad ana en el directorio de trabajo

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

Instale el comando en / test / la voce per la directory corrente e la voce

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

ls nella directory / test / la voce per la directory corrente e la voce

Il prossimo passo è testare il ana utilità invocandola nel ~/test/ana directory.

testare l'utilità ana nella directory / test / la voce per la directory corrente e la voce

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

instalar comando con opciones de copia de seguridad y configuración de permisos

  • 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 chiedendo install 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 chiama geek.
  • il -m L'opzione (modo) imposta le modalità file per i file, usando lo standard chmod 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

ls nella directory / test / la voce per la directory corrente e la voce

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

instalar el comando con la opción -C comparar

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.bakprocedimento. Il timestamp in ana è anche cambiato. Queste modifiche sono dovute alla nuova versione del file che viene copiata qui.

ls -l

è en / test / ana con test per ana utility

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

instalar copiando archivos a / usr / Locale / bidone

Possiamo elencare quali file hanno raggiunto /usr/local/bin:

ls -l

è di / usr / Locale / bidone

E come prova finale, cambiamo la directory nella nostra home directory e vediamo se possiamo invocare la nostra nuova utility da lì.

test di utilità ana

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

opción de instalación con opción -s strip

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

ls nella directory di lavoro

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.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.