6
Cursul 6 Interfat , ın linia de comand˘ a Utilizarea Sistemelor de Operare (USO) 11 noiembrie 2016 Automatica si Calculatoare Cursul 6, Interfat ,a ˆ ın linia de comand˘ a 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, Interfat ,a ˆ ın linia de comand˘ a 2/53 Sistem de fis , iere, utilizatori, procese proces utilizator ier utilizator kernel program name uid inode lename username uid uid pid Automatica si Calculatoare Cursul 6, Interfat ,a ˆ ın linia de comand˘ a 3/53 Prehistoric File System http://crazyhyena.com/funny-file-system-is-the-prehistoric-google_en Automatica si Calculatoare Cursul 6, Interfat ,a ˆ ın linia de comand˘ a 4/53 Suport de curs I Suport (Introducere ˆ ın sisteme de operare) I Capitolul 12 – Shell scripting I Sect , iunile 12.1, 12.2, 12.6, 12.7 Automatica si Calculatoare Cursul 6, Interfat ,a ˆ ın linia de comand˘ a 5/53 Fie urm˘ atoarele scenarii de utilizare/deziderate I folosire eficient˘ a a sistemului I competent , e de folosire a unui sistem, indiferent de sistemul de operare/distribut , ie I administrare de sisteme de la distant , ˘ a I administrare a unei ret , ele complexe, cu echipamente de ret , ea dedicate I proiectarea de piese ˆ ın AutoCAD I prelucr˘ ari numerice s , i statistice (Matlab, Octave, R) Automatica si Calculatoare Cursul 6, Interfat ,a ˆ ın linia de comand˘ a 7/53 Solut , ia este CLI. De ce? I CLI: Command Line Interface I ofer˘ a opt , iuni de a rula rapid comenzi (combinat , ii de taste, istoric de comenzi, completare automat˘ a) I se pot ˆ ınl˘ ant , ui comenzi pentru a obt , ine funct , ionalit˘ at , i noi I se pot automatiza rapid act , iuni folosind scripting (shell scripting este compus din comenzi shell) I majoritatea comenzilor sunt independente de distribut , ie, funct , ioneaz˘ a la fel pe Unix-uri (Linux, Mac OS X, FreeBSD, Android) I flexbilitate maxim˘ a: o opt , iune nou˘ ın linia de comand˘ a pentru o funct , ionlitate nou˘ a I foarte multe aplicat , ii ofer˘ a interfat , ˘ ın linia de comand˘ a I unele aplicat , ii ofer˘ a doar interfat , ˘ ın linia de comand˘ a I pentru administrare de la distant , ˘ a: servere, echipamente dedicate Automatica si Calculatoare Cursul 6, Interfat ,a ˆ ın linia de comand˘ a 8/53 Unde folosim CLI? I shell-ul unui sistem de operare, fie local, fie la distant , ˘ a I aplicat , ii dedicate: Matlab, R, Python, AutoCAD I console de jocuri I echipamente de ret , ea dedicate Automatica si Calculatoare Cursul 6, Interfat ,a ˆ ın linia de comand˘ a 9/53

Cursul 6 - Interfata în linia de comanda - swarm.cs.pub.roswarm.cs.pub.ro/~george/uso-ac/res/cursuri/curs-06-aut-ac-handout-8on1.pdf · Cursul 6 Interfat, a ^ n linia de comand a

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Cursul 6Interfat, a ın linia de comanda

Utilizarea Sistemelor de Operare (USO)11 noiembrie 2016

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 1/53

Moto

It was a mistake to think that GUIs ever would, could, or evenshould, eliminate CLIs.

Jeffrey Snover (Architect of Windows PowerShell)

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 2/53

Sistem de fis, iere, utilizatori, procese

proces

utilizator

ier

utilizator

kernel

program

name

uid

inode

lename

username

uiduid

pid

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 3/53

Prehistoric File System

