Accelerați fluxul de lucru al terminalului cu aliasuri de comandă și .profile

Care sunt fișierele ".profile" și ".bash_profile" misterioase despre care ați auzit? Cum mergi să adaugi ceva la PATH, pe care ți-l cer multe cereri (dar nimeni nu explică cum)? Ce sunt pseudonime și cum pot să vă ajute fluxul de lucru? Aflați toate acestea și multe altele în acest articol despre controlul mai profund al sistemului OS X.


Învățați să utilizați .profile pentru a configura aliasuri

Dacă ați făcut altceva decât să navigați pe rețelele sociale și să urmăriți filme pe Mac, știți că există lucruri misterioase care se petrec sub capotă. Poate că ați instalat o aplicație ca managerul de pachete Homebrew care ți-a cerut să faci ceva obscur cum ar fi "Add / usr / local / sbin pe calea ta" sau poate ai auzit cuvântul "comanda alias" aplicație vă spune să adăugați "X la profilul dvs.".

Aliasurile prezentate în acest articol vor accelera fluxul de lucru.

Prin acest articol, intenția mea este de a acoperi elementele de bază ale acestor acțiuni magice aparent și de a vă aduce în lumea minunată de pseudonime. În timp ce setarea alias-uri în modul descris în acest articol va fi de neprețuit pentru dezvoltatorii de software, utilizatorii ocazionali vor găsi cu ușurință o utilizare pentru ei prea.

Ce sunt aliasurile?

Aliasurile sunt comenzi rapide la comenzi. De exemplu (și unul simplu mort la asta), dacă folosiți Terminal pentru a face ceva, cum ar fi intrarea în folderul / Users / [username] / Sites / folder, probabil că utilizați

$ cd / Utilizatori / [username] / Site-uri

sau

$ cd ~ / Site-uri

Odată ajuns acolo, probabil că trebuie să introduceți un anumit proiect, (de exemplu, "myProject") și faceți acest lucru tastând

$ cd myProject

În timp ce tastați totul într-o singură comandă, cum ar fi:

$ cd ~ / Site-uri / myProject

nu consumă prea mult timp, poate deveni plictisitor, mai ales în dosare adânc imbricate sau dacă trebuie să schimbați folderele adesea.

Cu pseudonime, poți să o faci mai repede.

Aliasurile vă ajută să scurtați comenzile sau lanțurile de comandă lungi.

Încercați să deschideți terminalul (accesând Aplicații -> Utilitare -> Terminal) și tastând

$ alias goto_web = "cd ~ / Site-uri"

Asigurați-vă că un dosar numit Site-uri există în dosarul dvs. de acasă și creați un folder myProject în interiorul acestuia. Apoi, executați următoarea comandă în terminal:

$ alias goto_myP = "goto_web; cd myProject"

Acum tastați "goto_myP" și urmăriți magia să se întâmple atunci când apăsați Enter. A intrat automat în ~ / Sites / myProject, indiferent de locul în care erați atunci când l-ați scris. Avantajele sunt duble:

  1. Puteți tasta goto_ și apăsați tasta TAB pentru a obține o listă a posibilelor pseudonimuri pe care le-ați definit până acum.
  2. Dacă dosarul rădăcină al proiectelor Web se modifică vreodată (de ex. Site-uri către MySites), tot ce trebuie să faceți este să schimbați principalul alias goto_web, iar modificările să fie în cascadă tuturor celorlalți care îl folosesc.

Setarea aliaselor manual

Probleme in paradis

Există însă o problemă. De îndată ce ieșim, pseudonimele pe care le-am definit în acest fel au dispărut. Nu sunt salvate nicăieri și nu li sa spus să se instaleze din nou după ce ne-am conectat. Deci, cum să rezolvăm această problemă? Fișierul .profile.

De îndată ce utilizatorul se deconectează, aliasurile definite de terminale dispar.

Să începem cu elementele de bază.

Ce este .profile?

Dacă numele unui fișier începe cu "." (punct), acel fișier este ascuns

"". " (punct) în fața anumitor nume de fișiere înseamnă că fișierul este "ascuns". Această notație este de obicei acolo pentru fișierele de sistem care nu ar trebui să fie vizibile în mod implicit și ar fi fie în cale doar prin a fi enervante sau de a fi volatile în măsura în care schimbarea lor ar putea afecta sistemul într-un mod nedorit.

Fișierele .DS_Store, de exemplu, aparțin categoriei "enervante" și sunt create de aplicația "Finder" în fiecare folder pe care îl deschideți cu ea. Dacă traversați foldere prin terminal utilizând "cd folderName", fișierele .DS_Store nu vor fi create. Cu toate acestea, Finder stochează unele informații în ele, care îi permit să urmărească sistemul de fișiere și să îmbunătățească navigarea și căutarea.

