10 suggerimenti essenziali della riga di comando di OS X per utenti esperti

Per la maggior parte degli utenti occasionali, la riga di comando di OS X, accessibile tramite l'app Terminale, è almeno tanto oscura e scoraggiante quanto il prompt dei comandi di Windows, da utilizzare solo in periodi di estrema difficoltà. Per quegli utenti, questo di solito accade quando qualcosa è andato inspiegabilmente storto e digitare comandi criptici nel prompt sembra l'unica speranza per una cura. Ovviamente, molto probabilmente stanno effettivamente riavviando un launchdservizio o eliminando un plistfile.

Per coloro che hanno familiarità con la shell Unix, la riga di comando o il terminale è un potente strumento da utilizzare per facilitare molte funzioni e interazioni del sistema. Poiché OS X è costruito attorno a un core BSD, puoi portare le tue battute fantasiose e saltare gli ingombranti strumenti GUI per fare cose semplici come camminare su un albero di directory, eliminare ogni file più vecchio di 30 giorni o estrarre un elenco di file in la directory corrente che contiene una stringa di testo specifica. Sebbene le interfacce grafiche possano semplificare molte attività, possono anche complicare altre attività e la riga di comando viene in soccorso.

OS X ha gemme nascoste che anche gli utenti esperti potrebbero non conoscere. Ecco un elenco di 10 utili utilità che ti consentono di eseguire molte funzioni sul tuo Mac dalla riga di comando. Dovresti trovarli tutti utili e, in almeno un caso, anche divertenti.

1. pbcopye pbpaste: copia e incolla negli / dagli appunti

Le utilità pbcopye pbtastelavorano insieme, consentendo l'accesso ae dagli appunti / appunti di sistema dalla riga di comando. Ad esempio, se si desidera elencare tutti i file in una directory che inizia con la lettera "f" e inserire tale elenco negli appunti, digitare quanto segue:

$ ls f* | pbcopy

Boom: quell'output può quindi essere incollato in qualsiasi app GUI.

Il contrario funziona come ci si potrebbe aspettare. Se hai quell'elenco di file negli appunti da un'altra app, puoi elaborarlo dalla riga di comando con pbpaste:

$ pbpaste | grep foo

Utilizzerà il grepcomando per estrarre solo le righe contenenti la stringa foo.

Se il tuo lavoro ti porta nella riga di comando insieme alle app GUI, questi due comandi possono sicuramente tornare utili.

2 rsync.: sincronizza file o directory

L' rsyncutilità può sincronizzare gli alberi di directory tra cartelle sullo stesso sistema o tra cartelle su un sistema locale e remoto. È immensamente utile ed è stato un baluardo dell'IT per molti anni. È anche incluso in OS X.

Se è necessario mantenere identici due alberi di directory, l'utilizzo rsyncsul sistema locale è banale:

$ rsync -av /path/to/directory1/ /path/to/directory/2/

Questo assicurerà che tutti i file in / path / to / directory1 / esistano anche in / path / to / directory2 /. Se vuoi rendere le directory esattamente identiche, dovrai istruire rsyncper eliminare anche i file in / path / to / directory2 / che non esistono in / path / to / directory1 /:

$ rsync -av --delete /path/to/directory1/ /path/to/directory2/

Se non desideri che i file vengano elencati durante la sincronizzazione, rimuovi il vflag:

$ rsync -a --delete /path/to/directory1/ /path/to/directory2/

Oppure, se vuoi vedere quali file verranno copiati o eliminati, aggiungi un n:

$ rsync -avn --delete /path/to/directory1/ /path/to/directory2/

È inoltre possibile utilizzare rsynctra diversi sistemi, purché il sistema remoto sia rsyncinstallato e stia eseguendo SSH:

$ rsync -av --delete /path/to/directory1/ [email protected]:/path/to/directory1/

Nota che la barra finale è importante qui. Indica che rsyncè quello di leggere i file all'interno della directory di origine e sincronizzarli all'interno della directory di destinazione. Ometti la barra finale e rsynccopierà (accoderà) la directory di origine nella directory di destinazione, creando un livello di directory aggiuntivo che potresti non aver previsto.

Per abilitare l'accesso SSH su un Mac, apri Preferenze di Sistema, vai su Condivisione e seleziona Accesso remoto. Sarai quindi in grado di accedere al rsyncMac tramite SSH o utilizzare SSH per connetterti a una shell sul sistema.

3 ditto.: Copia o unisci directory o archivi

Il dittocomando è superficialmente simile a rsync, ma in realtà è uno strumento molto diverso. È stato incluso in OS X per un po 'di tempo, ma rimane relativamente sconosciuto.

Come rsync, dittopuò essere utilizzato per copiare alberi di directory, preservando autorizzazioni, proprietà e metadati. Quindi:

$ ditto /path/to/source /path/to/destination

Se la directory di destinazione non esiste, dittocreerà una copia esatta della directory di origine lì. Se la directory di destinazione esiste, dittounirà la directory di origine con la destinazione, sovrascrivendo i nomi di file duplicati. Ad esempio, puoi dittounire il contenuto di due grandi directory di immagini in una singola struttura di directory nidificata.

