Accelerare il flusso di lavoro del terminale con Alias ​​di comando e .profile

Quali sono quei misteriosi file ".profile" e ".bash_profile" di cui hai sentito parlare? Come procedi per aggiungere qualcosa a PATH, che molte applicazioni ti chiedono di fare (ma nessuno spiega come)? Quali sono gli alias e in che modo possono aiutare il tuo flusso di lavoro? Impara tutto questo e molto altro in questo articolo per ottenere un controllo più profondo di OS X.


Imparare ad usare .profile per impostare alias

Se hai fatto altro che navigare sui social network e guardare film sul tuo Mac, sai che ci sono alcune cose misteriose che stanno succedendo sotto il cofano. Forse hai installato un'applicazione come il gestore di pacchetti Homebrew che ti chiedeva di fare qualcosa di oscuro come "Aggiungi / usr / local / sbin al tuo percorso", o forse hai sentito la parola "comando alias" menzionata o addirittura applicazione ti dice di "aggiungere X al tuo profilo".

Gli alias presentati in questo articolo velocizzeranno il tuo flusso di lavoro.

Attraverso questo articolo, è mia intenzione coprire le basi di queste azioni apparentemente di magia nera e farti conoscere il meraviglioso mondo degli alias. Mentre impostare gli alias nel modo descritto in questo articolo sarà prezioso per gli sviluppatori di software, gli utenti occasionali troveranno facilmente un utilizzo anche per loro.

Quali sono gli alias?

Gli alias sono scorciatoie per i comandi. Ad esempio (e uno semplice morto), se usi Terminal per fare qualsiasi cosa, come andare nella tua cartella / Users / [username] / Sites /, probabilmente usi

$ cd / Utenti / [nome utente] / Siti

o

$ cd ~ / Sites

Una volta lì, probabilmente devi inserire un progetto specifico, (ad esempio "mioProject") e lo fai digitando

$ cd myProject

Mentre scrivi tutto in un comando, in questo modo:

$ cd ~ / Sites / myProject

non richiede molto tempo, può diventare noioso, specialmente nelle cartelle profondamente annidate o se è necessario cambiare spesso le cartelle.

Con gli alias, puoi farlo più velocemente.

Gli alias ti aiutano ad accorciare i comandi lunghi o le catene di comando.

Prova ad aprire Terminale (andando su Applicazioni -> Utilità -> Terminale) e digitando

$ alias goto_web = "cd ~ / Sites"

Assicurati che nella cartella home esista una cartella denominata Sites e crei una cartella myProject al suo interno. Quindi, esegui il seguente comando nel terminale:

$ alias goto_myP = "goto_web; cd myProject"

Ora digita "goto_myP" e osserva la magia che si verifica quando premi Invio. Entra automaticamente in ~ / Sites / myProject, indipendentemente da dove eri quando lo hai digitato. I vantaggi sono duplici:

  1. Puoi digitare goto_ e premere il tasto TAB per ottenere un elenco di possibili alias goto che hai definito finora.
  2. Se la cartella radice dei tuoi progetti web cambia mai (ad esempio, Sites to MySites), tutto ciò che devi fare è cambiare l'alias goto_web principale, e le modifiche si succedono a cascata a tutte le altre che lo usano.

Impostare manualmente gli alias

Guai in Paradiso

C'è un problema, però. Non appena ci disconnettiamo, gli alias che abbiamo definito in questo modo sono spariti. Non vengono salvati da nessuna parte e al sistema operativo non è stato detto di ripristinarli una volta effettuato il log-in. Quindi, come gestiamo questo problema? Il file .profile.

Non appena l'utente si disconnette, gli alias definiti dal terminale scompaiono.

Iniziamo con le basi.

Cos'è .profile?

Se il nome di un file inizia con "." (punto) carattere, quel file è nascosto

Il "." (punto) di fronte a determinati nomi di file significa che il file è "nascosto". Questa notazione è di solito lì per i file di sistema che non dovrebbero essere visibili di default e che potrebbero essere fastidiosi o volubili in quanto il loro cambiamento potrebbe influenzare il sistema in modo indesiderato.

I file .DS_Store, ad esempio, appartengono alla categoria "fastidiosa" e vengono creati dall'applicazione "Finder" in ogni cartella aperta con esso. Se attraversi le cartelle attraverso il terminale usando "cd folderName", i file .DS_Store non verranno creati. Tuttavia, Finder memorizza alcune informazioni che consentono di tenere traccia del tuo file system e migliorare la navigazione e la ricerca.

