Come copiare file utilizzando il comando install su Linux

Concept art di Bash su un desktop Ubuntu Linux

Fatmawati Achmad Zaenuri/Shutterstock.com



|_+_| è un versatile comando per la copia di file in Linux e macOS. È perfetto per l'utente esperto che cerca l'efficienza. Leggi questo articolo per scoprire come lavorare in modo più intelligente, non più difficile.

Aspetta: non è per l'installazione di software?

Il |_+_| comando potrebbe 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 in Ubuntu o in un'altra distribuzione basata su Debian, usa |_+_| comando. Su altre distribuzioni Linux, usa invece lo strumento di gestione dei pacchetti della tua distribuzione Linux, ad esempio |_+_| su Fedora o |_+_| su openSUSE.





Quindi cosa fa l'installazione?

In poche parole |_+_| combina elementi del |_+_| ( copia ), install ( Cambiare proprietario ), install ( cambia modalità ), apt-get ( crea directory ), e |_+_| ( simboli della striscia ) comandi. Ti consente di utilizzare le funzioni di tutti quelli in una singola azione.

Il |_+_| il comando può:



  • Copia file come |_+_| comando.
  • Scegli se sovrascrivere i file esistenti.
  • Crea la directory di destinazione se non esiste, come |_+_|.
  • Imposta i flag di autorizzazione utente dei file, proprio come |_+_| comando.
  • Imposta il proprietario dei file, proprio come |_+_| comando.
  • Rimuovi il bagaglio non essenziale dai file eseguibili, proprio come |_+_| comando.

Nonostante tutte queste funzionalità, |_+_| il comando non ha anche molte opzioni con cui lottare.

installa la pagina man

Quando lo useresti?

Il |_+_| comando probabilmente non verrà utilizzato tutti i giorni. È utile, ma solo per determinate situazioni. Uno scenario in cui |_+_| entra in proprio è lo sviluppo del software. Diciamo che stai programmando una nuova utility. Dovrai eseguire test al di fuori dell'ambiente di sviluppo. Per fare ciò è necessario copiare i nuovi file di programma in una directory di prova. Potrebbe essere necessario creare la directory di test e impostare le autorizzazioni e la proprietà corrette per i file.



Annuncio pubblicitario

Poiché lo sviluppo è un'attività iterativa, puoi finire per eseguire questa sequenza di azioni molte, molte volte. Il |_+_| il comando fa tutto il lavoro pesante per te. Infine, quando la tua nuova utility è pronta per essere distribuita, puoi usare |_+_| per copiarlo con i permessi corretti nella sua posizione di lavoro finale.

Un esempio

Un programmatore sta lavorando proprio su una nuova utility di questo tipo, chiamata |_+_|. Consiste in un file binario eseguibile e un database. Dopo il test, deve essere copiato in |_+_| per renderlo disponibile per 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 |_+_|.

Fino a quando non sarà pronto per il rilascio verrà testato in una directory chiamata |_+_|. Membri del |_+_| gruppo avrà i permessi di lettura ed esecuzione. Anche altri utenti avranno i permessi di lettura ed esecuzione. Il |_+_| il comando usa la stessa rappresentazione numerica per i permessi di |_+_| fa. Il nostro programmatore ha deciso che i permessi devono essere impostati su:

  • Proprietario: leggi, scrivi ed esegui.
  • Gruppo: leggere ed eseguire.
  • Altri: solo esecuzione.

Come usare il |_+_| Comando

La directory di lavoro del nostro programmatore fittizio è |_+_|. Ha scritto il programma, lo ha compilato e ha prodotto un binario chiamato |_+_|. Ha già creato il file di database che |_+_| funziona con, |_+_|. Quindi entrambi i file sono pronti per il test. Diamo un'occhiata a loro:

dnf

Il |_+_| utility che ha appena scritto crea anagrammi da una frase fornita sulla riga di comando. Il test di verifica è abbastanza semplice.

test di un

Il nostro programmatore ha invocato |_+_| con la frase biscotto e tutto sembra a posto. Ora vuole copiare questi due file in |_+_| directory per vedere se la nuova utility funziona correttamente fuori dall'ambiente di sviluppo. Emette il seguente comando:

zypper

