Cursul 6 - Interfata în linia de comanda

Documente similare
Cursul 10 - Shell scripting

Cursul 10 - Shell scripting

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Biomedical Wi-Fi data transmissons

Slide 1

Microsoft PowerPoint - 11_USO_curs_08.ppt [Compatibility Mode]

Laborator 5 - Paradigme de Programare

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIŞA DISCIPLINEI (CO

PowerPoint Presentation

Laborator - Configurarea Rutelor IPv4 Statice și Implicite Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gate

Laborator02

Limbaje de Programare Curs 8 – Fisiere

Laborator - Configurarea de bază DHCPv4 pe un router Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gateway Ob

2

Concepte de bază ale Tehnologiei Informației

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut

INFORMATICĂ ŞI MARKETING

Lucrarea 10

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Slide 1

Informație și comunicare

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Programarea şi utilizarea calculatoarelor

Curs de formare Informatică și TIC pentru clasa a V-a Portofoliu pentru evaluarea finală Tema: ELEMENTE DE INTERFAŢĂ ALE UNUI SISTEM DE OPERARE (DESKT

COLEGIUL TEHNIC „VICTOR UNGUREANU” CAMPIA TURZII

Cursul 1 - Introducere în sisteme de operare

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Microsoft Word - cap2.2.UNIX-NOS.doc

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Inserarea culorilor in tabele

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

Microsoft Word - Politică de cookie-uri OK_v1.docx

Microsoft Word - PDS_proiect5_2019

Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE

AdVision este un software de narrowcasting, destinat tuturor celor care administrează conţinut pe o reţea de monitoare. Fie că este vo

Termeni de utilizare specifici produselor

Ch

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 6. Vizualizarea statisticilor prin int

INTREBARI FRECVENTE SI MANUAL DE UTILIZARE hub.sendsms.ro

Laborator Depanarea Rutării Inter-VLAN Topologie 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. Page 1 of 8

Gestionarea I/E

A.E.F. - suport laborator nr.5 sem.ii Analiza suprafețelor prin utilizarea elementelor 2D În acest laborator sunt atinse următoarele aspecte: realizar

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I

HONEYWELL AWARD

1. Depistarea setarilor de retea necesare Primul pas pentru introducerea in retea a DVR-ului este determinarea setarilor de retea cu care lucreaza ret

Example Title with Registration Microsoft® and Trademark SQL ServerTM

Curs 10 - Automatizarea scalabila a sistemelor

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

A.E.F. - suport laborator nr.10 sem.ii Analiza stării de contact între elemente 3D În acest laborator sunt atinse următoarele aspecte: analiza contact

Managementul Resurselor Umane

Settlement participant system

Microsoft Word - Ansamblul software CRONIS

PHP (II)

Manual de utilizare Room Booking System

Microsoft Word Sony_Ericsson_RO.doc

PowerPoint Presentation

DCS-2330L_A1_QIG_v1.00(EU).indd

Metode avansate de gestiune a documentelor și a sistemelor de calcul - curs 1 -

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Laborator - Depanarea configurării și plasării ACL-ului. Topologie 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Publi

Microsoft Word - CarteC.doc

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

Microsoft Word - O problema cu bits.doc

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Dunărea de Jos Galați 1.2 Facultatea Economie și Administr

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Microsoft Visual C++ (abreviat MSVC) is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default


Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de


Microsoft Word - lab1_2007.doc

Comanda si supravegherea centralelor termice de putere

Laborator - Configurarea Setărilor de Bază ale Router-ului cu CCP Topologie Tabela de Adresare Echipament Interfață Adresă IP Masca de subreţea Defaul

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

QUICK START GUIDE

Proiectarea Sistemelor Software Complexe


Prezentarea calculatorului

Microsoft Word - MI_05_009_Prescriere_1.doc

CASA CORPULUI DIDACTIC BRAILA PROGRAM DE FORMARE INFORMATICA SI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: TIMOFTI V. AFRODITA COLEGIUL

Microsoft Word - Catalin Vrabie_Elemente de IT paginat VOL. II.doc

Addendum Syllabus 6 Microsoft Excel 2010 REF Syllabus 6.0 Crearea unui nou registru de calcul pe baza unor șabloane disponibile local sau online

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Ghidul pentru utilizator

Ghid de Referință Explicații sumare ale operațiunilor de rutină HL-L2312D HL-L2357DW HL-L2352DW HL-L2372DN HL-L2375DW Brother recomandă să păstrați ac

Lecții de pregă,re la informa,că Admitere 2019 Tema: Discutarea problemelor date la ul,mele sesiuni de admitere Bogdan Alexe

Proiect didactic

Raportarea serviciilor de dializă la nivel CJAS

Laborator - Proiectarea și Implementarea Adresării cu VLSM Topologie Obiective Partea 1: Examinați Cerințele Rețelei Partea 2: Proiectați Schema Adres

Aggregating Data

Addendum Syllabus 6 Microsoft PowerPoint 2016 REF Syllabus 6.0 Crearea unei noi prezentări pe baza unor șabloane disponibile local sau online Mi

A.E.F. - suport laborator nr.7 sem.ii Utilizarea rețelelor de tip 1D & 2D În acest laborator sunt atinse următoarele aspecte: conectarea unui element

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

Microsoft Word - Excel_3.DOC

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Transcriere:

Cursul 6 Interfața în linia de comandă Utilizarea Sistemelor de Operare (USO) 11 noiembrie 2016 Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 1/53 Moto It was a mistake to think that GUIs ever would, could, or even should, eliminate CLIs. Jeffrey Snover (Architect of Windows PowerShell) Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 2/53 Sistem de fișiere, utilizatori, procese proces program name utilizator username ier lename utilizator kernel uid uid uid pid inode Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 3/53 Prehistoric File System http://crazyhyena.com/funny-file-system-is-the-prehistoric-google_en Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 4/53

Suport de curs Suport (Introducere în sisteme de operare) Capitolul 12 Shell scripting Secțiunile 12.1, 12.2, 12.6, 12.7 Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 5/53 Fie următoarele scenarii de utilizare/deziderate folosire eficientă a sistemului competențe de folosire a unui sistem, indiferent de sistemul de operare/distribuție administrare de sisteme de la distanță administrare a unei rețele complexe, cu echipamente de rețea dedicate proiectarea de piese în AutoCAD prelucrări numerice și statistice (Matlab, Octave, R) Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 7/53 CLI: Command Line Interface Soluția este CLI. De ce? oferă opțiuni de a rula rapid comenzi (combinații de taste, istoric de comenzi, completare automată) se pot înlănțui comenzi pentru a obține funcționalități noi se pot automatiza rapid acțiuni folosind scripting (shell scripting este compus din comenzi shell) majoritatea comenzilor sunt independente de distribuție, funcționează la fel pe Unix-uri (Linux, Mac OS X, FreeBSD, Android) flexbilitate maximă: o opțiune nouă în linia de comandă pentru o funcționlitate nouă foarte multe aplicații oferă interfață în linia de comandă unele aplicații oferă doar interfață în linia de comandă pentru administrare de la distanță: servere, echipamente dedicate Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 8/53 Unde folosim CLI? shell-ul unui sistem de operare, fie local, fie la distanță aplicații dedicate: Matlab, R, Python, AutoCAD console de jocuri echipamente de rețea dedicate Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 9/53

Interfața cu utilizatorul interacțiunea utilizatorului cu aplicațiile și cu sistemul de operare ascunde detaliile sistemului de operare interacțiunea cu sistemul de calcul Human Machine Interface GUI Graphical User Interface WIMP (window, icon, menu, pointing device) touchscreen CLI Command Line Interface execuția de comenzi pentru îndeplinirea sarcinilor Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 11/53 De ce GUI? eye-candy ușor de folosit, intuitivă ascunderea complexității personalizabilă (customizable) Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 12/53 De ce CLI? consecventă, arată peste tot la fel eficientă ușor de adăugat o opțiune nouă un argument față de un buton nou automatizarea sarcinilor resurse consumate reduse Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 13/53 Cazuri de utilizare GUI și CLI GUI multimedia grafică 3D jocuri Internet browsing CLI administrare sistem: utilizatori, sistem de fișiere, rețea, procese scripting/automatizare, eficientizare aplicații și dispozitive dedicate în general vom folosi ambele tipuri de interfețe, depinzând de nevoie Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 14/53

consola GRUB (bootloader) consola Python Exemple de CLI consola de configurare de echipamente de rețea (Cisco IOS, Juniper JunOS) consola Matlab, AutoCAD, R consolă de jocuri (FPS) Consola Python user@host$ python Python 2.7.8 (default, Oct 7 2014, 17:59:21) [GCC 4.9.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 4**9 262144 >>> hex(157) 0x9d >>> 0x9d 157 Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 16/53 Cum arată o interfață în linia de comandă? prompt poate fi un caracter precum $, %, #, > la prompt se introduc comenzi comenzile sunt șiruri de caractere numele comenzii oferă intuiție legat de ce face comanda comenzile pot avea argumente (opțiuni pentru comandă) argumentele se separă prin spații Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 17/53 Funcționare linie de comandă depinzând de linia de comanda, este posibil un pas de autentificare se introduce comanda și argumentele se apasă ENTER interpretorul de comenzi analizează comanda și execută o acțiune interpretorul de comenzi face acțiunea dictată de comandă Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 18/53 Facilități CLI command completion ajutor, documentare istoric de comenzi scurtături de taste pentru editare rapidă de comenzi: șterge cuvânt, mergi la început de comandă etc. Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 19/53

Shell aplicație care permite accesul la resursele sistemului de operare poate fi grafic (GUI) sau în linia de comandă (CLI) în Windows shell-ul este Explorer (GUI) în Unix shell GUI: X Window System + KDE/GNOME/Xfce/Awesome/Fluxbox shell-uri CLI: bash, tcsh, zsh, dash în general un shell este un caz particular de CLI Cum putem rula o sesiune de shell în Linux? terminal virtual (ALT+CTRL+F1...F6) emulator de terminal (konsole, gnome-terminal, xterm etc.) conexiune de la distanță terminalul este (pseudo)dispozitivul în care rulează shell-ul în continuare, shell = shell CLI Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 21/53 Terminal vs. shell terminal = dispozitiv shell = proces terminal cadru, interfață pentru rularea unui shell fizic (tastatură, monitor) virtual (ALT+CTRL+F1... F6) tty0, tty1,..., tty6 emulator de terminal pts/0, pts/1,... folosit pentru intrarea/ieșirea standard (stdin/stdout) a unui proces daemonii nu au acces la nici un terminal (nu au intrare/ieșire standard) shell permite rularea de comenzi prompt, comenzi, operatori shell bash, zsh, tcsh Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 22/53 Structura unui sistem de calcul Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 23/53 Comenzi și argumente Promptul unui shell ana@host:~$ whoami ana comenzile pot avea argumente (opțiuni pentru comandă) argumentele se separă prin spații Keep it simple! nume simple, uneori neintuitive: cp, rm, ls, vi, ps Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 24/53

Documentarea în shell command --help: opțiuni și argumente ale comenzii whatis command: ce face comanda apropos concept: comenzi care au legătură cu acel concept man command: pagina de manual a comenzii q pentru ieșire / pentru căutare înainte,? pentru căutare înapoi n: next match, N: previous match Google (,,tutorial,,,faq,,,how to,,,example,,,usage ) Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 25/53 Funcționarea unui shell se introduce o comandă (ls) shell-ul identifică executabilul asociat (/bin/ls) este creat un nou process shell (/bin/bash) (fork) procesul creat se,,transformă conform cu noul executabil intrarea standard este controlată de noul proces după execuția comenzii, procesul se încheie și controlul revine shell-ului Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 26/53 Facilități shell command completion folosirea tastei TAB sau a apăsării de două ori TAB TAB completarea comenzii și a argumentelor acesteia istoricul comenzilor history: vizualizarea istoriei Ctrl+p (sau tastă sus), Ctrl+n (sau tastă jos): anterioara și următoarea comandă Ctrl+r: reverse search, căutare înapoi biblioteca readline (libreadline) keyboard shortcuts (eficiență în utilizare) documentare: man bash și căutare după Commands for Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 28/53 Extinderea comenzilor shell Redirectarea intrării/ieșirii: >, < ana@host:~$ seq 1 100 > out.txt ana@host:~$ wc -l < out.txt 100 Comunicarea între procese: ana@host:~$ svn log less Rularea unui proces în background: & ana@host:~$ du -hs & [1] 15766 ana@host:~$ jobs [1]+ Running du -hs & Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 29/53

Extinderea comenzilor shell (cont.) Secvențierea comenzilor: ; root@asgard:~# apt-get update ; apt-get upgrade ; apt-get dist-upgrade Secvențierea condițională: &&, ana@host:~$ id ana &> /dev/null && echo "da" echo "nu" da ana@host:~$ id atilla &> /dev/null && echo "da" echo "nu" nu Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 30/53 Comenzi utile în shell-ul Unix head, tail: afișează doar primele/ultimele linii din fișier wc: numără liniile din fișier grep: extrage liniile care conțin o anumită expresie tr: transformă caractere în alte caractere cut: extrage doar anumite coloane sort: sortează liniile primite la intrare uniq: unicizează liniile de la intrare (elimină duplicatele); intrările trebuie să fie sortate seq: generează numere între anumite intervale Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 31/53 Redirectare și comunicarea între procese în cazul redirectării, operatorii sunt > (redirectarea ieșirii standard), < (redictarea intrării standard) și 2 > (redirectarea ieșirii de eroare standard) la redirectare forma este command operator file spunem că redirectăm într-un/dintr-un fișier în cazul comunicării între procese forma este command1 command2 spunem că redirectăm ieșirea standard a comenzii command1 în intrarea standard a comenzii command2 Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 32/53 Ce efect are comanda de mai jos? ana@host:~$ < /dev/urandom tr -d -c A-Za-z0-9 head -c 8 ; echo /dev/urandom generator de caractere aleatoare < /dev/urandom redictează intrarea standard din fișierul /dev/urandom tr transliterate (comandă shell de tip filtru de text) -d delete (șterge) -c complement (set complementar) -c A-Za-z0-9 orice nu este literă sau cifră șterge orice nu este literă sau cifră dintr-un șir infinit generat aleator head extrage primele elemente -c 8 opt caractere extrage primele 8 caractere extrage primele 8 caractere tipăribile (literă sau cifră) dintr-un șir generat aleator; la final afișează un caracter newline Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 33/53

One liner o înlănțuire de mai multe comenzi shell încape pe o singură linie în shell oferă o nouă funcționalitate folosește operatori de redirectare și de secvențiere quick n dirty: scriem comenzi înlănțuite și le rulăm pentru funcționalități avansate e recomandată scrierea de scripturi shell Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 34/53 Caractere speciale shell operatori redirectare: >, <, &>, >>, << secvențiere, înlănțuire: ;,, &&,, & expandare: $ comentare: # citare (escaping):, ", \ separare: blank (spațiu) globbing:?, *, [, ], {, } Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 35/53 Facilități avansate reținerea anumitor valori/informații (în variabile) afișarea caracterelor speciale operații pe mai multe intrări dintr-o dată Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 37/53 Variabile shell Inițializare variabile în shell ana@host:~$ a=10 ana@host:~$ b=ana ana@host:~$ c="ana are mere" ana@host:~$ d="$b $a" ana@host:~$ echo $a, $b, $c, $d 10, ana, ana are mere, ana 10 nu se folosește spațiu înainte și după egal la inițializare s-ar considera comandă cu argumente folosirea valorii unei variabile se realizează prin prefixarea cu simbolul $ (dollar) variabilele shell nu au tip (întreg, șir, pointer) Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 38/53

Variabile speciale shell documentație: man bash, și căutare după Special Parameters $? valoarea de retur a ultimei comenzi $$ PID-ul procesului shell curent $! PID-ul ultimului proces (job) lansat în background $_ ultimul argument al ultimei comenzi Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 39/53 Variabile de mediu definesc contextul de rulare a unui proces sunt moștenite de procesele copil exemple: PATH, HOME, PWD, USERNAME, SHELL operații specifice cu variabile de mediu listare: env, printenv configurare variabilă ca variabilă de mediu (exportare) export JAVA_HOME export JAVA_HOME=/home/student/sun-java-jdk7 # init and export persistența configurării (startup configuration) în fișierul /.bashrc Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 40/53 Citare (escaping) Exemple de escaping ana@host:/tmp/uso$ ls -l total 0 -rw-r--r-- 1 ana ana 0 2007-11-18 00:14 alfa beta.txt -rw-r--r-- 1 ana ana 0 2007-11-18 00:14 d.txt ana@host:/tmp/uso$ ls alfa beta.txt ls: alfa: No such file or directory ls: beta.txt: No such file or directory ana@host:/tmp/uso$ ls "alfa beta.txt" alfa beta.txt ana@host:/tmp/uso$ ls alfa beta.txt alfa beta.txt ana@host:/tmp/uso$ ls alfa\ beta.txt alfa beta.txt ana@host:/tmp/uso$ echo $a 4 ana@host:/tmp/uso$ echo "$a" 4 ana@host:/tmp/uso$ echo \$a $a ana@host:/tmp/uso$ echo $a $a Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 41/53 Citare (escaping) (cont.) escaping folosind \ (backslash) forțează forma literală a caracterului următor rol special în cazul comenzii echo -e ana@host:~$ echo -e "a\tb\tc" a b c escaping folosind " (ghilimele, quote) escapează textul dintre ghilimele nu escapează expandarea ana@host:~$ echo "* ; && > $sir" * ; && > file.txt (apostrof, single quote) escapează orice între apostroafe ana@host:~$ echo \\\$a$bc$de \\\$a$bc$de Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 42/53

Expandarea în shell Expandarea variabilelor ana@host:-$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/packettracer5 ana@host:-$ echo $PATH tr : \n /usr/local/bin /usr/bin /bin /usr/local/games /usr/games /usr/local/packettracer5 Expandarea comenzilor ana@host:~$ ls ana@host:~$ touch $(seq -f "file-%02g.txt" 1 20) ana@host:~$ ls file-01.txt file-03.txt file-05.txt file-07.txt file-09.txt file-11.txt file-13.txt [...] file-02.txt file-04.txt file-06.txt file-08.txt file-10.txt file-12.txt file-14.txt [...] Expandarea aritmetică ana@host:~$ a=3 ana@host:~$ ((a++)) ana@host:~$ b=$((a+1)) ana@host:~$ echo $b 5 Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 43/53 Globbing Folosire globbing în comenzi shell ana@host:~/code/tests$ ls Makefile endian.c struct_bit struct_bit.o tcp_new_sock.c endian endian.o struct_bit.c tcp_new_sock tcp_new_sock.o ana@host:~/code/tests$ ls *.c endian.c struct_bit.c tcp_new_sock.c ana@host:~/code/tests$ ls end?an.c endian.c ana@host:~/code/tests$ ls [a-s]*.c endian.c struct_bit.c ana@host:~/code/tests$ ls *.{c,o} endian.c endian.o struct_bit.c struct_bit.o tcp_new_sock.c tcp_new_sock.o Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 44/53 Globbing (cont.) pentru a rula o comandă pe mai multe fișiere filename expansion (și altele) * orice caracter de oricâte ori? orice caracter [abcde], [a-e] set de caractere [^abc] diferit de setul de caractere {jpg,png,bmp} selecție între variante Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 45/53 Facilități CLI și shell prompt, comenzi, argumente command completion ajutor, documentare istoric de comenzi scurtături de taste redirectare comunicare între procese one liner variabile, variabile de mediu escaping globbing Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 47/53

Unix Power Tools ediția a 3-a, 2002 enciclopedie a faciltăților Unix 1100 de pagini, 51 de capitole pentru power users utilizatori avansați care vor să folosească la maxim sistemul capitole excelente despre shell și shell scripting Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 48/53 Rob Pike parte a echipei Unix ulterior, dezvoltator la Plan 9 și Inferno sisteme de operare unde totul este un fișier pe Unix aproape totul este un fișier cărți și proiecte împreună cu Ken Thompson, Brian Kernighan UTF-8 lucrează la Google Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 49/53 Amazon Amazon.com, Inc. comerț electronic (online retailer) fondată în 1994, online în 1995 inițial librărie online Amazon Kindle în 2010, vânzările de e-books au depășit vânzările de cărți în format printat Amazon Web Services servicii de stocare și rulare, cloud computing Amazon EC2 închiriere de mașini virtuale Amazon S3 servicii de stocare Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 50/53 Windows PowerShell CLI pentru Windows rulează de la Windows XP SP2 în sus integrare cu.net framework cmdlets, aplicații.net automatizare scripting pipeline de obiecte (objects), nu de șiruri de caractere ca în Unix Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 51/53

Cuvinte cheie interfață GUI CLI prompt comandă, argumente command completion istoric de comenzi shell terminal documentare libreadline >, <, &,,, &&, ;,, \,$ one liner variabile variabile de mediu escaping expandare globbing Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 52/53 Resurse utile http://en.wikipedia.org/wiki/user_interface http://www.gnu.org/software/bash/manual/bashref.html http://mywiki.wooledge.org/bashfaq http://www.shelldorado.com/ http://www.pixelbeat.org/cmdline.html Automatica si Calculatoare Cursul 6, Interfața în linia de comandă 53/53