Clasele 11-12 lecția 27 - 29 apr 2015

From Algopedia
Revision as of 13:05, 27 April 2015 by Cata (talk | contribs) (→‎Principii UNIX)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

GNU/Linux (introducere)

Vom începe să studiem GNU/Linux prin aspectele practice și apoi vom merge spre partea istorică și filozofică.

Sistemul de fișiere

  • Comenzi introductive, cd, ls, cp
  • Totul este un fișier. Nu doar sistemele de fișiere în sine, ci și discurile, partițiile, tastatura, mouse-ul, alte echipamente de intrare/ieșire, intrarea și ieșirea programelor, hardware-ul, /dev/random.
  • unde este C:?
  • permisiuni
  • symlinks
  • structura și scopul directoarelor

Principii UNIX

Surse: Unix philosophy, Linux Principles.

Nu există o „Biblie” a acestor principii -- ele s-au cristalizat din experiență.

  • Totul este un fișier
  • Programe mici care fac un singur lucru și îl fac bine
  • Fișierele de configurare sunt text simplu
  • Programele trebuie să poată fi folosite ca filtre (stdin -> stdout)
  • Evită interfețele utilizator: programele trebuie să poată rula neinteractiv (compară cu Windows)
  • Programele pot fi înlănțuite
  • Preferăm linia de comandă mediului grafic.

Istoria și filozofia GNU/Linux

  • de ce GNU? (sau, mai corect: de ce Linux?)
  • despre software liber
  • distribuții

Mediul grafic

Nu avem mult de spus aici. Ca orice altă componentă Linux, mediul grafic oferă alternative multiple. El constă din:

  • serverul X (X.Org)
  • sistemul de ferestre (Metacity, Xfce, Compiz)
  • mediul desktop (Gnome, KDE, Cinnamon, Mate...)

Linia de comandă

  • interpretorul de comenzi; ne vom axa pe Bash, dar există zeci de alternative
  • variabile de mediu
  • culori
  • istoricul comenzilor, căutare
  • structuri de programare (if, while)
  • suspendarea proceselor
  • &, bg, fg, jobs
  • >, <, |

Exemplu final

  • cum edităm și cum compilăm un program C++ (fără un mediu integrat)

Pentru data viitoare

  • structura sistemului de operare (boot loader, kernel etc.).
  • loguri, servicii