Installa il comando su /test/ana

Le opzioni utilizzate sulla riga di comando erano:

    D: Crea directory, comprese le directory principali, se necessario. v: Verbose, elenca ogni directory man mano che viene creata e ogni copia di file man mano che viene eseguita. T: directory di destinazione.
Annuncio pubblicitario

Possiamo vedere che |_+_| crea il |_+_| directory, quindi crea la |_+_| directory. I file vengono elencati uno per uno man mano che vengono copiati nella directory di destinazione.

Elenco dei file in |_+_| conferma che sono stati copiati correttamente.

install

ls nella directory /test/ana

Il prossimo passo è testare il |_+_| utility invocandola nel |_+_| directory.

test dell

L'utilità funziona come previsto, il che è fantastico. Tuttavia, le autorizzazioni non sono corrette. Il requisito è impostare i membri del gruppo |_+_| di avere i permessi di lettura ed esecuzione, e per gli altri utenti di avere solo l'esecuzione.

Possiamo affrontare entrambi questi problemi semplicemente con il seguente comando. Nota l'uso di |_+_| per eseguire il comando con i permessi di root. Il |_+_| e |_+_| e le opzioni lo richiedono. Ci verrà chiesta la nostra password quando emettiamo il comando.

cp

comando install con opzioni di backup e impostazioni delle autorizzazioni

  • Il |_+_| (backup) crea backup dei file prima che vengano sovrascritti.
  • Il |_+_| L'opzione (suffisso) definisce il suffisso per i file di backup. Se non fornisci un suffisso a |_+_| (tilde) è usato. Chiediamo |_+_| per usare un suffisso di |_+_|.
  • Impostiamo il proprietario del file come |_+_| usando il |_+_| (proprietario) opzione.
  • Il |_+_| L'opzione (gruppo) richiede il nome di un gruppo. Questo diventa il gruppo proprietario dei file. Il gruppo che useremo si chiama |_+_|.
  • Il |_+_| L'opzione (mode) imposta le modalità dei file per i file, utilizzando lo standard |_+_| sintassi numerica.

Non abbiamo più bisogno di usare |_+_| (crea directory), perché sappiamo che la directory di test esiste già. Abbiamo anche omesso il |_+_| (verboso) opzione. Elencare i file nel nostro |_+_| directory ci mostra i dettagli del file:

chown

ls nella directory /test/ana

Ciò conferma che tutti i nostri requisiti sono stati soddisfatti.

  • I file sono stati copiati nella directory testing.
  • I permessi sono stati impostati correttamente.
  • |_+_| è il proprietario dei file.
  • Il |_+_| group è il gruppo proprietario dei due file.
  • Sono state effettuate copie di backup di ciascun file, denominate ana.bak e Words.db.bak.
Annuncio pubblicitario

Tutto ciò è stato ottenuto attraverso l'uso di un comando. Pulito.

Il nostro programmatore apporta alcune modifiche finali all'utilità e ricompila. I file che sono stati modificati devono essere copiati su |_+_| directory dal |_+_| directory. Possiamo farlo usando il |_+_| (confronto) opzione. Se il file di origine e il file di destinazione coincidono, il file di origine non viene copiato.

chmod

comando di installazione con l

L'elenco dei file nella directory di destinazione ci mostra che la dimensione del file di |_+_| il file è cambiato. È più grande del file |_+_|. Il timestamp su |_+_| è anche cambiato. Queste modifiche sono dovute al fatto che la nuova versione del file è stata copiata qui.

mkdir

ls in /test/ana con test per l

La dimensione del file e il timestamp di |_+_| il file non è cambiato. Non sono state apportate modifiche a |_+_| file, quindi non è stato copiato. Su un progetto con molti file il |_+_| L'opzione (confronta) può far risparmiare molto tempo e sfornare il disco rigido, copiando solo i file che sono stati modificati.

Il programmatore ha nuovamente verificato che |_+_| l'utilità continua a funzionare.

È ora di usare |_+_| per copiare i file nel |_+_| directory. Ciò renderà la nuova utility disponibile per tutti gli utenti di questo computer Linux. Sappiamo che |_+_| esiste, quindi non è necessario creare quella directory. Possiamo usare una versione modificata del nostro ultimo comando.

