Diferență între revizuiri ale paginii „PC Laborator 1”

De la WikiLabs
Jump to navigationJump to search
Linia 89: Linia 89:
 
* pentru a șterge un fișier:
 
* pentru a șterge un fișier:
 
     '''<span style="color: green">student@pracsis01</span> <span style="color: blue">~/Desktop $</span> rm program.c'''
 
     '''<span style="color: green">student@pracsis01</span> <span style="color: blue">~/Desktop $</span> rm program.c'''
*
+
* pentru a șterge un director, se folosește fanionul -r:
 +
  '''<span style="color: green">student@pracsis01</span> <span style="color: blue">~/Desktop $</span> mkdir test'''
 +
  '''<span style="color: green">student@pracsis01</span> <span style="color: blue">~/Desktop $</span> rm test'''
 +
  rm: cannot remove ‘test’: Is a directory
 +
  '''<span style="color: green">student@pracsis01</span> <span style="color: blue">~/Desktop $</span> rm -r test'''
  
 
=== Afișarea unui fișier în consolă (cat) ===
 
=== Afișarea unui fișier în consolă (cat) ===

Versiunea de la data 14 septembrie 2015 11:53

Linux Bash

Noțiunile legate de utilizarea și administrarea sistemului de operare Linux sunt necesare și obligatorii pentru un inginer electronist. În afară de faptul că Linux este un OS open-source stabil și sigur, atractivitatea lui vine în special din posibilitatea de a automatiza procese prin scrierea de scripturi în limbaje de scripting puternice și din faptul că este cel mai răspândit sistem de operare folosit pentru dispozitive embedded. În continuare se vor prezenta noțiuni și comenzi necesare pe parcursul laboratorului de Programarea Calculatoarelor.

Pentru a obține informații legate de utilizarea unei comenzi, în terminalul (consola) Linux se poate da comanda man <comanda> pentru a deschide manualul la pagina comenzii respective. Odată deschis, se poate naviga cu săgețile sus/ jos și pagina se închide cu tasta 'q'.

Odată deschis terminalul, prompt-ul de comandă arată de cele mai multe ori în felul următor:

  student@pracsis01 ~/Desktop $ 

Acesta este format din următoarele componente:

  • student reprezintă numele utilizatorului curent și este urmat de caracterul '@' (at);
  • pracsis01 reprezintă numele calculatorului (host name) și care ar trebui să fie unic în rețea; în lipsa acestuia va apărea localhost;
  • ~/Desktop reprezintă directorul curent și este urmat de caracterul '$'

Structura de directoare in Linux

Toate fișiere și directoarele în Linux sunt plasate într-o ierarhie de tip arbore, unde directorul din vârf se numește rădăcină (root) și este reprezentat prin caracterul slash (/). Conținului unui director rădăcină arată în felul următor:

Linux dir.gif

În cadrul laboratorului de PC, vom lucra în interiorul directorului personal al utilizatorului student, care este implicit /home/student (slash este separatorul de cale în Linux, analog cu backslash din Windows).

Instrucțiuni pentru lucrul cu sistemul de fișiere

Navigare între directoare (cd)

Navigarea către un director anume se face folosind comanda cd (Change Directory). Comanda cd poate fi folosită în următoarele moduri:

  • navigarea către o cale absolută, care începe cu slash:
  student@pracsis01 ~ $ cd /home/student/Desktop
  student@pracsis01 ~/Desktop $
  • navigarea către o cale relativă, care nu începe cu slash și care depinde de directorul curent:
  student@pracsis01 ~ $ cd Desktop
  student@pracsis01 ~/Desktop $
  • navigarea către directorul personal (home directory), prin apelarea comenzii fără alți parametri:
  student@pracsis01 ~/Desktop $ cd
  'student@pracsis01 ~ $, folosind parametrul -'
  • navigarea către calea anterioară (util când e nevoie să alternați între două directoare):
  student@pracsis01 ~/Desktop $ cd
  student@pracsis01 ~ $ cd -
  student@pracsis01 ~/Desktop $ cd -
  student@pracsis01 ~ $