http://crazyhyena.com/funny-file-system-is-the-prehistoric-google_en

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 4/53

Suport de curs

I Suport (Introducere ın sisteme de operare)I Capitolul 12 – Shell scripting

I Sect, iunile 12.1, 12.2, 12.6, 12.7

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 5/53

Fie urmatoarele scenarii de utilizare/deziderate

I folosire eficienta a sistemului

I competent, e de folosire a unui sistem, indiferent de sistemul deoperare/distribut, ie

I administrare de sisteme de la distant, a

I administrare a unei ret, ele complexe, cu echipamente de ret, eadedicate

I proiectarea de piese ın AutoCAD

I prelucrari numerice s, i statistice (Matlab, Octave, R)

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 7/53

Solut, ia este CLI. De ce?

I CLI: Command Line Interface

I ofera opt, iuni de a rula rapid comenzi (combinat, ii de taste,istoric de comenzi, completare automata)

I se pot ınlant, ui comenzi pentru a obt, ine funct, ionalitat, i noi

I se pot automatiza rapid act, iuni folosind scripting (shellscripting este compus din comenzi shell)

I majoritatea comenzilor sunt independente de distribut, ie,funct, ioneaza la fel pe Unix-uri (Linux, Mac OS X, FreeBSD,Android)

I flexbilitate maxima: o opt, iune noua ın linia de comandapentru o funct, ionlitate noua

I foarte multe aplicat, ii ofera interfat, a ın linia de comandaI unele aplicat, ii ofera doar interfat, a ın linia de comanda

I pentru administrare de la distant, a: servere, echipamentededicate

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 8/53

Unde folosim CLI?

I shell-ul unui sistem de operare, fie local, fie la distant, a

I aplicat, ii dedicate: Matlab, R, Python, AutoCAD

I console de jocuri

I echipamente de ret, ea dedicate

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 9/53

Interfat, a cu utilizatorul

I interact, iunea utilizatorului cu aplicat, iile s, i cu sistemul deoperare

I ascunde detaliile sistemului de operare

I interact, iunea cu sistemul de calcul

I Human Machine InterfaceI GUI – Graphical User Interface

I WIMP (window, icon, menu, pointing device)I touchscreen

I CLI – Command Line InterfaceI execut, ia de comenzi pentru ındeplinirea sarcinilor

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 11/53

De ce GUI?

I eye-candy

I us, or de folosit, intuitiva

I ascunderea complexitat, ii

I personalizabila (customizable)

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 12/53

De ce CLI?

I consecventa, arata peste tot la fel

I eficientaI us, or de adaugat o opt, iune noua

I un argument fat, a de un buton nou

I automatizarea sarcinilor

I resurse consumate reduse

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 13/53

Cazuri de utilizare GUI s, i CLI

I GUII multimediaI grafica 3DI jocuriI Internet browsing

I CLII administrare sistem: utilizatori, sistem de fis, iere, ret, ea, proceseI scripting/automatizare, eficientizareI aplicat, ii s, i dispozitive dedicate

I ın general vom folosi ambele tipuri de interfet, e, depinzand denevoie

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 14/53

Exemple de CLI

I consola GRUB (bootloader)

I consola Python

I consola de configurare de echipamente de ret, ea (Cisco IOS,Juniper JunOS)

I consola Matlab, AutoCAD, R

I consola 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, Interfat,a ın linia de comanda 16/53

Cum arata o interfat, a ın linia de comanda?

I promptI poate fi un caracter precum $, %, #, >I la prompt se introduc comenzi

I comenzile sunt s, iruri de caractere

I numele comenzii ofera intuit, ie legat de ce face comandaI comenzile pot avea argumente (opt, iuni pentru comanda)

I argumentele se separa prin spat, ii

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 17/53

Funct, ionare linie de comanda

I depinzand de linia de comanda, este posibil un pas deautentificare

I se introduce comanda s, i argumentele

I se apasa ENTER

