Pipes redirection and REGEX ls fake output txt

  • Slides: 39
Download presentation
Pipes, redirection and REGEX $ ls /fake > output. txt ls: cannot access /fake:

Pipes, redirection and REGEX $ ls /fake > output. txt ls: cannot access /fake: No such file or directory Redirecting STDERR with 2> $ ls /fake 2> error. txt $ more error. txt ls: cannot access /fake: No such file or directory 1

Pipes, redirection and REGEX Redirecting both STDERR and STDOUT with &> $ ls /fake

Pipes, redirection and REGEX Redirecting both STDERR and STDOUT with &> $ ls /fake /etc/ppp &> all. txt $ cat all. txt ls: cannot access /fake: No such file or directory /etc/ppp: chap-secrets ip-down. ipv 6 to 4 ip-up. ipv 6 to 4 ipv 6 -down ipv 6 -up options pap-secrets peers 2

Pipes, redirection and REGEX $ tr 'a-z' 'A-Z' watch how this works WATCH HOW

Pipes, redirection and REGEX $ tr 'a-z' 'A-Z' watch how this works WATCH HOW THIS WORKS $ tr 'a-z' 'A-Z‘ < sample. txt 3

New Unix/Linux commands find – used to find files corresponding to a certain criteria

New Unix/Linux commands find – used to find files corresponding to a certain criteria find starting_dir matching_criteria [options] find [starting directory] [search option] [search criteria] [result option] Examples: find /usr –name startx find /etc -name hosts 2> errors. txt find /etc -name hosts 2> /dev/null find /etc -name hosts -ls 2> /dev/null find /usr –name ‘*tif’ find. –name dir 05 –type d (d – directory, f - file) 4