Această comandă va eșua dacă directorul specificat nu există, sau nu aveți acces la el sau la unul directoarele părinte.

Observație: Calea până la directorul personal este prescurată în Linux prin caracterul ~ . Astfel, comanda cd ~ este echivalentă cu comanda cd iar comanda cd ~/Desktop este echivalentă cu cd /home/student/Desktop. În plus, directorul personal al altor utilizatori poate fi construit folosind caracterul ~ și numele utilizatorului. De exemplu ~admin reprezintă calea până la directorul personal al utilizatorului admin.


Observație: Pentru a vă întoarce cu un nivel mai sus în ierarhia de directoare, se poate folosi ”..” în loc de numele directorului. De exemplu:
  student@pracsis01 ~/Desktop $ cd ../Desktop/../Desktop/../../student/Desktop
  student@pracsis01 ~/Desktop $ 

Aflarea directorului curent (pwd)

Directorul curent se vede în mod normal în prompt, dar în cazul în care acest prompt nu este vizibil sau a fost modificat, sau directorul curent trebuie utilizat în cadrul unui script, comanda care îl afișează pe acesta pe ecran este pwd (Print Working Directory).

  student@pracsis01 ~/Desktop $ pwd
  /home/student/Desktop

Crearea unui director (mkdir)

Pentru a crea un director inexistent, se folosește comanda mkdir (MaKe DIRectory) specificând numele directorului care se vrea creat:

  student@pracsis01 ~ $ mkdir work

Această comandă poate eșua dacă nu aveți acces la directorul părinte, dacă directorul părinte nu există, sau dacă directorul care se dorește creat există deja. Pentru a crea un director în situația în care directorul părinte nu există, se poate utiliza fanionul -p:

  student@pracsis01 ~/Desktop $ mkdir -p ~/work/pc/F/group1/ion/lab1

Ștergerea unui director gol (rmdir)

Pentru a șterge un director gol, se poate folosi comanda rmdir (ReMove Directory):

  student@pracsis01 ~/Desktop $ mkdir test 
  student@pracsis01 ~/Desktop $ rmdir test 
  student@pracsis01 ~/Desktop $  

Dacă directorul nu este gol, atunci se va genera o eroare:

  student@pracsis01 ~/Desktop $ mkdir -p test/test2 
  student@pracsis01 ~/Desktop $ rmdir test 
  rmdir: failed to remove ‘test’: Directory not empty 

În acest caz, se poate folosi fanionul -p pentru a șterge o ierarhie de directoare:

  student@pracsis01 ~/Desktop $ rmdir -p test/test2

Sau comanda rm -r (vezi mai jos).

Ștergerea unui fisier sau recursiv, a unui director (rm)

Pentru a șterge un fișier, un director gol, sau un director care conține alte fișiere sau subdirectoare, se poate folosi comanda rm (ReMove) cu diferite fanioane:

  • pentru a șterge un fișier:
   student@pracsis01 ~/Desktop $ rm program.c
  • pentru a șterge un director, se folosește fanionul -r:
  student@pracsis01 ~/Desktop $ mkdir test
  student@pracsis01 ~/Desktop $ rm test
  rm: cannot remove ‘test’: Is a directory
  student@pracsis01 ~/Desktop $ rm -r test

Afișarea unui fișier în consolă (cat)

Pentru a vedea conținutul unui fișier text (cum ar fi o sursă C sau un makefile) fără a deschide fișierul pentru editare, se poate utiliza comanda cat (conCAT):

  student@pracsis01 ~/Desktop $ cat /etc/hostname
  pracsis01

Exerciții

  1. Navigați până în directorul personal al user-ului student.
  2. Creați un director numit work.
  3. În directorul work creați următoarele structuri de directoare:
    • PC/seriaF/grupaN/nume/lab1
    • PC/seriaF/grupaN/nume/lab2