I interpretorul de comenzi analizeaza comanda s, i executa oact, iune

I interpretorul de comenzi face act, iunea dictata de comanda

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 18/53

Facilitat, i CLI

I command completion

I ajutor, documentare

I istoric de comenzi

I scurtaturi de taste pentru editare rapida de comenzi: s, tergecuvant, mergi la ınceput de comanda etc.

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 19/53

Shell

I aplicat, ie care permite accesul la resursele sistemului de operare

I poate fi grafic (GUI) sau ın linia de comanda (CLI)

I ın Windows shell-ul este Explorer (GUI)I ın Unix

I shell GUI: X Window System +KDE/GNOME/Xfce/Awesome/Fluxbox

I shell-uri CLI: bash, tcsh, zsh, dash

I ın general un shell este un caz particular de CLII Cum putem rula o sesiune de shell ın Linux?

I terminal virtual (ALT+CTRL+F1...F6)I emulator de terminal (konsole, gnome-terminal, xterm etc.)I conexiune de la distant, a

I terminalul este (pseudo)dispozitivul ın care ruleaza shell-ul

I ın continuare, shell = shell CLI

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 21/53

Terminal vs. shell

I terminal = dispozitiv

I shell = procesI terminal – cadru, interfat, a pentru rularea unui shell

I fizic (tastatura, monitor)I virtual (ALT+CTRL+F1. . . F6) – tty0, tty1, . . . , tty6I emulator de terminal – pts/0, pts/1, . . .I folosit pentru intrarea/ies, irea standard (stdin/stdout) a unui

procesI daemonii nu au acces la nici un terminal (nu au intrare/ies, ire

standard)

I shell – permite rularea de comenziI prompt, comenzi, operatori shellI bash, zsh, tcsh

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 22/53

Structura unui sistem de calcul

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 23/53

Comenzi s, i argumente

Promptul unui shell

ana@host:~$ whoami

ana

I comenzile pot avea argumente (opt, iuni pentru comanda)I argumentele se separa prin spat, ii

I Keep it simple!I nume simple, uneori neintuitive: cp, rm, ls, vi, ps

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 24/53

Documentarea ın shell

I command --help: opt, iuni s, i argumente ale comenzii

I whatis command: ce face comanda

I apropos concept: comenzi care au legatura cu acel conceptI man command: pagina de manual a comenzii

I q pentru ies, ireI / pentru cautare ınainte, ? pentru cautare ınapoiI n: next match, N: previous match

I Google (,,tutorial”, ,,faq”, ,,how to”, ,,example”, ,,usage”)

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 25/53

Funct, ionarea unui shell

I se introduce o comanda (ls)

I shell-ul identifica executabilul asociat (/bin/ls)

I este creat un nou process shell (/bin/bash) (fork)

I procesul creat se ,,transforma” conform cu noul executabil

I intrarea standard este controlata de noul proces

I dupa execut, ia comenzii, procesul se ıncheie s, i controlul revineshell-ului

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 26/53

Facilitat, i shell

I command completionI folosirea tastei TAB sau a apasarii de doua ori TAB TABI completarea comenzii s, i a argumentelor acesteia

I istoricul comenzilorI history: vizualizarea istorieiI Ctrl+p (sau tasta sus), Ctrl+n (sau tasta jos): anterioara s, i

urmatoarea comandaI Ctrl+r: reverse search, cautare ınapoi

I biblioteca readline (libreadline)I keyboard shortcuts (eficient, a ın utilizare)I documentare: man bash s, i cautare dupa Commands for

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 28/53

Extinderea comenzilor shell

Redirectarea intrarii/ies, 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, Interfat,a ın linia de comanda 29/53

Extinderea comenzilor shell (cont.)

Secvent, ierea comenzilor: ;

root@asgard:~# apt-get update ; apt-get upgrade ; apt-get dist-upgrade

