+ All Categories
Home > Documents > Curs de Unix

Curs de Unix

Date post: 07-Jan-2016
Category:
Upload: finola
View: 29 times
Download: 2 times
Share this document with a friend
Description:
Curs de Unix. Departament d’Electrònica Enginyeria La Salle. Index. 1 Introducció 1. 1    Què és Un ix. 1.2   ftp, vi, pine. 1. 3   profile. 2 Línia de comandes 2. 1  Maneig d'arxius: ls, chmod, mv, cp, rm. - PowerPoint PPT Presentation
33
Curs de Unix 1/33 Curs de Unix Departament d’Electrònica Enginyeria La Salle
Transcript
Page 1: Curs de Unix

Curs de Unix1/33

Curs de Unix

Departament d’Electrònica

Enginyeria La Salle

Page 2: Curs de Unix

Curs de Unix2/33

Index

1 Introducció1.1   Què és Unix.1.2   ftp, vi, pine.1.3   profile.

2 Línia de comandes2.1  Maneig d'arxius: ls, chmod, mv, cp, rm.2.2 Comandes diverses: man, cat, wc, tail, grep, egrep, fgrep,

sort, cut, diff, less, find, finger.

3  Redireccionament

Page 3: Curs de Unix

Curs de Unix3/33

Índex

4 Scripts4.1 Tractament de variables.

4.2 Entrada/sortida.

4.3 El condicional if, la comanda test.

4.4 La comanda case.

4.5 Iteratius: while, for

5 Funcions

6. Bibliografia

7. Exemples

Page 4: Curs de Unix

Curs de Unix4/33

1 Introducció

    1.1 Què és Unix?

  A principis dels anys 70, Ken Thompson, un programador dels laboratoris AT&T Bell Laboratories, => sistema operatiu (primera versió de Unix escrita en ensamblador sobre PDP7).  A partir d'aquí, Dennis Ritchie => desenvolupament d'un llenguatge de programació que va anomenar 'C', per a poder exportar el sistema a altres processadors.   Distribucions (versions) més conegudes: BSD => 1978

System V, =>1980Altres (AIX, Irix, Solaris Linux)

  Utilitat => treball en xarxa de forma eficient (TCP/IP es va fer quasi per a Unix, i Internet inicialment es va construir en màquines Unix).  

 

Page 5: Curs de Unix

Curs de Unix5/33

1 Introducció

1.2 vi, ftp, pine

1.2.1 Ftp

Permet fer intercanvis d'arxius entre màquines Nomenclatura:

  ftp <màquina>  El programa es pot fer funcionar en mode ASCII (fitxers de texte) o en BIN. És contraprudent agafar un arxiu de texte en mode BIN (no funcionarà).

Instruccions Principals:-get <arxiu> :agafa l'arxiu i el posa allà des d'on fem l'ftp.-put <arxiu> :posa l'arxiu, que està on hem fet l'ftp, al directori on es

treballa. 

  

Page 6: Curs de Unix

Curs de Unix6/33

1 Introducció

1.2.2 Vi

vi és un editor de texteNomenclatura:

vi <arxiu>  instruccions: - i :permet inserir caràcters.

- x :permet esborrar el caràcter anterior al cursor. Si fem nx, esborrem n caràcters.

- dd :permet esborrar una línia sencera. Si fem ndd, esborrarem n línies.- :n :anirem a la línia n de l'arxiu.- :<nom> :cerca una cadena de caràcters que correspongui amb

<nom>.- w :salva el document.- q :surt del document, sempre que s'hagi salvat prèviament.- wq :salva el document i en surt.- q! :surt de l'editor sense salvar.La tecla d'escapament serveix per a

tornar al menú. A més, hi ha entrada del manual del sistema. 

...

Page 7: Curs de Unix

Curs de Unix7/33

1 Introducció

1.2.3 Pine

Pine és una utilitat que permet manejar el correu dels usuaris de la màquiina amb d'altres.

1.3 Profile

És el nom de l'arxiu que conté els detalls de configuració de l'entorn de cada usuari.

És l'equivalent a l'autoexec.bat de MS-DOS.

