TEORIA INTERFÍCIE SHELL.

Per aprendre  shell seguim la pàgina de linuxcommand.org. Si voleu, podeu consultar el llibre “The linux Command Line” -Whilliam Shotts.

  • S’han de fer els exercicis sobre el shell i s’han de mostrar dins el portafoli.
  • Explicar la solució de l’exercici dites.

Resum dels continguts

  1. Què és el shell?

El shell és el terminal de comandes d’instruccions mode text que s’usa per controlar un ordinador.

  1. Navegar per el sistema

És molt important saber on estam situats a l’arbre de directoris. Mitjançant la shell podem navegar dins el sistema usant, entre altres, les intruccions:

  • pwd: mostra el directori actual
  • cd: canvia de directori
  • ls: mostra el contingut d’un directori

[cc lang=”bash”]-rw——- 1 bshotts bshotts 576 Apr 17 1998 weather.txt
drwxr-xr-x 6 bshotts bshotts 1024 Oct 9 1999 web_page
-rw-rw-r– 1 bshotts bshotts 276480 Feb 11 20:41 web_site.tar
-rw——- 1 bshotts bshotts 5743 Dec 16 1998 xmas_file.txt
———- ——- ——- ——– ———— ————-
| | | | | |
| | | | | File Name
| | | | +— Modification Time
| | | +————- Size (in bytes)
| | +———————– Group
| +——————————– Owner
+———————————————- File Permissions[/cc]

less: Mostra arxius de text. file: indica el tipus d’arxiu. Un tour guiat

  • /home: El directori que conté els sub-directoris personals dels usuaris. Cada un dels usuaris té privilegis complets sobre els arxius i els sots-directoris del seu directori personal.
  • /bin: És el directori que inclou les instruccions de la línia de comandament de Linux, els quals són comuns amb UNIX (els estudiarem ara).
  • /boot: Aquest directori conté els fitxers necessaris per a l’arrencada.
  • /dev: Arxius dels dispositius del sistema. A Linux, com en UNIX, qualsevol dispositiu de l’ordinador (una impressora, un disc dur, un CD-ROM, una tarja de so …) és un fitxer. Això permet que es pugui fer servir la definició d’una ruta d’arxiu dins del sistema d’arxius com a forma per accedir a qualsevol dispositiu.
  • /etc: Aquest directori conté arxius de configuració del sistema. Aquests arxius es creen durant el procés d’instal·lació i sols poden ser modificats pel superusuari root.
  • /usr: És un directori que té una estructura pròpia i que conté els programes amb dret d’execució per tots els usuaris.
  • /lib: Incorpora els arxius de les llibreries d’accés compartit.
  • /mnt: És el directori en el qual es “munten” els sistemes de fitxers de dispositius d’emmagatzemament massius de dades (discos durs, disquets, CD-ROM, discos durs del tipus usb o càmeres digitals, …) o de sistemes d’arxius situats en altres ordinadors connectats en xarxa. A Linux no es fan “connexions d’unitats de xarxa”, sinó que es defineixen a quines unitats i a quins directoris s’hi ha d’accedir de forma remota i llavors s’incorporen a l’estructura de directoris de l’ordinador local mitjançant aquest directori.
  • /proc: És un directori usat pel nucli del sistema per emmagatzemar arxius generats durant l’execució de processos.
  • /root: És el directori personal del superusuari.
  • /sbin: Conté arxius de configuració inicial del sistema (alguns compartits amb els que es troben al directori /etc) i eines d’administració, utilitats i ordres generals exclusives de root.
  • /tmp: En aquest arxiu es troben fitxers d’ús no permanent per part de tots els usuaris del sistema (tothom té permís d’escriptura en aquest directori). El seu contingut se sol esborrar en sortir del sistema.
  • /opt: Aquest directori no es troba a totes les distribucions. Si existeix, sol contenir paquets de programari que no es troben incorporats a una distribució de Linux i que l’administrador va afegint al sistema.
  • /var: És un directori en el qual es desen els arxius associats a les cues d’impressió, on es diposita el correu electrònic dels usuaris, arxius històrics i, en general, aquells arxius que es van actualitzant mentre es porten a terme els distints processos del sistema.

Manipulació de fitxers

  • cp: Copiar un arxiu o directori
  • mv: Moure o renombrar arxius i directoris
  • rm: Borrar fitxers i directoris
  • mkdir: Crear directoris.

Treballant amb comandes

  • type: Mostra informació sobre una comanda
  • witch: Mostra la localització d’una comanda
  • help: Mostra informació de la comanda, paràmetres i us. (ex: mkir –help)
  • man: Mostra un manual de referència de la comanda.