find command Search files by size: find /etc –size +300 (size more than 300

find command Search files by size: find /etc –size +300 (size more than 300 blocks – one block is 512 bytes) When you specify a file size, you can give the size in bytes (c), kilobytes (k), megabytes (M) or gigabytes (G) sysadmin@localhost: ~$ find /etc -size 10 c -ls 2>/dev/null (finds files that are exactly 10 bytes large) find. –mtime +5 (matches files modified more than 5 days ago) find ~ –perm 777 find ~ –user stud 03 –ls > listastud 03 5

Structura si componentele unui SO If you use multiple options, they act as an

Structura si componentele unui SO If you use multiple options, they act as an "and", meaning for a match to occur, all of the criteria must match, not just one. As an example, the following command will display all files in the /etc directory structure that are 10 bytes in size and are plain files: sysadmin@localhost: ~$ find /etc -size 10 c -type f -ls 2>/dev/null 432 4 -rw-r--r-- 1 root 10 Jan 28 2015 /etc/adjtime 73468 4 -rw-r--r-- 1 root 10 Nov 16 20: 42 /etc/hostname 02. 12. 2020 Using multiple options for find command 6

Structura si componentele unui SO The cut command can extract columns of text from

Structura si componentele unui SO The cut command can extract columns of text from a file or standard input. A primary use of the cut command is for working with delimited database files. sysadmin@localhost: ~$ cut -d: -f 1, 5 -7 mypasswd root: /root: /bin/bash daemon: /usr/sbin: /bin/sh bin: /bin: /bin/sh sys: /dev: /bin/sh sync: /bin: /bin/sync 02. 12. 2020 Using the cut Command to Filter File Contents 7

Structura si componentele unui SO Using the cut command, you can also extract columns

Structura si componentele unui SO Using the cut command, you can also extract columns of text based upon character position with the -c option. This can be useful for extracting fields from fixed-width database files. For example, the following will display just the file type (character #1), permissions (characters #2 -10) and filename (characters #50+) of the output of the ls -l command: sysadmin@localhost: ~$ ls -l | cut -c 1 -11, 50 - total 12 drwxr-xr-x Desktop drwxr-xr-x Documents drwxr-xr-x Downloads drwxr-xr-x Music drwxr-xr-x Pictures 02. 12. 2020 Using the cut Command to Filter File Contents 8

grep (usually used to search inside a file or in the output of a

grep (usually used to search inside a file or in the output of a command) grep [options] what_to_search file_name Examples: grep root /etc/passwd grep test. /* ls –la | grep –i ‘mar 14’ (-i ignore case) 9

Regular Expression Matches . Any single character [ ] A list or range of

Regular Expression Matches . Any single character [ ] A list or range of characters to match one character, unless the first character is the caret ^, and then it means any character not in the list * Previous character repeated zero or more times ^ Following text must appear at beginning of line $ Preceding text must appear at the end of the line Structura si componentele unui SO • A Regular Expression is a collection of "normal" and "special" characters that are used to match simple or complex patterns. Normal characters are alphanumeric characters which match themselves. For example, an a would match an a. 02. 12. 2020 Regular expressions 10

Structura si componentele unui SO $ echo 'abcddd' > example. txt $ cat example.

Structura si componentele unui SO $ echo 'abcddd' > example. txt $ cat example. txt abcddd $ grep 'a. . ' example. txt abcddd $ grep 'a. . c' example. txt 02. 12. 2020 Regular expressions - examples 11

Structura si componentele unui SO For example, the following command matches two characters, the

Structura si componentele unui SO For example, the following command matches two characters, the first is either an a or a b while the second is either an a, b, c or d: $ grep '[ab][a-d]' example. txt abcddd Note that you can either list out each possible character [abcd] or provide a range [a-d] as long as the range is in the correct order. For example, [d-a] wouldn't work because it isn't a valid range: $ grep '[d-a]' example. txt grep: Invalid range end 02. 12. 2020 Regular expressions - examples 12

The * character can be used to match "zero or more of the previous

The * character can be used to match "zero or more of the previous character". For example, the following will match zero or more d characters: $ grep 'd*' example. txt abcddd Structura si componentele unui SO To indicate that you want to match a character that is not one of the listed characters, start your [ ] set with a ^ symbol. For example, the following will demonstrate matching a pattern that includes a character that isn't an a, b or c followed by a d: $ grep '[^abc]d' example. txt abcddd 02. 12. 2020 Regular expressions - examples 13

Structura si componentele unui SO When you perform a pattern match, the match could

Structura si componentele unui SO When you perform a pattern match, the match could occur anywhere on the line. You may want to specify that the match occurs at the beginning of the line or the end of the line. To match at the beginning of the line, begin the pattern with a ^ symbol. In the following example, another line is added to the example. txt file to demonstrate the use of the ^ symbol: $ echo "xyzabc" >> example. txt $ cat example. txt abcddd xyzabc $ grep "a" example. txt abcddd xyzabc $ grep "^a" example. txt abcddd 02. 12. 2020 Regular expressions - examples 14

Regular expressions - examples Structura si componentele unui SO 02. 12. 2020 In order

Regular expressions - examples Structura si componentele unui SO 02. 12. 2020 In order to specify the match occurs at the end of line, end the pattern with the $ character. For example, in order to only find lines which end with the letter c: $ grep "c$" example. txt xyzabc $ grep "cd*" example. txt abcddd xyzabc abcd* If you want to look for an actual * character, place a character before the * character: $ grep "cd*" example. txt abcd* 15

Structura şi componentele unui SO http: //zota. ase. ro/so 02. 12. 2020 Structura şi

Structura şi componentele unui SO http: //zota. ase. ro/so 02. 12. 2020 Structura şi componentele unui SO 16

Structura şi componentele unui SO • Componente • Apeluri de sistem • Integrarea componentelor

Structura şi componentele unui SO • Componente • Apeluri de sistem • Integrarea componentelor • Maşina virtuală 02. 12. 2020 Structura şi componentele unui SO 17

Structura SO Componente de sistem Managementul proceselor Managementul memoriei principale Managementul fişierelor Managementul sistemului

Structura SO Componente de sistem Managementul proceselor Managementul memoriei principale Managementul fişierelor Managementul sistemului I/O Managementul memoriei secundare Conectarea la reţea Sistemul de protecţie Sistemul de interpretare al comenzilor

Structura SO Componente de sistem Managementul proceselor Un proces este o instanţă a unui

Structura SO Componente de sistem Managementul proceselor Un proces este o instanţă a unui program în execuţie (un program este pasiv, un proces este activ). Un proces are diverse resurse (timp UCP alocat, fişiere) şi atribute ce trebuie administrate. Managementul proceselor include: · Planificarea proceselor (stabilirea priorităţilor, managementul timpului, etc. ) · · · Crearea/terminarea Blocarea/Deblocarea (suspendarea/reluarea) Sincronizarea Comunicarea Administrarea blocajelor Depanarea

Structura SO Componente de sistem Managementul memoriei principale · Alocarea/de-alocarea pentru procese, fişiere, I/O.

Structura SO Componente de sistem Managementul memoriei principale · Alocarea/de-alocarea pentru procese, fişiere, I/O. · Administrarea mai multor procese în acelaşi timp · Se ţine cont de cine utilizează memoria · Deplasarea memoriei proceselor către/de la memoria secundară. Managementul fişierelor Un fişier reprezintă o colecţie de informaţii definit de creatorul său. În mod normal, fişierele pot reprezenta programe (atât programe sursă cât şi programe obiect) sau date. SO este responsabil cu următoarele activităţi în legătură cu managementul fişierelor: • Crearea şi ştergerea fişierelor • Crearea şi ştergerea directoarelor • Oferirea de suport pentru manipularea fişierelor şi directoarelor • Deplasarea fişierelor în memoria secundară • Realizarea de copii de siguranţă pentru fişiere pe medii de stocare nonvolatile

Structura SO Componente de sistem Managementul I/O · Sistemul “buffer caching” · Cod generic

Structura SO Componente de sistem Managementul I/O · Sistemul “buffer caching” · Cod generic pentru drivere de echipamente · Drivere pentru fiecare dispozitiv - translatează cererile de citire/scriere în comenzi de poziţionare pe disc Managementul memoriei secundare · Discuri, benzi magnetice, optice, etc. · Administrarea spaţiului liber (paginare/swapping ) · Alocarea spaţiului pe disc (ce date sunt scrise şi unde pe disc) · Planificări de citire/scriere de pe/pe disc

Structura SO Componente de sistem Conectarea la reţea • Sistem de comunicaţie între procesoare

Structura SO Componente de sistem Conectarea la reţea • Sistem de comunicaţie între procesoare distribuite • Obţinerea de informaţii despre fişiere/procese, etc. pe o maşină aflată la distanţă • Poate utiliza fie un model “message passing” sau un model de memorie partajată Protecţie Cum interacţionează toate aceste componente? • A fişierelor, memoriei, UCP, etc. În principal, toate oferă servicii unele altora. • = Controlul accesului • Depinde de atributele fişierului şi ale utilizatorului Programe de sistem • Compilatoare/link-editoare/asambloare, etc. • Comunicaţii (ftp, telnet, ssh, etc. ) • Interpretoare de comenzi – programe ce preiau secvenţe de control (comenzi) (shell, interfaţă grafică)

Structura SO Componente de sistem · În mod normal un SO poate oferi suport

Structura SO Componente de sistem · În mod normal un SO poate oferi suport pentru multe dispozitive posibile, dar fiecare instalare necesită doar o parte din aceste variante posibile. · Facilitatea Plug and play permite detecţia echipamentelor şi includerea automată a codului (driverelor) necesare pentru ca aceste echipamente să funcţioneze. · Un sysgen reprezintă o legătură de mai multe rutine/module ale SO pentru a produce un executabil ce conţine codul necesar pentru rularea driverelor.

Structura SO Componente de sistem Un apel de sistem reprezintă principala modalitate prin care

Structura SO Componente de sistem Un apel de sistem reprezintă principala modalitate prin care un program utilizator interacţionează cu SO.

Structura SO Componente de sistem Modalitatea de funcţionare a unui apel de sistem ·

Structura SO Componente de sistem Modalitatea de funcţionare a unui apel de sistem · Obţine acces la spaţiul sistem · Face validarea parametrilor · Face aple la resursele de sistem · Interoghează un echipament/sistem pentru un anumit element · Suspendă aşteptarea pentru un echipament · Întreruperea face ca acest thread să fie gata de execuţie · Mascare · Întoarcere la utilizator De regulă există 11 (sau mai mulţi) paşi la un apel de sistem read (fd, buffer, nbytes)

Structura SO Componente de sistem Există două metode de transfer al datelor între programe:

Structura SO Componente de sistem Există două metode de transfer al datelor între programe: “Message Passing” Memorie partajată

Structura SO Exemple de apeluri de sistem: Componente de sistem

Structura SO Exemple de apeluri de sistem: Componente de sistem

Structura SO “Asamblarea” componentelor SO O structură simplă: MS-DOS Programarea aplicaţiilor Programele de sistem

Structura SO “Asamblarea” componentelor SO O structură simplă: MS-DOS Programarea aplicaţiilor Programele de sistem rezidente Drivere MS-DOS Drivere de echipamente pt ROM - BIOS Obs: Toate aceste nivele pot accesa hardware-ul.

Structura SO Arhitectura Windows NT/2000

Structura SO Arhitectura Windows NT/2000

Structura SO Nucleul NT se ocupă cu întregul trafic de mesaje ce se desfăşoară

Structura SO Nucleul NT se ocupă cu întregul trafic de mesaje ce se desfăşoară în cadrul sistemului de operare şi rulează peste HAL. Nucleul NT este ocupat în principal cu manipularea întreruperilor şi excepţiilor pentru comunicaţia între subsisteme şi resursele hardware ale sistemului de operare. Parte integrantă a managementului tuturor comunicaţiilor dintre subsisteme, nucleul NT este responsabil şi cu verificarea constantă cu subsistemul de securitate a administratorului NT pentru a se asigura faptul că cererile pentru servicii au fost autorizate în mod corespunzător.

Structura SO Nucleul NT este responsabil cu: • sincronizarea mai multor procesoare atunci când

Structura SO Nucleul NT este responsabil cu: • sincronizarea mai multor procesoare atunci când Windows NT rulează pe un calculator ce suportă multiprocesare simetrică (SMP); • manipularea întreruperilor şi a excepţiilor; • refacerea sistemului în caz de cădere; • verificarea securităţii şi respectării restricţiilor; • programarea firelor de execuţie în mediul NT multi-threading (multiple fire de execuţie ale proceselor). Manipularea întreruperilor ocupă cel mai mult din timpul nucleului NT, o întrerupere NT fiind generată pentru fiecare interacţiune a subsistemelor administratorului NT. Nucleul NT rulează în mod privilegiat şi de aceea nu poate fi niciodată expulzat din memorie.

Structura SO Administratorul NT (NT Executive) este compus din nucleul NT la care se

Structura SO Administratorul NT (NT Executive) este compus din nucleul NT la care se adaugă o varietate de subsisteme cunoscute împreună sub numele de servicii sistem. Printre aceste servicii se află: • managerul intrărilor şi ieşirilor (managerul I/O); • managerul apelului de procedură locală; • managerul de obiecte; • managerul de procese; • managerul memoriei virtuale; • monitorul de securitate.

Structura SO Managerul I/O Acesta are în sarcină administrarea tuturor intrărilor şi ieşirilor pentru

Structura SO Managerul I/O Acesta are în sarcină administrarea tuturor intrărilor şi ieşirilor pentru sistemul de operare Windows. Managerul I/O este în mod special preocupat cu administrarea comunicaţiilor dintre driverele de echipament, driverele de reţea, managerul memoriei cache şi driverele sistemelor de fişiere. Driverele de echipament (sau drivere de echipament hardware) sunt scrise în special pentru a suporta anumite dispozitive periferice cum ar fi imprimanta, tastatura sau mouse-ul. Windows furnizează un mediu standardizat cuprins în managerul I/O în care aceste drivere pot rula. Datorită acestui mediu standardizat driverele dispozitivelor periferice pot rula pe orice platformă care suportă Windows. Aceste drivere sunt scrise în C şi pot fi uşor modificate sau adăugate. Printre driverele de reţea existente în Windows se află următoarele: Net. BIOS, redirector şi interfaţa server SMB cu aplicaţiile şi sistemul de fişiere; Protocoale de comunicaţie ca TCP/IP, Net. BEUI, IPX/SPX furnizând servicii transport.

Windows 8 architecture

Windows 8 architecture

Android vs. Windows 8 Un articol interesant: Android vs. Windows 8 https: //dzone. com/articles/introducing-windows-8

Android vs. Windows 8 Un articol interesant: Android vs. Windows 8 https: //dzone. com/articles/introducing-windows-8 -android

Structura SO Componente de sistem Structura pe nivele UNIX:

Structura SO Componente de sistem Structura pe nivele UNIX:

Structura SO Maşina virtuală Într-o “maşină virtuală” fiecare proces pare să se execute pe

Structura SO Maşina virtuală Într-o “maşină virtuală” fiecare proces pare să se execute pe propriul procesor şi cu propria memorie, echipamente, etc. Resursele maşinii fizice sunt partajate. Echipamentele virtuale sunt “desprinse” din cele fizice. Discurile virtuale reprezintă submulţimi ale celor fizice. · Util în cazul rulării mai multor SO simultan pe aceeaşi maşină. · Protecţia este bună, dar nu se poate obţine partajarea. Utilizatorul virtual Utilizatorul fizic Maşina virtuală Modul monitor Maşina fizică

Structura SO Maşina virtuală

Structura SO Maşina virtuală

Aplicații de mașini virtuale Exemple (free): Virtual. Box (Win/Mac/Linux), VMware (Win/Linux), QEMU (Linux) Virtual.

Aplicații de mașini virtuale Exemple (free): Virtual. Box (Win/Mac/Linux), VMware (Win/Linux), QEMU (Linux) Virtual. Box (Sun/Oracle) http: //www. virtualbox. org/wiki/Virtual. Box VMware http: //www. vmware. com/products/player/faqs. html QEMU – wiki. qemu. org