Page 8: Curs de Unix

Curs de Unix8/33

2 Línia de comandes

2.1 Maneig d'arxius

ls Mostra el contingut del directori actual.

Nomenclatura:

ls [opcions] Opcions:

-a ,tots els arxius.-l ,llistat llarg. Inclou tots els premisos, propietaris, grups i tipus de

fitxer. 

mvCanvia el nom a un arxiu o directori, o mou un grup de fitxers a un directori.

Nomenclatura:mv <arxiu1> <arxiu2>mv <dir1> <dir2>mv <arxius> <dir>

Page 9: Curs de Unix

Curs de Unix9/33

2 Línia de comandes

chmod Assigna els permisos d'escriptura, lectura o execució al propietari, al grup o a

tothom dels arxius.

Nomenclatura:

chmod [opcions] <permisos> <fitxer>

Opcions:

-R ,recursiu.

Permisos:

S'han de posar els permisos d'usuari, grup i resta de possibles usuaris.

Cap permís: 0. Permís d'execució: 1.

Permís de lectura: 2. Permís d'escriptura: 4.

Exemple:

chmod pepet 720

Page 10: Curs de Unix

Curs de Unix10/33

2 Línia de comandes

cp Permet copiar arxius.

Nomenclatura:

cp [opcions] <origen> <desti>

Opcions:

-p ,conserva els permisos origianls sobre el destí.

-R ,copia recursiva.

rm Esborra arxius (no directoris).

Nomenclatura:

rm [opcions] <nom>

Opcions:

-r ,permet esborrar un directori.

-i ,pregunta si es vol esborrar arxiu per arxiu.

La comanda rmdir permet esborrar dirèctament un directori sense fer servir la opció r.

Page 11: Curs de Unix

Curs de Unix11/33

2 Línia de comandes

2.2 Comandes diverses:

manEnsenya per la pantalla el manual d'us de qualsevol comanda de la shell, així com les llibreries ANSI de C que pertanyen al compilador Unix.

Nomenclatura:

man <nom>

Ens podem moure per la pantalla amb les tecles u (amunt) i d (avall). Per a sortir, emprarem la q.

catMostra el contingut d'un arxiu de texte per la pantalla.

Nomenclatura:

cat <nom>

Page 12: Curs de Unix

Curs de Unix12/33

2 Línia de comandes

wc Compta el nombre de caràcters, paraules o línies en un arxiu.

Nomenclatura:

wc [opcions] <nom>

Opcions:

-c ,compta caràcters.

-w ,compta paraules separades per espai, tabulador o salt de carro.

-| ,compta els salts de carro.

tail Permet veure el final o l'inici d'un arxiu.

Nomenclatura:

tail [offset] <arxiu>

L'offset és un valor que pot ser negatiu o positiu. Si és positiu, ensenya n línies de l'inici de l'arxiu. Si és negatiu, ensenya n línies del final.

Page 13: Curs de Unix

Curs de Unix13/33

2 Línia de comandes

grep, egrep, fgrepPermet trobar una expressió o caràcter en un fitxer o grup de fitxers.

Nomenclatura:

grep [opcions] <expressió> <arxius>

egrep [opcions] <expressió> <arxius>

fgrep [opcions] <expressió> <arxius>

Opcions:

-v ,llista les línies que no coincideixen amb l'expressió.

-c ,compta les línies que coincideixen.

-n ,cada línia s'ensenya amb el seu nombre relatiu corresponent.

-i ,pèrdua del case-sensitive.

-f ,arxiu, on l'arxiu conté l'expressió a trobar. Només es pot fer servir amb fgrep.

- | ,permet múltiples opcions. Només es pot fer servir amb egrep.

Page 14: Curs de Unix

Curs de Unix14/33

2 Línia de comandes

sortPermet fer la ordenació de les paraules o caràcters d'un arxiu. La ordenació pot ser amb criteris numèrics, per caràcter o múltiples.

Nomenclatura:

sort [opcions] <arxiu>

Opcions:

-c ,comrova que l'arxiu estigui prèviament ordenat