Ma dittova oltre, in quanto può anche creare, estrarre e manipolare archivi CPIO (Copia in entrata, Copia in uscita) e Zip. È possibile specificare una distinta base (bom) che dittoverrà utilizzata per copiare o unire selettivamente, dittoomettere i metadati durante le copie dei file o persino istruire dittoa ridurre i binari universali a un'architettura specifica durante un'operazione.

L' dittoutilità è uno strumento abbastanza complesso che può essere molto utile se usato correttamente, ma può anche richiedere alcuni esperimenti per comprenderlo appieno.

4 tmutil.: Backup e ripristino con Time Machine

La funzione Time Machine di Apple è estremamente utile per fornire agli utenti un modo per mantenere i backup continui dei loro computer su un'unità esterna come un'unità NAS o USB. Detto questo, l'interfaccia "Star Wars" può essere ingombrante quando gli utenti esperti stanno cercando di navigare nei backup, ei controlli nelle Preferenze di Sistema sono piuttosto spartani.

Fortunatamente, tmutilè lì per colmare le lacune quando ne hai bisogno.

Ad esempio, mentre la GUI di Time Machine ti mostrerà l'ultimo backup, se vuoi mostrare tutti i backup disponibili, esegui quanto segue:

$ tmutil listbackups

Verrà visualizzato un elenco di tutti i backup accessibili del sistema corrente. Per visualizzare l'ultimo backup, inserisci semplicemente quanto segue:

$ tmutil latestbackup

È inoltre possibile utilizzare tmutilper avviare e interrompere i backup, confrontare i backup tra loro, analizzare la quantità di modifiche tra i backup, ereditare i backup che potrebbero essere stati effettuati da un sistema precedente, mostrare le informazioni sulle destinazioni dei backup, associare e dissociare le destinazioni dei backup e persino ripristinare i file da un backup.

Fondamentalmente, si trovano tutte le attività relative al backup in cui manca un utente esperto nella GUI tmutil. Se sei in gravi difficoltà e hai bisogno di scavare più a fondo nei backup per riparare qualcosa, può essere un salvavita.

5 fs_usage.: Visualizza l'attività del file system

Se sei mai stato in una posizione in cui il tuo disco sta andando a gonfie vele e desideri una rapida occhiata dalla riga di comando a quali processi di sistema stanno causando il tumulto, tieni fs_usagele spalle. Questo strumento fornisce un flusso costante di informazioni in tempo reale sui processi che accedono al file system.

Per impostazione predefinita, fs_usageesenta alcuni processi dall'output, inclusi Terminal e Secure Shell ( sshd). Puoi eseguire fs_usagein Terminal in questo modo:

$ sudo fs_usage

Se stai utilizzando un'altra applicazione terminale, dovrai escluderla dall'output con lo -eswitch:

$ sudo fs_usage -e iTerm

Quanto sopra fs_usageesenterà sia l'app iTerm dall'output.

Oltre a fornire una visualizzazione a livello di sistema, fs_usagepuò profilare singoli processi, come Google Chrome:

$ sudo fs_usage "Google Chrome"

6.  drutile hdiutil: masterizza CD e DVD e manipola le immagini del disco

Se hai mai desiderato masterizzare un DVD di dati o un CD audio in modo rapido e semplice, drutilè per te. Con esso, puoi masterizzare un albero di directory su un CD con una sola riga:

$ drutil burn /path/to/folder

Se vuoi masterizzare un CD audio, fai semplicemente riferimento a una directory piena di file audio:

$ drutil burn -audio /path/to/folder

Questa utility può anche tornare utile per cancellare i supporti CD-RW con il erasecomando ( drutil erase /path/to/folder). Con il bulkerasecomando, cancellerà un disco CD-RW, lo espellerà e attenderà che venga inserito un altro, quindi risciacquerà e ripeterà.

L' hdiutilutilità è in qualche modo correlata, in quanto hdiutilviene utilizzata per manipolare le immagini del disco. È possibile utilizzare hdiutilper creare un'immagine del disco Apple (ovvero un file DMG) da un percorso di directory:

$ hdiutil create -srcfolder /path/to/files/ myfiles.dmg

In El Capitan, puoi masterizzare immagini ISO su CD con il seguente comando:

$ hdiutil burn /path/to/file.iso

L' hdiutilutilità ha anche molte altre funzioni, come il montaggio e lo smontaggio di immagini, la conversione di formati di immagine, la creazione di immagini crittografate e la verifica di immagini.

7 system_profiler.: Segnala le informazioni di sistema

Quando si esegue il debug di problemi o si investiga su un sistema, è utile poter ottenere un rapporto su tutte le informazioni pertinenti sull'hardware e sul software in uso. Questo è ciò che system_profilerfa e restituisce quel rapporto in un file di testo per una facile lettura.

Per la maggior parte degli scopi, il report di base è sufficiente:

$ system_profiler -detailLevel basic > report.txt

