Mac OS X începutul lucrării în terminal, sfaturi iPhone, iPad de la

Mac OS X începutul lucrării în terminal, sfaturi iPhone, iPad de la

În utilizator standard OS X se confruntă cu greu necesitatea de a utiliza linia de comandă, deoarece majoritatea nevoilor sale acoperite de acest sistem este implementat într-o interfață grafică.







Un alt lucru, atunci când aveți nevoie de unele caracteristici ascunse, care nu sunt disponibile de la GUI. De fapt, în această secțiune, vom recurge adesea la extragerea acestor caracteristici ascunse folosind linia de comandă. De aceea, am decis să vorbesc un pic despre programul terminalului și linia de comandă, precum și a da câteva sfaturi pentru incepatori, care le vor permite să se simtă mai confortabil în ea.

scurtă introducere

Să începem cu întrebarea, ce este terminalul. În primul rând, această aplicație, care se face în interiorul învelișului. De asemenea, este adesea menționată ca o interfață de linie de comandă. El interpretează comenzile limbaj special de scripting.

Explicarea script cuvânt

Corect „script“ ar trebui să fie numit script-ul. deoarece este una dintre semnificațiile de cuvinte în limba engleză - sript. Da, și, de fapt, „script“ este un script. Dar termenul „script“ o prezumție foarte puternică între programatori, dar pentru că sunt un pic rupt regulile limbii române și vor chema numele lui - scenariul. Cu atât mai mult cu cât cuvântul „script“ este împrumutat de limba română și nu este nativ.

limbaje de scripting sunt diferite, dar sunt cele mai comune set de limbi și, în consecință, interpreții lor.

OS X. În bash-ul implicit shell. Este o versiune îmbunătățită a interpretului Bourne shell. care este de obicei, denumit shell simplu. Și este, de asemenea, prezent în sistemul nostru ca un fișier / bin / sh. Adevărul nu este în uz.

În prezent, bash - de fapt, standardul de facto în majoritatea sistemelor Unix -like.

Este, de asemenea, destul de popular zsh coajă. care, la rândul său, este o îmbunătățire bash (și el este în sistemul nostru), dar standardul de facto, el nu a făcut-o. Poate că nu a fost încă. Există încă un număr de scoici, care nu au primit o astfel de răspândire mare cum ar fi bash.

Găsiți informații despre toți acești interpreți este ușor de „Wikipedia“.

linia de comandă

Când executați programul Terminal. atunci puteți vedea în linia de fereastra de comandă, care este în sistemul meu arata ca acest lucru:

Mac OS X începutul lucrării în terminal, sfaturi iPhone, iPad de la

Linia de comandă începe cu numele computerului (am numit-iMac), urmat de numele directorului curent - implicit se deschide directorul home al utilizatorului, care este indicat printr-un Unix -sisteme

(Tilda). Aceasta este urmată de numele de utilizator (în cazul meu - Gosha), urmat de semnul $. care se numește o invitație - o invitație de a intra interpret de comandă.

Vezi linia de comandă și invitații pot fi personalizate, iar cea minimă, deoarece va fi doar $ semn. Acesta a fost după semnul $, și sunt introduse toate comenzile shell. Acest loc reprezintă cursorul - un dreptunghi intermitent (aspectul său este, de asemenea, configurabil).

Notă. în bara de titlu a Terminalului puteți vedea directorul curent (în acest caz, directorul de acasă, dar pentru că este desemnat casa), apoi numele de utilizator, apoi numele utilizat de către interpret (în acest caz - bash) și dimensiunea ferestrei cu caractere.

bash limbaj de scripting

Shell bash. așa cum am scris mai sus, interpretează comenzile speciale limbaj de scripting. limbaj de scripting destul de simplu limbaj de programare, care, ca orice limbaj de programare, concepute pentru a transmite comenzi și date de la o persoană la un computer.

Cea mai simplă comandă a acestei limbi este de a rula programul - acesta este doar numele fișierului de program și, dacă este necesar, și calea completă la dosar, precum și, eventual, urmat de numele fișierului cheie și parametrii care dau instrucțiuni diferite executate de program .







Aici este un exemplu. Vrei să vezi conținutul directorul curent (atunci când porniți Terminal. Implicit, acest lucru va fi directorul home). Pentru a face acest lucru, sistemul are un program stocat într-un fișier ls. Lansarea sa în interpret de comandă este în numele fișierului de intrare a programului și apăsând pe Enter:

Mac OS X începutul lucrării în terminal, sfaturi iPhone, iPad de la

O clarificare mică, dar importantă

De fapt, acest fișier este în directorul / bin și fișierul complet este denumit / bin / ls. Dar interpretul are un mecanism special de a nu intra pe calea completă la unele fișiere de program. Acest instrument - o variabilă de mediu numit PATH (cale), și conține o listă de directoare. Interpret, a primit ca un nume de fișier de comandă ia dat nici un fel, doar în căutarea pentru fișierul în directoarele listate în variabila de mediu PATH. Dacă va fi găsit, atunci se execută în cazul în care nu a fost găsit, mesajul - Fișierul nu a fost găsit.

Vizualizați conținutul comenzii PATH, puteți:

În mod natural această variabilă poate fi ajustat, dar unele au nevoie specială pentru acest lucru de la un utilizator obișnuit nu este acolo, așa că voi sări peste această întrebare.