Su una nota correlata, il file .profile summenzionato è un file nascosto. È un file facoltativo che dice al sistema quali comandi eseguire quando l'utente di cui il file di profilo è connesso. Ad esempio, se il mio nome utente è bruno e c'è un file .profile in / Users / bruno /, tutti i suoi contenuti verrà eseguito durante la procedura di accesso.

Puoi vedere dove stiamo andando, non è vero? Useremo il file .profile per salvare i nostri comandi alias dall'alto, al fine di eseguirli su ogni accesso in modo che questi alias diventino persistenti.

Il contenuto di un file .profile viene eseguito ad ogni accesso del proprietario del file

Qual è il .bash_profile allora? È esattamente lo stesso, ma con un nome diverso. La shell unix in cui stai effettuando l'accesso, in questo caso OS X, cerca etc / profile e la carica se esiste. Quindi cerca ~ / .bash_profile, ~ / .bash_login e infine ~ / .profile, e carica il primo di questi che trova.

Io uso .profile ma se preferisci o ne hai uno degli altri, sentiti libero di rinominarli / fonderli in uno solo, fai quello che vuoi con loro. La loro sintassi è identica: tieni presente che ne viene caricato solo uno e il sistema operativo li cerca nell'ordine sopra menzionato. Ulteriori informazioni su questi file sono disponibili qui.

Trovare .profile

Ma se è nascosto, come lo vediamo? Come possiamo modificare un file che non dovremmo vedere? Come direbbe il grande comandante Hannibal, "troveremo un file [.profile], o ne faremo uno". Ok, ha detto "via", ma l'essenza è la stessa. Questi sono i due modi più comuni di mostrare i file nascosti:

Il primo è renderli visibili a te, ma ancora nascosti. In questo modo non è raccomandato per gli utenti occasionali. Inserisci il seguente comando nel Terminale:

i valori predefiniti scrivono com.apple.finder AppleShowAllFiles TRUE

Segui questo con un riavvio del Finder:

$ killall Finder

Questo ha detto al Finder di smettere di ignorare i file nascosti nelle cartelle che apre, e poi lo ha costretto a riavviare e a riconoscere le nuove impostazioni. Se apri una cartella in Finder ora, dovresti vedere un file .DS_Store al suo interno, e magari anche altre cartelle e file nascosti come nella mia cartella personale qui sotto.


Dopo aver fatto il metodo uno, sarai in grado di vedere i file e le cartelle nascosti nel Finder

Il secondo metodo consiste nel cercare solo i file necessari, attraverso il Terminale. Inizia il terminale e vai alla tua cartella Inizio digitando quanto segue:

$ cd ~ /

Mancia: Puoi anche andare alla tua cartella home semplicemente digitando cd e seguendolo da uno spazio.

Una volta lì, digita questo:

$ ls -a

Questo elenca (ls) il contenuto della cartella in cui ci si trova e il file -un il parametro che abbiamo aggiunto dice di mostrare "tutti" i file, inclusi quelli nascosti.


Utilizzando il metodo due, i file e le cartelle nascosti verranno rivelati nel terminale

Usa uno dei due metodi sopra riportati per scoprire quali file nascosti contiene la tua cartella home e assicurati che ci sia un file .profile o .bash_profile. Se uno di loro esiste, ottimo. Se non sono presenti, crea il file .profile usando il Terminale, in questo modo:

$ tocca ~ / .profile

In un modo o nell'altro, ora siamo certi che il file .profile esista. Ora aggiungiamo alcuni comandi ad esso!

Compilazione del file .profile

Per prima cosa dobbiamo aprire il file per la modifica. Dal momento che è più facile modificare un file in un'applicazione di modifica del testo con una vera GUI, non ci sarà la modifica tramite terminale, ma tramite TextEdit. Digitare quanto segue:

$ open -e ~ / .profile

Oppure fai doppio clic sul file se hai usato il metodo uno per mostrare i file nascosti e seleziona TextEdit dalla finestra Selezione applicazione. Il comando "apri" apre qualsiasi file usando l'applicazione predefinita se riesce a capire di che si tratta, il -e dice di usare l'editor di testo predefinito per il sistema operativo corrente e la parte finale è il file che vogliamo aprire.

Una volta che il file è aperto, possiamo aggiungere le seguenti linee:

 alias goto_web = "cd ~ / Sites" alias goto_myP = "goto_web; cd myProject" alias reload_profile = ". ~ / .profile"

Ora salva e chiudi. I primi due alias sono già stati spiegati sopra. Per quanto riguarda il terzo - se cambi mai il file .profile a metà sessione come abbiamo appena fatto, deve essere ricaricato per avere effetto.