Questo ti darà tonnellate di dati sul sistema, dalle basi come CPU, RAM, grafica e archiviazione al numero di serie, UUID hardware, informazioni di rete, popolazione slot RAM, dettagli di rete, informazioni sull'alimentazione, software della stampante, USB, Thunderbolt e Informazioni sul backup di Time Machine.

È uno sportello unico per tutti i dati di cui potresti aver bisogno su un determinato Mac. Ciò è particolarmente utile quando si cerca di risolvere problemi con un sistema remoto a cui non è possibile accedere, ad esempio quando mamma o papà chiamano con un problema inspiegabile.

8. tar, gzip, bzip2, e zip: Creare e aprire gli archivi compressi

Nel mondo Unix, tar(abbreviazione di "archivio su nastro") era originariamente utilizzato per copiare file su nastri di backup in un formato standardizzato.

Oggi non usiamo più tarallo stesso modo. Lo usiamo per creare archivi di singoli file o directory. Impiegato insieme a strumenti di compressione gzipe bzip2, tarci consente di creare archivi compressi di file. Il risultato è simile a un archivio di file Zip, utilizzato su Mac, Windows e altre piattaforme.

Per creare un tararchivio compresso con gzip di una directory, potremmo eseguire:

$ tar zcpf myfiles.tgz /path/to/files

Questo creerà myfile.tgz, che è un archivio tar compresso con gzip di tutti i file nel percorso di riferimento. Se vogliamo utilizzare bzip2, potremmo ottenere un archivio più piccolo, ma potrebbe richiedere più tempo per comprimere e decomprimere:

$ tar jcpf myfiles.tbz /path/to/files

E possiamo sempre usare Zip normale:

$ zip –r myfiles.zip /path/to/files

Per aprire un file tar gzippato, eseguiamo questo comando:

$ tar zxf myfiles.tgz

Per aprire un bzip2archivio bzipped ( ), il comando è il seguente:

$ tar jxf myfiles.tbz

E per gli archivi Zip, il comando è unzip:

$ unzip myfiles.zip

Si potrebbe ottenere una migliore resa chilometrica fuori tare gzipo bzip2che zipper alcuni tipi di file, ma attenzione che gli utenti di Windows non saranno in grado di aprire gli archivi, senza software specifico, mentre i file Zip si apriranno automaticamente le versioni moderne di Windows.

9 mdfind.: eseguire potenti ricerche Spotlight

OS X utilizza la ricerca Spotlight da anni. Spotlight indicizza i file sul disco e consente la ricerca avanzata per metadati, tipo di file, contenuto dei file e altro. Fortunatamente, le ricerche Spotlight sono disponibili anche sulla riga di comando tramite mdfind.

Funziona esattamente come lo strumento Spotlight nel Finder, ma è più flessibile nei tipi di ricerca e restituisce tutti i dati trovati. Ad esempio, il seguente comando restituirà letteralmente tutto ciò che è indicizzato da Spotlight contenente la parola chiave foobar:

$ mdfind "foobar"

Puoi anche cercare tutti i metadati, come il tipo di file:

$ mdfind "kMDItemContentType == 'com.microsoft.word.doc'"

Puoi cercare per tipo di file con parole chiave:

$ mdfind "kind:pdf Bread cheese salami"

Puoi anche cercare in base al periodo di tempo:

$ mdfind -onlyin ./tmp/ 'kMDItemFSContentChangeDate >= $time.today(-2)'

La GUI di ricerca Spotlight è sicuramente utile per ricerche semplici, ma se stai davvero cercando di setacciare il tuo spazio di archiviazione per i file, mdfindpotrebbe essere una scommessa migliore.

10 say.: Chiedi al tuo Mac di leggerti un file

Il saycomando può essere utile per chi necessita di assistenza audio per disabilità, ma può essere anche molto divertente. Questo strumento fa quello che potresti aspettarti: traduce il testo in parlato. Nella sua forma più semplice, è molto semplice da usare:

$ say "Hello world"

Otterrai una voce robotica stereotipata che dice "Ciao mondo". Tuttavia, non si ferma qui. Sono disponibili 64 voci diverse tra cui scegliere, in una varietà di lingue. In alcune delle voci straniere, il testo inglese sarà pronunciato in un'approssimazione di un parlante dell'accento inglese di quella lingua. Puoi vedere un elenco di tutte le voci con questo comando:

$ say -v ‘?’

Una volta che hai deciso una voce adatta, puoi fare say, beh, dire qualsiasi cosa sulla riga di comando o in un normale file di testo. Includi la --interactivebandiera e sayevidenzierà le parole man mano che vengono lette ad alta voce:

$ say -v Vicki -f myfile.txt --interactive

È anche possibile impostare la velocità con cui il testo viene letto e, se il sistema di destinazione è configurato correttamente, è possibile sayleggere il testo su un sistema remoto.

La GUI del Mac semplifica la maggior parte delle cose ed è un luogo piacevole dove trascorrere il tempo. Ma c'è di più nel Mac oltre al bel viso. Quando la GUI sembra troppo limitata o troppo lenta, potresti trovare più facile aprire il Terminale e toccare la potenza della riga di comando. Oltre a questi 10 elementi essenziali, controlla i 20 segreti della riga di comando di OS X nel precedente articolo.