IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Linux Professional Institute Certificate. LPIC-1

Lpic1 large.gif
Certificat LPIC-1
Examen: 101 (torneu al tema 103.1)
Fitxers: LPI103.1_TreballarALaLiniaOrdres.pdf (LPI103.1_TreballarALaLiniaOrdres.odp)
Objectius: http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_101_detailed_objectives
Dipòsit SVN: https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_101/103.1
Usuari: anonymous
Paraula de pas: qualsevol paraula de pas

Terminals

Hi ha 3 capes: el software que está a la dreta de la imatge, el kernel (nucli) que està al mig de l'imatge i el hardware que està a l'esquerra.

Model Antic:

Ordresjordi1.png

El cable sèrie connectava el terminal amb l'ordenador.

Tipus de terminals:

  • Els terminals de maquinari: teletipus també s'anomenaven "tontos" perquè no tenien processador (no pensaven).

Tty vol dir teletype, els teletypes van ser els primers terminals de maquinari.

Ordresjordi2.png
  • Les consoles virtuals

Control Alt + F1,F2,...

  • Els emuladors de terminal: Simulaven un hardware de terminal de video. Les aplicacions que fem servir es diuen pseudoterminals.

Les pseudo-terminals connecta amb l'aplicació shell anomenada Bash.

El bash es un emulador de terminal.

Exemples de terminal:

  • Gnome-Terminal:Tal com indica el seu nom es tracta de la terminal
  • xterm: xterm és el terminal per defecte del sistema X-Window.
  • Konsole: Konsole és la terminal per defecte a l'entorn d'escriptori KDE.


Un terminal:

Ordresjordi4.png
  • Els terminals remots

Model actual:

Ordresjordi5.png

En Linux TOT són fitxers incluint el hardware, el sistema operatiu te un fitxer per al teclat i un per a la pantalla, hi han fitxer especials: el fitxer 0 es la entrada estàndard (stdin) el fitxer1 que és la sortida estàndard i el fitxer 2 es la sortida error

Intèrprets d'ordres (shell)

  • Bash:bourne Again Shell. El més popular i l'utilitzat en aquest curs.
  • Sh:(Bourne Shell): un dels primers intèrprets de comandes. Shell per defecte a Unix. Creada al 1977 per Stephen Bourne dels laboratoris AT&T de Bell. sh és encara l'interpret de comandes per defecte de root en sistemes Unix.
  • csh:La shell original de C no es gaire utilitzada a Linux. tcsh és un bon substitut de csh a Linux, força popular però gairebé cap distribució Linux la porta per defecte
  • Ksh:(Korn shell): va ser dissenyat per tal de tenir les millors característiques de sh i zsh.
  • Dash:(Debian Almquist Shell) un versió millorada d'ash. Més petit i eficient que bash. A Ubuntu, des de la versió 6.10, és l'interpret de comandes per defecte del sistema, tot i que l'intèrpret per defecte dels usuaris continua sent bash.

Comandes relacionades amb terminals

tty

La comanda tty ens diu la terminal en la qual estem treballant.

Ordresjordi6.png

finger

Mostra informació dels usuaris i de les terminals.

$ finger
Login     Name          Tty      Idle  Login Time   Office     Office Phone
jordi     Jordi Pujol   tty7     1:37  Sep 29 11:40 (:0)
jordi     Jordi Pujol   pts/0          Sep 29 12:59 (:0)
messi                   tty8     1:37  Sep 29 12:31 (:1)

who

Et diu qui està en el sistema.

$ who
jordi    tty7         2011-09-29 11:40 (:0)
jordi    pts/0        2011-09-29 12:59 (:0)
messi    tty8         2011-09-29 12:31 (:1)

clear