Pe o notă asemănătoare, fișierul .profile menționat mai sus este un fișier ascuns. Este un fișier opțional care spune sistemului care comenzi rulează atunci când utilizatorul al cărui fișier de profil se înregistrează. De exemplu, dacă numele meu de utilizator este bruno și există un fișier .profile în / Users / bruno /, tot conținutul acestuia vor fi executate în timpul procedurii de logare.

Puteți vedea unde mergem cu asta, nu-i așa? Vom folosi fișierul .profile pentru a salva comenzile aliasului de mai sus, pentru a le executa la fiecare conectare, astfel încât aceste pseudonime să devină persistente.

Conținutul unui fișier .profile se execută la fiecare conectare a proprietarului fișierului

Care este, în consecință, ".bash_profile"? Este exact același lucru, dar sub un alt nume. Unix shell-ul în care vă conectați, în acest caz OS X, caută etc / profil și îl încarcă dacă există. Apoi, ea caută ~ / .bash_profile, ~ / .bash_login și în cele din urmă ~ / .profile și încarcă primul dintre acestea pe care le găsește.

Folosesc .profile, dar dacă preferați sau aveți oricare dintre celelalte, simțiți-vă liber să le redenumiți / îmbinați-le într-una, să faceți ce vreți cu ele. Sintaxa lor este identică - trebuie doar să rețineți că doar unul este încărcat și sistemul de operare îl caută în ordinea menționată mai sus. Mai multe informații despre aceste fișiere pot fi găsite aici.

Găsirea .profile

Dar dacă este ascuns, cum o vedem? Cum putem edita un fișier pe care nu ar trebui să-l vedem? Cum ar spune marele comandant Hannibal - "fie vom găsi un fișier [.profile], fie vom face unul". Ok, a spus "fel", dar esența este aceeași. Acestea sunt cele două moduri cele mai frecvente de a afișa fișierele ascunse:

Primul este să le facă vizibile, dar încă ascunse. Acest mod nu este recomandat utilizatorilor ocazionali. Introduceți următoarea comandă în Terminal:

defaults scrie com.apple.finder AppleShowAllFiles TRUE

Urmați acest lucru cu o repornire Finder:

$ killall Finder

Acest lucru i-a spus lui Finder să înceteze să ignore fișiere ascunse în dosarele pe care le deschide și apoi la forțat să repornească și să recunoască noile setări. Dacă deschideți vreun dosar în Finder acum, ar trebui să aveți un fișier .DS_Store în interiorul acestuia și poate chiar și alte foldere și fișiere ascunse, cum ar fi în dosarul meu de acasă de mai jos.


După ce faci metoda prima, vei putea să vezi fișiere și foldere ascunse în Finder

A doua metodă este să căutați numai fișierele de care aveți nevoie, prin Terminal. Porniți terminalul și mergeți la dosarul dvs. de domiciliu tastând următoarele:

$ cd ~ /

Bacsis: Puteți, de asemenea, să mergeți la dosarul dvs. de domiciliu doar prin tastarea cd-ului și urmărirea acestuia cu un caracter spațiu.

Odată ajuns acolo, tastați:

$ ls -a

Aceasta afișează (ls) conținutul dosarului în care vă aflați și -A parametrul pe care l-am adăugat îi spune să afișeze fișierele "toate" - inclusiv cele ascunse.


Folosind metoda a doua, fișierele și folderele ascunse vor fi dezvăluite în Terminal

Utilizați oricare din cele două metode de mai sus pentru a afla care fișiere ascunse conține dosarul dvs. de domiciliu și asigurați-vă că există un fișier .profile sau .bash_profile. Dacă oricare dintre ele există, grozav. Dacă acestea nu sunt prezente, creați fișierul .profile utilizând Terminalul, după cum urmează:

$ touch ~ / .profile

Într-un fel sau altul, suntem siguri că fișierul .profile există. Acum, să adăugăm câteva comenzi!

Populația fișierului .profile

Mai întâi trebuie să deschideți fișierul pentru editare. Deoarece este mai ușor să editați un fișier într-o aplicație de editare a textului cu o interfață grafică reală, nu vom fi editate prin terminal, ci prin TextEdit. Introduceți următoarele:

$ open -e ~ / .profile

Sau faceți dublu clic pe fișier dacă ați utilizat metoda 1 pentru afișarea fișierelor ascunse și alegeți TextEdit din fereastra Selecție aplicație. Comanda "open" deschide orice fișier utilizând aplicația implicită dacă poate să-și dea seama ce înseamnă -e îi spune să utilizeze editorul de text implicit pentru sistemul de operare curent, iar partea finală este fișierul pe care dorim să-l deschidem.

Odată ce fișierul este deschis, putem adăuga următoarele linii:

 alias goto_web = "cd ~ / Site-uri" alias goto_myP = "goto_web; cd myProject" alias reload_profile = ". ~ / .profile"