Annuncio pubblicitario

Abbiamo cambiato la directory di destinazione in |_+_|. Abbiamo rimosso il |_+_| (confronta) perché non ci sono ancora copie di questi file nella directory di destinazione, quindi non c'è niente con cui confrontare. Allo stesso modo, non c'è nulla di cui eseguire il backup, quindi possiamo rimuovere |_+_| (backup) e l'opzione |_+_| (suffisso) opzione.

strip

installa copiando i file in /usr/local/bin

Possiamo elencare che i file sono arrivati ​​in |_+_|:

install

ls di /usr/local/bin

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

test di ana utility

Nota che non era necessario premettere |_+_| comando con |_+_| il che significa che è in esecuzione da |_+_|. Missione compiuta.

Abbiamo detto che l'installazione può eliminare le tabelle dei simboli ridondanti e altri bagagli dall'interno del file binario, per ridurne le dimensioni. Facciamolo ora. Notare che il comando seguente non include Words.db. Questo perché Words.db è un file di database, non un eseguibile binario. Per copiare e ridurre il file binario |_+_| possiamo usare il seguente comando. Abbiamo aggiunto l'opzione -s (riduci) con una s minuscola. Abbiamo aggiunto di nuovo l'opzione -b (backup) e l'opzione -S (suffisso), con una S maiuscola.

cp

installa l

Annuncio pubblicitario

Elenco dei file in |_+_| ci permette di confrontare le dimensioni del |_+_| file con la sua versione di backup. Il |_+_| file è stato ridotto a quasi il 60% della sua dimensione precedente.

mkdir

ls nella directory di lavoro

In sintesi

Il |_+_| comando si rivolge a un uso piuttosto di nicchia. Per molte persone non verrà utilizzato giorno dopo giorno, o forse di mese in mese. Nonostante ciò, il |_+_| command è un buon strumento da conoscere e da avere nel tuo arsenale di trucchi. Per quelle occasioni in cui ne hai bisogno, premia la tua curva di apprendimento con miglioramenti in termini di efficienza, semplicità e semplicemente meno sequenze di tasti.

Comandi Linux
File catrame · pv · gatto · tac · chmod · presa · differenza · sed · Con · uomo · spinto · popd · fsck · testdisk · seguito · fd · pandoc · cd · $PATH · awk · giuntura · jq · piega · unico · journalctl · coda · stato · ls · fstab · buttato fuori · meno · chgrp · chown · rev · Guarda · stringhe · genere · rinominare · cerniera lampo · decomprimere · montare · smontare · installare · fdisk · mkfs · rm · rmdir · rsync · df · gpg · noi · nano · mkdir · a partire dal · ln · toppa · convertire · rclone · brandello · SRM
Processi alias · schermo · superiore · Bello · renice · progresso · strace · sistema · tmux · chsh · storia · in · lotto · libero · quale · dmesg · usermod · ps · chroot · xargs · tty · mignolo · lsof · vmstat · tempo scaduto · parete · · uccisione · dormire · sudo · il suo · volta · gruppoaggiungi · usermod · gruppi · lshw · spegnimento · riavviare · fermare · spegni · passwd · lscpu · crontab · Data · bg · fg
Rete netstat · ping · traceroute · ip · ss · chi è · fail2ban · bmon · voi · dito · nmap · ftp · arricciare · wget · chi · chi sono · In · iptables · ssh-keygen · ufw

IMPARENTATO: I migliori laptop Linux per sviluppatori e appassionati

LEGGI SUCCESSIVO Foto del profilo di Dave McKay Dave McKay
Dave McKay ha usato per la prima volta i computer quando era in voga il nastro di carta perforata, e da allora ha programmato. Dopo oltre 30 anni nel settore IT, ora è un giornalista tecnologico a tempo pieno. Durante la sua carriera ha lavorato come programmatore freelance, manager di un team internazionale di sviluppo software, project manager di servizi IT e, più recentemente, come Data Protection Officer. I suoi scritti sono stati pubblicati da howtogeek.com, cloudavvyit.com, itenterpriser.com e opensource.com. Dave è un evangelista di Linux e un sostenitore dell'open source.
Leggi la biografia completa

Articoli Interessanti