Ei bine, acum trecem la sfaturile actuale.

Sfat 1 - autocompletare

Când se folosește linia de comandă au de multe ori pentru a introduce un nume de fișier - aceasta este, de obicei, o varietate de comenzi de fișiere și fișiere de intrare sau directoare, a trecut ca parametru la comanda pe care doriți să tastați cu calea completă pentru a le. Și pentru a nu face o greșeală atunci când introduceți text în bash are un mecanism numit autocompletare.

Notă. în viitor, pentru comoditate, mă voi referi la numele fișierului echipei doar prin rularea. Este o practică comună.

Ideea acestui mecanism este că atunci când începeți să introduceți o comandă, tastați primele câteva litere și apăsați tasta Tab. rezultând într-un set de comenzi care urmează să fie completate automat. Acest lucru funcționează, de asemenea, atunci când tastați calea și numele de fișier, comenzi transmise ca parametri.

Mac OS X începutul lucrării în terminal, sfaturi iPhone, iPad de la

După cum se poate observa în imagine, există șase echipe ale căror nume încep cu discul. ci pentru că interpretul este solicitat să clarifice următoarea literă. În acest caz, trebuie să introduceți litera u. pentru a se asigura că interpretul a fost capabil să înțeleagă ceea ce avem nevoie este diskutil echipa. deoarece aceasta este singura comanda care incepe cu literele disku și apoi apăsați tasta Tab. Echipa va fi complet neterminat.

Încercați să introduceți numai literele di și apăsați tasta Tab de două ori. Echipe, începând cu cele două litere vor fi mai mult. Dar, în cazul în care sistemul a fost doar o singură echipă care începe cu literele di. după apăsarea mai întâi tasta Tab. ar fi complet neterminat, pentru că interpretul nu ar fi trebuit să aleagă din diferite opțiuni.

În mod similar, acest lucru se aplică atunci când formarea de director și numele fișierelor transmise ca parametrii la comenzi.

Exemplu. Să presupunem că vrem să vedem conținutul directorul Descărcări utilizând comanda ls.

Și doar o mică digresiune.

De fapt, un director numit Descărcări. în directorul de acasă acolo. Acesta este Finder. așa că vă arată numele folderului Descărcări. Aceasta este de fapt se traduce în cuvinte românești Descărcări. Acest lucru se face pentru comoditatea utilizatorilor.

Puteți verifica acest lucru uitandu-te la partea de sus a doua captură de ecran, în cazul în care avem comanda afișează ls conținutul de directorul acasă. După cum puteți vedea, nu există nici un director numit Descărcări. dar există un catalog Descărcări. Doar ca nu vei vedea un director numit biblioteci. Documente. Imagine. Muzică. General. Site-uri și filme. care vă arată Finder ca o traducere din engleză în nume de directoare din România: Biblioteca. Documente. Imagini. Muzică. Public. Site-uri și filme, respectiv.

Și încă o digresiune.

De fapt, în Unix -sisteme în acest caz nu introduce ls Descărcări. și ls ./Downloads. Prin aceasta indicând faptul că catalog Descărcări în directorul curent. Punctul - indicarea directorului curent. Dar, în punerea în aplicare a bash în OS X. făcut prea puțin indulgenta și utilizatorii din directorul curent, puteți omite ./, ca și în cazul în PATH stabilit directorul curent, atunci când, de fapt, nu este acolo. Puteți verifica acest lucru rulând comanda echo $ PATH. De ce a fost făcut acest lucru pentru mine este un mister, dar aceasta este realitatea OS X. Desigur, puteți recruta și pentru Unix-canonic sisteme - ./Downloads.

Sfat # 2 - Istoricul echipei

Acesta este un alt mecanism pentru a facilita munca de pe linia de comandă. Faptul că bash va aminti toate comenzile pe care le-ați efectuat. Acesta își păstrează întreaga istorie de comenzi într-un fișier ascuns în directorul dvs. acasă cu numele .bash_history. Pentru a vedea acest fișier, puteți utiliza comanda ls cu -la cheie. și anume ls -la. Încearcă.

Utilizați istoricul de comanda este foarte simplu - utilizați tastele săgeată - săgeată sus și în jos. Faceți clic pe prima, și veți vedea linia de comandă care precede comanda. prese ulterioare ale tastei vor afișa succesiv comenzile executate anterior tine. Prin urmare, a doua listă de comenzi cheie leafs executate în sens invers.

De asemenea, dacă introduceți comanda cu o eroare și a încercat să-l efectueze, apoi, după ce a primit mesajul de eroare, este mult mai ușor să nu intre din nou comanda si a corecta eroarea în cel anterior, numindu-l apăsând tasta săgeată sus. și apoi a face corecturi.

Să sperăm că, această scurtă introducere la elementele de bază de linie de comandă mondială, nu sunt prea obosit. 🙂

Igor. Bine, de obicei începe cu o examinare a oricărui sistem Unix, fără un mediu grafic, și cu atât mai mult este nevoie de consola mai ales pentru dezvoltatori și administratori de sisteme diferite, în scopuri de zi cu zi în Mac OS are o interfață grafică foarte înaltă calitate. Nevoile mele sunt limitate la consola doar SSH, unele compilatoare, și chiar și un cuplu de programe pentru a transcodifica audio la diferite standarde compatibile cu PBX.