Acum salvați și renunțați. Primele două pseudonime au fost deja explicate mai sus. În ceea ce privește a treia - dacă ați schimba vreodată sesiunea intermediară a fișierului .profile, așa cum am făcut-o, trebuie să fie reîncărcată pentru a intra în vigoare.

În mod normal, ați face acest lucru manual tastând

$ source ~ / .profile

sau doar

$. ~ / .Profile

Dar am putea să ne facem mai ușor viața chiar de pe lilieci și să definim un alias și pentru asta. Cu toate acestea, nu putem folosi tocmai pentru că fișierul .profile nu a fost încărcat de fapt, pentru a împiedica acest lucru să ne prindă creierul, să execute una din comenzile de mai sus (reîncărcare manuală).

Dacă schimbați vreodată sesiunea de mijloc a fișierului .profile, trebuie să fie reîncărcat pentru a intra în vigoare.

După ce ați terminat, dați-i drumul. Introduceți "goto_web" și vedeți dacă funcționează. După ce reporniți sau deconectați-vă și conectați-vă din nou, aliasul ar trebui să fie în continuare în viață și ar trebui să funcționeze în continuare. Alianța "reload_profile" va funcționa și acum.

Cam despre asta e! Acum puteți adăuga propriile pseudonime. Nu te simti limitat doar la alias-urile care au ajuns (note: de fapt, ei nu trebuie sa se numeste goto_ *, le numesc doar pentru grupuri), sa te joci si sa experimentezi comenzile terminale preferate. Iată o parte a fișierului meu cu comentarii inline pentru confortul dvs.:


 # Vezi http://www.shellperson.net/using-sudo-with-an-alias/ alias sudo = "sudo" # Acest lucru mă ajută să editez fișierele pe care utilizatorul meu nu le are proprietarul aliasului edit = "SUDO_EDITOR =" open -FWne "sudo -e" # Aliasul care mă duce aici - la editarea acestor aliasuri foarte alias edit_profile = "open -e ~ / .profile" # Fac o mulțime de dezvoltare web, așa că trebuie să editez aceste non- fișierele deținute destul de des alias edit_hosts = "edita / etc / hosts" alias edit_httpd = "edita /etc/apache2/httpd.conf" alias edit_php = "edita /etc/php.ini" alias edit_vhosts = "edita / etc / apache2 / extra / httpd-vhosts.conf "# Câteva dintre comenzile mele, inclusiv una pentru a deschide folderul extensiei php atunci când trebuie să instalez extensii personalizate alias goto_mw =" goto_web; cd mindworks "alias goto_web =" cd ~ / Sites " goto_phpext = "sudo open / usr / lib / php / extensions / no-debug-non-zts-20100525" # Acest alias distruge recursiv toate fișierele .DS_Store în folderul în care sunt în prezent alias killDS = "find -name *. DS_Store -type f -delete "# Un alias pentru a porni MySQL insta lila în loc de implicit un alias mysql = "/ usr / local / mysql-5.5.25-osx10.6-x86_64 / bin / mysql -u rădăcină" # Acest alias reîncarcă acest fișier alias reload_profile = ". ~ / .profile "# Mac-ul se blochează foarte des și este extrem de lent și instabil la opriri, ceea ce forțează o oprire alias poweroff =" sudo / sbin / shutdown -h acum "# Setarea noului terminal terminal UTF-8 în Lion / Mountain Lion export LC_CTYPE = en_US.UTF-8 export LC_ALL = ro_US.UTF-8 # adaugă toate aceste căi la variabila PATH.Goldonul (:) este separatorul de cale.Și când trebuie să "adăugați ceva în calea" ar trebui să adăugați calea spre fișierul executabil pe această listă de căi, separate de un colon.export PATH = "/ usr / local / bin: / usr / local / sbin: / usr / bin: / bin: usr / sbin: / sbin: / usr / X11 / bin“

Concluzie

Indiferent dacă utilizarea Terminalului este obișnuită sau greoaie, fișierul .profile vă poate face viața mai infinit mai ușoară. Având cele mai utilizate comenzi într-un singur loc în care nu le puteți vedea ori de câte ori uitați unele dintre ele, dar și le încărcați automat în fiecare log-in, puteți rade cu ușurință orele dintr-o săptămână de lucru.

Ce este mai bun, majoritatea comenzilor sunt compatibile * nix, deci nu numai că puteți lua fișierul cu tine la o altă mașină OS X, de asemenea, puteți să o includeți în mașinile Linux dacă le folosiți. Cu fișierul .profile, actualizarea vitezei fluxului de lucru este inclusă într-un singur fișier pe care îl puteți lua cu ușurință împreună cu dvs..

Redați-l cu el, alcătuiți mai multe pseudonime care ar putea fi utile (cum ar fi arătarea / ascunderea fișierelor ascunse cu o singură comandă - vă voi lăsa să vă dați seama că unul singur) și dați-vă viteza fluxului de lucru la un nivel în sus.