Redireccionament d’entrada i sortida

  • redireccionament amb > i >>
  • Tuberies d’instruccions amb |

Expansió

  1. echo: per mostrar text i directoris.
  2. Variables amb $, expresions amb ( )
  3. { } per tasques repetitives

Permisos

  1. chmod – modify file access rights
  2. su – temporarily become the superuser
  3. sudo – temporarily become the superuser
  4. chown – change file ownership
  5. chgrp – change a file’s group ownership

Control de tasques

Recerca de comandes shell:

  1. Sistema de fitxers Linux / Intèrpret d’ordres
  2. Comandes terminal Linux
  3. més de 400 comandes …
  4. Més comandes…

Exercicis

  1. Exercicis de redireccionament amb “>” i  “>>” .
    1. Crear una carpeta “tic2” a la direcció /Documents del vostre usuari.
    2. Dins aquesta carpeta hi heu de crear una carpeta “exercicis”.
    3. Fer un arxiu exercici1.txt amb el vostre nom.
    4. Afegir l’historial de comandes que heu fet fins ara.
    5. Afegir a l’arxiu la vostra ip d’aula mitjançant ifconfig.
  2. Exercicis de cerca i reemplaça, descarrega l’arxiu dites.txt
    1. Cerca dins l’arxiu quantes vegades surt  “vida”.
    2. Cerca dins l’arxiu quantes vegades surt la paraula sencera “vida”.
    3. Fes que surtin el números de línia a la sortida.
    4. Amb cerca i reemplaça llevam les línies buides (usam l’instrucció composta sed “sed -i ‘/^$/d’ file.txt”)
  3. Exercicis de tuberies, descarrega l’arxiu dites.txt
    1. Ordenam i mostram l’arxiu. “cat dites.txt | sort”
    2. El mateix mostrant el número de línia amb “cat -n …”
    3. Cream un arxiu ditesordenat.txt ordenat sense número de línia.
    4. Cream un arxiu exercicis.txt on posam la data de creació, el nom, “EXERCICI2”, la història de les darreres 10 instruccions i els dos arxius de dites creats.
  4. Volem reordenar dites de manera aleatòria i que ens mostri una sola línia.
    1. Cerca la instrucció de redirecció aquí
    2. Consulta el manual de sort.
    3. Afegeix la instrucció a l’arxiu exercici.txt
  5. Estudia i explica el significat de la instrucció : du -s * | sort -nr > $HOME/user_space_report.txt

Pràctica voluntària.

Aquesta pràctica consisteix en dissenyar i implementar un script per enregistrar les entrades al nostre ordinador. Per realitzar l’implementació de l’script seguim les indicacions:

  1. L’script ho escriu tot sobre un arxiu “bitacora.txt” dins la capeta tic2 d’usuari.
  2. Cada obertura de sessió escriu les dades:
    1. Capçalera de nova sessió. S’ha de fer una diagrames ASCII una capçalera.
    2. Dins la capçalera:
      1. La data de creació.
      2. El vostre nom.
      3. El nom d’usuari.
      4. Una dita aleatoria de “dites.txt”
  3. Obrir el doument amb el gedit.
  4. Durant la sessió s’han d’anotar els exercicis. Aquí reprendrem les tasques de disseny.
  5. A cada final de sessió:
    1. Una línia de tall
    2. D’afegir l’historial de les comandes realitzades.
    3. Una línia de tall amb “fi de sessió”.
  6. Cada sessió s’ha de fer una còpia dins una carpeta “copies” amb nom bitacora-“data.txt”
  7. L’script ha de ser executable, per tant l’hi haurem de canviar els permisos a 755.
  8. Hem de moure l’script dins una carpeta bin. Agregam aquesta carpeta  a la variable $PATH per poder executar l’sript com a una instrucció del sistema.

Indicacions per la pràctica

Per realitzar aquesta operació són necessaries dues coses, tenir un script funcional i conèixer la variable d’entorn $PATH per afegir la nostra instrucció.

  1. Script funcional, és un arxiu que té els permisos d’execució,  755 i es modifica amb l’instrucció chmod. Exemple guiat
    1. Volem transformar l’arxiu s2 a executable, mostrant el contingut de la carpeta podem veure que “s1” és executabe (permisos 755) i “s2″ no (permisos 544).
    2. Canviam a executable. De 544 a 755.
    3. Per provar si l’script és funcional l’executam amb “./” davant el nom de l’arxiu.

Script com a instrucció del sistema. Per realitzar aquesta tasca afegirem la carpeta on guardam els scripts dins la variable $PATH i reiniciarem sessió d’usuari.

  1. Afegim la carpeta dels scripts a l’arxiu ~/.bashrc

Reiniciam l’usuari.