-d ,ordena alfabèticament

-f ,intercanvia majúscules amb minúscules a efectes d'ordenació.

-r ,inverteix l'ordre.

Page 15: Curs de Unix

Curs de Unix15/33

2 Línia de comandes

cutPermet extreure camps dintre d'un arxiu o grup d'arxius.

Nomenclatura:

cut -f<camp> -d<separador_de_camps> <arxius>

El camp són els caràcters a sumprimir dintre de l'arxiu. Poden tenir caràcters previs que no volem i que es poden suprimir introduin-los prèviament amb el separdor de camps. El camp es defineix amb la seva posició a partir de l'inici de la línia i es poden escollir diversos camps separant per comes.

Exemple:

cut -f1,5 -d:/etc/passwd

Aquest ordre donaria el login de cada usuari i els seu password.

Page 16: Curs de Unix

Curs de Unix16/33

2 Línia de comandes

diffCompara dos fitxers de text i mostra que s'hauria de fer per a fer que siguin idèntics.

Nomenclatura:

diff arxiu1 arxiu2

lessEdita sense possibilitat d'escriure un arxiu de text. Moviment = “man”

findPermet trobar un arxiu dintre del directori on estem treballant.

Nomenclatura:

find -name <arxiu>

finger

Permet saber el nombre i el nom dels usuaris que estan connectats.

Page 17: Curs de Unix

Curs de Unix17/33

3 Redireccionament

Funció interconnectar processos per generar comandes més complexes

Opcions i aplicacions:|| “OR”. Executa la comanda de l´esquerra, si la comanda de l´esquerra no té éxit (fals) s´executa la de la dreta. Sintaxi: “$<com1> || <com2>”&& “AND”. Executa la comanda de la seva dreta nomès si la de la esquerra té éxit. La sintaxi és la mateixa que ||> Redireccionament de la sortida de la comanda que té a la dreta a un arxiu (Ex: who >temp)>> El mateix que (>), però en aquest cas es fa un afegeix al final de l´arxiu.< Agafa l´entrada d´un programa (que escriurem a l´esquerra) des d´un arxiu (que el posarem a la dreta). (Ex: sort <temp).| (pipe) Serveix per fer redireccionament sense l´ús de arxius temporals (Ex: els dos exemples últims utilitzen un temp que ens el podem estalviar fent “$ who | short”).& multitasca. Permet mostrar el shell $ i deixar una comanda operant deixant lliure el telcat per fer una altra cosa. (Ex: “$who &”).

Page 18: Curs de Unix

Curs de Unix18/33

4 Scripts

El sistema operatiu ens permet fer petites aplicacions que corren com programes.

Perquè el sistema la pugui entendre, a la primera línia de l'arxiu hem de posar "!#bin/bash".

I    

Page 19: Curs de Unix

Curs de Unix19/33

4 Scripts

4.1 Tractament de variables

Per a declarar una variable només cal donar-li un valor.

-Accedir al contingut d'una variable '$variable'

-Per assignar un valor 'variable=...'.

Si vull copiar a sobre b ho farem així:

a=$b

A més a més, hi ha deu variables pròpies del sistema que tenen noms numèrics de 0 a 9. El seu valor se'ls hi dóna en cridar el programa, la variable 1 serà el primer paràmatre després del nom, la 2 el segon... La variable 0 correspon al propi nom del script, i podem saber quants paràmetres s'han introduit amb una variable de nom #.

Page 20: Curs de Unix

Curs de Unix20/33

4 Scripts

4.2 Entrada/Sortida

ReadEns llegirà el que s´escrigui per mitjà de teclat desde que es comença la comanda fins que es pulsa return. Aquesta informació es guardarà a la variable indicada.Nomenclatura:

read <variable> 

Echo

Comanda utilitzada per mostrar missatges a la pantalla.

Nomenclatura:Echo " .... ”

Particules que s’utilitzen amb la comanda echo: \t -> tabulació \n -> salt de línia \v -> salt de línia i tabulació

Page 21: Curs de Unix

Curs de Unix21/33

4 Scripts

4.3    El condiconal if, la comanda test.