Secvent, ierea condit, ionala: &&, ||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, Interfat,a ın linia de comanda 30/53

Comenzi utile ın shell-ul Unix

I head, tail: afis, eaza doar primele/ultimele linii din fis, ier

I wc: numara liniile din fis, ier

I grep: extrage liniile care cont, in o anumita expresie

I tr: transforma caractere ın alte caractere

I cut: extrage doar anumite coloane

I sort: sorteaza liniile primite la intrare

I uniq: unicizeaza liniile de la intrare (elimina duplicatele);intrarile trebuie sa fie sortate

I seq: genereaza numere ıntre anumite intervale

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 31/53

Redirectare s, i comunicarea ıntre procese

I ın cazul redirectarii, operatorii sunt > (redirectarea ies, iriistandard), < (redictarea intrarii standard) s, i 2 > (redirectareaies, irii de eroare standard)

I la redirectare forma este command operator file

I spunem ca redirectam ıntr-un/dintr-un fis, ier

I ın cazul comunicarii ıntre procese forma este command1 |command2

I spunem ca redirectam ies, irea standard a comenzii command1ın intrarea standard a comenzii command2

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 32/53

Ce efect are comanda de mai jos?

ana@host:~$ < /dev/urandom tr -d -c ’A-Za-z0-9’ | head -c 8 ; echo

I /dev/urandom – generator de caractere aleatoare

I < /dev/urandom – redicteaza intrarea standard din fis, ierul /dev/urandom

I tr – transliterate (comanda shell de tip filtru de text)

I -d – delete (s, terge)

I -c – complement (set complementar)

I -c ’A-Za-z0-9’ – orice nu este litera sau cifra

→ s, terge orice nu este litera sau cifra dintr-un s, ir infinit generat aleator

I head – extrage primele elemente

I -c 8 – opt caractere

→ extrage primele 8 caractere

→ extrage primele 8 caractere tiparibile (litera sau cifra) dintr-un s, ir generat aleator;

la final afis, eaza un caracter newline

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 33/53

One liner

I o ınlant, uire de mai multe comenzi shell

I ıncape pe o singura linie ın shell

I ofera o noua funct, ionalitate

I foloses, te operatori de redirectare s, i de secvent, iere

I quick’n’dirty: scriem comenzi ınlant, uite s, i le rulam

I pentru funct, ionalitat, i avansate e recomandata scrierea descripturi shell

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 34/53

Caractere speciale shell

I operatori

I redirectare: >, <, &>, >>, <<

I secvent, iere, ınlant, uire: ;, ||, &&, |, &I expandare: $

I comentare: #

I citare (escaping): ’, ", \I separare: blank (spat, iu)

I globbing: ?, *, [, ], {, }

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 35/53

Facilitat, i avansate

I ret, inerea anumitor valori/informat, ii (ın variabile)

I afis, area caracterelor speciale

I operat, ii pe mai multe intrari dintr-o data

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 37/53

Variabile shell

Init, 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

I nu se foloses, te spat, iu ınainte s, i dupa egal la init, ializareI s-ar considera comanda cu argumente

I folosirea valorii unei variabile se realizeaza prin prefixarea cusimbolul $ (dollar)

I variabilele shell nu au tip (ıntreg, s, ir, pointer)

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 38/53

Variabile speciale shell

I documentat, ie: man bash, s, i cautare dupa Special Parameters

I $? – valoarea de retur a ultimei comenzi

I $$ – PID-ul procesului shell curent

I $! – PID-ul ultimului proces (job) lansat ın background

I $_ – ultimul argument al ultimei comenzi

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 39/53

Variabile de mediu

I definesc contextul de rulare a unui proces

I sunt mos, tenite de procesele copil

I exemple: PATH, HOME, PWD, USERNAME, SHELL

I operat, ii specifice cu variabile de mediuI listare: env, printenvI configurare variabila ca variabila de mediu (exportare)