Et llimpia la terminal (com si acabessis d'obrir la terminal)

$ clear

reset

Et reseteja la terminal.

$ reset

wall

Envia missatges entre terminals.

$ wall
Tanque la sessió que marxem!
                                                                             
Missatge de difusió de [email protected]                                         
       (/dev/pts/0) at 13:23 ...                                              
                                                                              
Tanque la sessi\303\263 que marxem!

write

Envia el missatge a la terminal que tu vulguis.

Ordresjordi7.png


Comunicacions entre terminals. write, msg i talk

Shell per defecte del sistema

El shell es el que està per defecte.

Es pot comprovar el shell amb el mode gràfic:

Shell.png

Scripts

El shebang és el conjunt de 2 caràcters #! que escrivim al principi d'un fitxer en entorns Unix/Linux. Indica amb quin programa s'ha d'interpretar les següents línies de l'script.

Bash

#!/bin/bash

 echo "Hola mon!"

PHP

#!/usr/bin/php
 <?php
 echo "Hola mon!"
 ?> 

Phyton

#!/usr/bin/python
 print "Hola mon!

Per executar un arxiu que no es executable tenim que escriure

./nom.php

PROMPT

Vol dir preguntar, sol.licitar,indicar...

Síntaxi d'un ordre: ordre parametre1 parametre2 parametre3...

Hi han 3 estils:

  • Unix98: $ netstat -puta = $netstat -p -u -t -a = $ netstat -tapu
  • GNU: $ ls --all = $ls -a diferent de $ls -a -l -l
  • FreeBSD: $ ps aux $ ps -aux

Trucs i ús de la línia d'ordres

Command-completion: El tabulador ens auto-completa les ordres.  (Al superusuari "root" no funciona aquesta opció si no l'actives amb la comanda: . /etc/bash_completion)
Tabulador.png

Moure's per la línia

Ctrl+A: inici de línia (també tecla “Inicio”) i Ctrl+E: final de línia (també tecla “Fin”). Fletxes esquerra i dreta del teclat. Ctrl+Fletxes ens permet moure'ns a dreta i esquerra de paraula en paraula.

Esborrar text Ctrl+D (tecla suprimir) i Backspace Ctrl+k: Esborra des del cursor fins al final de línia. Ctrl+x + Bakcspace: Esborra des del cursor fins al final de línia.

Intercanviar text Ctrl+t: intercanvia el caràcter d'abans del cursor pel de després del cursor. Canviar de majúscules a minúscules: Esc+U: Converteix del cursor al final de paraula en majúscules Esc+L: Converteix del cursor al final de paraula en minúscules Esc+C: Converteix la primera lletra (Capitalize) de la paraula sota el cursor a majúscules

Invocar un editor Es pot executar un editor complet per tal d'editar una línia de l'intèrpret d'ordres. Ctrl+X+Ctrl+E. S'executa l'editor definit a la variable d'entorn EDITOR o FCEDIT

Hi ha múltiples dreceres de teclat Ctrl+c: Envia la senyal d'acabar el que s'esta executant Ctrl+z: Atura (pausa) un ordre Ctrl+l: netejar la pantalla (equivalent a l'ordre clear) Ctrl+r: Cerca ordres. Consulteu la següent transparència



El signe: "[" significa opcional

Edició amb bash

Històric de la línia d'ordres

Ordres internes i ordres externes

Configuració de l'interpret d'ordres

Variables d'entorn

term

Ens mostra el tipus de terminal que estem utilitzant.

$ echo $TERM
xterm

env

Consulta les variables d'entorn.

$ env
ORBIT_SOCKETDIR=/tmp/orbit-jordi
SSH_AGENT_PID=1281
TERM=xterm
SHELL=/bin/bash
XDG_SESSION_COOKIE=244279e6d7967064d9e36f5e00000006-1317807385.747490-615749140
WINDOWID=58720294
GNOME_KEYRING_CONTROL=/tmp/keyring-kKM90V

$

Consulta les variables d'entorn.

$ $
$_                            $http_proxy
$all_proxy                    $https_proxy
$ALL_PROXY                    $IFS
$BASH                         $LANG
$BASH_ALIASES                 $LANGUAGE
$BASH_ARGC                    $LESSCLOSE
$BASH_ARGV                    $LESSOPEN
$BASH_CMDS                    $LINENO
$BASH_COMMAND                 $LINES

PATH

Carpetes executables.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Nom Funció
USER Nom d'usuari dins del sistema
UID Identificador númeric del usuari
HOME El directori HOME de l'usuari
PWD El directori de treball actual
SHELL El nom del shell
$ Identificador del procés que s'està executant
PPID Identificador del procés que ha iniciat el procés que s'està executant
? El codi de retorn de la darrera instrucció executada

CD

Ens permet canviar de directori.

$ cd /home/jordi/Baixades
[email protected]:~/Baixades$ 

Per anar a la meva home:

$ cd

Per anar a l'arrel del sistema:

$ cd /
[email protected]:/$

Per anar al directori pare:

[email protected]:/etc/apm$ cd ..
[email protected]:/etc$

echo

Mostra qualsevol text o variable.

$ echo

exec

Executa ordres directament.

$ exec

Directori de treball

Modificar el directori de treball. Ordre cd

Directoris especials

El puntbarra (./)

Ordre echo

Ordre exec

Executar ordres en segon terme

Llistes d'ordres

AND

Només s'executa la comanda 2 si la primera comanda s'ha executat amb èxit:

$ mkdir pl && echo "Ok"
Ok

OR

Només s'executa la segona comanda si la primera torna un codi d'error

Substitucions, expansions i construccions complexes

Expansions per claus

Variables

Backsticks. Cometes endarrere

Expressions aritmètiques

Ajuda del sistema

man

Serveix per consultar els manuals de les ordres.

Per instal.lar l'ajuda en castellà tenim que posar la següent comanda:

$ sudo apt-get install manpages-es manpages-es-extra

Per mostrar el manual amb castellà ho tens que fer amb la següent comanda:

$ dpkg -L manpages-es

Si no tens instal.lat l'idioma castellà ho instal.les amb la comanda:

$ gnome-language-selector

I des d'aquí triem español.

Ara si tenim l'entorn en un altre idioma que no sigui el castellà tindrem que fer el següent

$ export LANG=es_ES.UTF-8

Ara ja ens mostra el manual amb castellà

$ man ls
LS(1)                                                                    LS(1)
NOMBRE
      ls, dir, vdir - listan los contenidos de directorios
SINOPSIS
      ls [opciones] [fichero...]
      dir [fichero...]
      vdir [fichero...]
      Opciones de POSIX: [-CFRacdilqrtu1]
      Opciones      de      GNU      (en     la     forma     más     corta):
      [-1abcdfghiklmnopqrstuvwxABCDFGHLNQRSUX]  [-w  cols]  [-T   cols]   [-I
      patrón]   [--full-time]   [--show-control-chars]  [--block-size=tamaño]
      [--format={long,verbose,commas,across,vertical,single-column}]
      [--sort={none,time,size,extension}]
      [--time={atime,access,use,ctime,status}] [--color[={none,auto,always}]]
      [--help] [--version] [--]
DESCRIPCIÓN
      El  programa  ls lista primero sus argumentos no directorios fichero, y

info

Altres pàgines d'interès

Informació del sistema. uname

Alias

Tancar la sessió