Di solito lo fai manualmente digitando

$ fonte ~ / .profile

o semplicemente

$ ~ / .Profile

Ma potremmo anche rendere la nostra vita più semplice e definire un alias anche per quello. Tuttavia, non possiamo ancora usarlo perché il file .profile non è stato effettivamente caricato, quindi per evitare che questa cattura 22 si sciolga, eseguiamo uno dei comandi sopra riportati (ricarica manuale).

Se cambi mai il file .profile a metà sessione, è necessario ricaricarlo per avere effetto.

Una volta fatto, provalo. Digita "goto_web" e verifica se funziona. Una volta riavviati o disconnessi e accedi di nuovo, l'alias dovrebbe essere ancora attivo e dovrebbe comunque funzionare. L'alias "reload_profile" ora funzionerà pure.

Questo è tutto ciò che c'è da fare! Ora puoi aggiungere i tuoi alias. Non si sentono limitati solo agli alias goto (nota: in realtà non devono essere chiamati goto_ *, li chiamo semplicemente per scopi di raggruppamento), giocare e sperimentare con i tuoi comandi Terminal preferiti. Ecco una parte del mio file con commenti in linea per la tua convenienza:


 # Vedi http://www.shellperson.net/using-sudo-with-an-alias/ alias sudo = "sudo" # Questo mi aiuta a modificare i file che il mio utente non è il proprietario di alias edit = "SUDO_EDITOR =" open -FWne "sudo -e" # L'alias che mi porta qui - per modificare questi alias molto alias edit_profile = "apri -e ~ / .profile" # Realizzo un sacco di sviluppo web, quindi ho bisogno di modificare questi non- file di proprietà abbastanza spesso alias edit_hosts = "modifica / etc / hosts" alias edit_httpd = "modifica /etc/apache2/httpd.conf" alias edit_php = "modifica /etc/php.ini" alias edit_vhosts = "modifica / etc / apache2 / extra / httpd-vhosts.conf "# Alcuni dei miei comandi goto, incluso uno per aprire la cartella di estensione php per quando ho bisogno di installare estensioni personalizzate alias goto_mw =" goto_web; cd mindworks "alias goto_web =" cd ~ / Sites "alias goto_phpext = "sudo apri / usr / lib / php / extensions / no-debug-non-zts-20100525" # Questo alias distrugge in modo ricorsivo tutti i file .DS_Store nella cartella in cui mi trovo attualmente alias killDS = "find. -name *. DS_Store -type f -delete "# Un alias per avviare il mio MySQL personalizzato insta llation al posto di quello predefinito alias mysql = "/ usr / local / mysql-5.5.25-osx10.6-x86_64 / bin / mysql -u root" # Questo alias ricarica questo file alias reload_profile = ". ~ / .profile "# Mac si blocca molto spesso e sono estremamente lenti e instabili sugli arresti.Questo forzare uno spegnimento.alias poweroff =" sudo / sbin / shutdown -h now "# Impostazione per il nuovo supporto del terminale UTF-8 in Lion / Mountain Lion export LC_CTYPE = en_US.UTF-8 export LC_ALL = en_US.UTF-8 # Aggiunge tutti questi percorsi alla variabile PATH: i due punti (:) è il separatore del percorso. # Quando è necessario "aggiungere qualcosa al percorso" si suppone di aggiungere il percorso al proprio file eseguibile a questo elenco di percorsi, separati da due punti. export PATH = "/ usr / local / bin: / usr / local / sbin: / usr / bin: / bin: / usr / sbin: / sbin: / usr / X11 / bin"

Conclusione

Se il tuo uso del terminale è casuale o pesante, il file .profile può rendere la tua vita infinitamente più semplice. Avere tutti i comandi più utilizzati in un unico posto in cui non solo puoi vederli ogni volta che ne dimentichi alcuni, ma anche caricarli automaticamente ad ogni accesso puoi tranquillamente risparmiare ore in una settimana lavorativa.

La cosa migliore, la maggior parte dei comandi sono * nix compatibili, quindi non solo puoi portare il file con te su un'altra macchina OS X, puoi anche includerla nelle tue macchine Linux se ne usi. Con il file .profile, l'aggiornamento della velocità del tuo flusso di lavoro è contenuto in un singolo file che puoi facilmente portare con te.

Gioca con esso, crea altri alias che potrebbero essere utili (come mostrare / nascondere i file nascosti con un singolo comando - ti permetterò di crearne uno da solo), e dare al tuo flusso di lavoro un livello più alto.