I export JAVA_HOMEI export JAVA_HOME=/home/student/sun-java-jdk7 # init

and export

I persistent, a configurarii (startup configuration)I ın fis, ierul ∼/.bashrc

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 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, Interfat,a ın linia de comanda 41/53

Citare (escaping) (cont.)

I escaping folosind \ (backslash)I fort, eaza forma literala a caracterului urmatorI rol special ın cazul comenzii echo -e

ana@host:~$ echo -e "a\tb\tc"a b c

I escaping folosind " (ghilimele, quote)I escapeaza textul dintre ghilimeleI nu escapeaza expandarea

ana@host:~$ echo "* ; && | > $sir"

* ; && | > file.txt

I ’ (apostrof, single quote)I escapeaza orice ıntre apostroafe

ana@host:~$ echo ’\\\$a$bc$de’\\\$a$bc$de

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 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 aritmetica

ana@host:~$ a=3

ana@host:~$ ((a++))

ana@host:~$ b=$((a+1))

ana@host:~$ echo $b

5

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 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, Interfat,a ın linia de comanda 44/53

Globbing (cont.)

I pentru a rula o comanda pe mai multe fis, iere

I filename expansion (s, i altele)

I * – orice caracter de oricate ori

I ? – orice caracter

I [abcde], [a-e] – set de caractere

I [^abc] – diferit de setul de caractere

I {jpg,png,bmp} – select, ie ıntre variante

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 45/53

Facilitat, i CLI s, i shell

I prompt, comenzi, argumente

I command completion

I ajutor, documentare

I istoric de comenzi

I scurtaturi de taste

I redirectare

I comunicare ıntre procese

I one liner

I variabile, variabile de mediu

I escaping

I globbing

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 47/53

Unix Power Tools

I edit, ia a 3-a, 2002

I enciclopedie a faciltat, ilor Unix

I 1100 de pagini, 51 de capitole

I pentru “power users” – utilizatori avansat, i care vor safoloseasca la maxim sistemul

I capitole excelente despre shell s, i shell scripting

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 48/53

Rob Pike

I parte a echipei UnixI ulterior, dezvoltator la Plan 9 s, i Inferno

I sisteme de operare unde totul este un fis, ierI pe Unix aproape totul este un fis, ier

I cart, i s, i proiecte ımpreuna cu Ken Thompson, Brian Kernighan

I UTF-8

I lucreaza la Google

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 49/53

Amazon

I Amazon.com, Inc.

I comert, electronic (online retailer)

I fondata ın 1994, online ın 1995

I init, ial librarie online

I Amazon Kindle

I ın 2010, vanzarile de e-books au depas, it vanzarile de cart, i ınformat printat

I Amazon Web Services – servicii de stocare s, i rulare, cloudcomputing

I Amazon EC2 – ınchiriere de mas, ini virtualeI Amazon S3 – servicii de stocare

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 50/53

Windows PowerShell

I CLI pentru Windows

I ruleaza de la Windows XP SP2 ın sus

I integrare cu .NET framework

I cmdlets, aplicat, ii .NET

I automatizare – scripting

I pipeline de obiecte (objects), nu de s, iruri de caractere ca ınUnix

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 51/53

Cuvinte cheie

I interfat, a

I GUI

I CLI

I prompt

I comanda, argumente

I command completion

I istoric de comenzi

I shell

I terminal

I documentare

I libreadline

I >, <, &, |, ||, &&, ;

I ”, ’, \,$

I one liner

I variabile

I variabile de mediu

I escaping

I expandare

I globbing

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 52/53

Resurse utile

I http://en.wikipedia.org/wiki/User_interface

I http://www.gnu.org/software/bash/manual/bashref.html

I http://mywiki.wooledge.org/BashFAQ

I http://www.shelldorado.com/

I http://www.pixelbeat.org/cmdline.html

Automatica si Calculatoare Cursul 6, Interfat,a ın linia de comanda 53/53