Page 22: Curs de Unix

Curs de Unix22/33

4 Scripts

Page 23: Curs de Unix

Curs de Unix23/33

4 Scripts

La condició booleana pot ser dels tipus:-a and-o or-eq equal-ne not equal-gt greater than-lt little than-ge great or equal-le little ot equal

Exemple: if [ $a -eq “hola” ] )  

A més diposem de la comanda “test” que la farem servir que comprovar l´estat o l´existència d´un arxiu:

test –f si exiteix el fitxer retorna certtest –x si el fitxer és executabletest –r si el fitxer és llegibletest –s si el fitxer és llegible i té un tamany major a zero (no és

buit)

Page 24: Curs de Unix

Curs de Unix24/33

4 Scripts

4.4 La comanda Case

Segons el valor de la variable executa un conjunt de sentències o un altre.

Nomenclatura:

“ case $<variable> in

valor1) <sentencies>

;;

valor2 ) <sentencies>

;;

*) <sentencies>

;;

esac

Page 25: Curs de Unix

Curs de Unix25/33

4 Scripts

4.5 Iteratius: while for i until

While La sentència s’executarà la sentència fins que l'expressió no es compleixi.Nomengaltura:

while [expressió] do<sentencies>done

For

La comanda for realitza la iteració un nombre concret de cops:

Nomenclatura:for <nomvariable> in <valor incial> , <valor final>do<sentencies>done

Page 26: Curs de Unix

Curs de Unix26/33

4 Scripts

Until

Executara la sentència fins que l'expressió es compleixi.

Nomenclatura:

until [expressió] do

<sentencies>

done

Page 27: Curs de Unix

Curs de Unix27/33

5 Funcions

Definicio de la funció:

Function <nom de la funcio> {

<sentencies>

}

Crida a la funció:

<nom de la funcio>

El programa salta a la funció, executa el codi i després torna al punt de la crida per continuar executant el codi que ve després de la crida.

Page 28: Curs de Unix

Curs de Unix28/33

6 Bibliografia

• "Running Linux.", Matt Welsh, Matthias Kalle Dalhemer &Lar Kaufman; ed. O'Reilly, 1999. => biblioteca, explica com instal·lar i manejar un ordinador amb Linux.

• "Advanced progamming in the UNIX environment.", W. Richard Stevens; ed. Addison Wesley. => biblioteca. Explica el funcionament de processos del sistema i com crear-ne.

• "A user guide to the UNIX system.", Rebecca Thomas PhD, Jean Yates; ed. Osborne/Mc Graw-Hill. => biblioteca, parla sobre la línia de comandes. Antiguitat. Potser problemes de compatibiltat amb el que diu.

• "Using Linux.", Jack Tacket Jr., David Gunter; ed. QUE Corporation.

Page 29: Curs de Unix

Curs de Unix29/33

6 Bibliografia

www

www.starlinux.com.ar/revista/agosto2000/bash2.html

personal2.iddeo.es/19quiros56/Quirospa/unix.html

www.linux.org.ar/info/articulos/Novack/Novack-1.html

Page 30: Curs de Unix

Curs de Unix30/33

7 Exemples

Per veure si existeix un arxiu:

clear

if !(test -f $1)

then

echo " La palabra esta en el archivo "

exiy

else

echo " la palabra no esta “

fi

Page 31: Curs de Unix

Curs de Unix31/33

7 Exemples

Per veure si una paraula esta fins un fitcher:

 

clear

if !(grep $1 $2)

then

echo " la palabra no esta "

exit

else

echo " la palabra esta en esta linia “

fi

Page 32: Curs de Unix

Curs de Unix32/33

7 Exemples

Utilitzacio de funcions:

clearfunction Orden{ sort $archivo }function Desorden{ sort -r $archivo }function Muestra{grep $palabra $archivo }

Page 33: Curs de Unix

Curs de Unix33/33

  7 Exemples

opciones=$#

funcion=$1

archivo=$2

palabra=$3

 

case $funcion in

ordenar)

Orden;;

desordenar)

Desorden;;

existe)

Muestra;;

esac


Recommended