Shell Practica3

21
SOyLP - Linux – Junio 2011 Práctica nº 3 1. Empezamos creando en tu directorio de usuario una carpeta con el nombre practica3 en la que iremos realizando todo lo que el guión exige. “patty@ubuntu:~$ mkdir practica3 Redirección de la salida (‘ >’ y ‘ >>’). Comando cat 2. Ejecuta el comando cat sin argumentos. Ahora escribe, por ejemplo, nombres de colores. Pulsa Enter después de cada color y observa que repite lo que vas escribiendo. Esto ocurre porque está utilizando la entrada y la salida estándar (stdin y stdout). “patty@ubuntu:~/practica3$ cat rojo rojo 3. Crea un fichero que contenga una lista de ciudades llamado ciudades. Para crear el fichero utiliza el comando cat, redireccionando la salida al fichero ciudades. (cat > ciudades (enter) escribe el nombre de una ciudad, enter así hasta 6 ciudades (enter) termina con Ctrl+D) “patty@ubuntu:~/practica3$ cat >ciudades Madrid

description

Linux

Transcript of Shell Practica3

Prctica n 1

SOyLP - Linux Junio 2011

Prctica n 3

1. Empezamos creando en tu directorio de usuario una carpeta con el nombre

practica3 en la que iremos realizando todo lo que el guin exige.

patty@ubuntu:~$ mkdir practica3

Redireccin de la salida ( > y >>). Comando cat

2. Ejecuta el comando cat sin argumentos. Ahora escribe, por ejemplo, nombres de colores. Pulsa Enter despus de cada color y observa que repite lo que vas escribiendo. Esto ocurre porque est utilizando la entrada y la salida estndar (stdin y stdout).

patty@ubuntu:~/practica3$ cat

rojo

rojo

3. Crea un fichero que contenga una lista de ciudades llamado ciudades. Para crear el fichero utiliza el comando cat, redireccionando la salida al fichero ciudades.

(cat > ciudades (enter) escribe el nombre de una ciudad, enter as hasta 6 ciudades (enter) termina con Ctrl+D)

patty@ubuntu:~/practica3$ cat >ciudades

Madrid

Paris

Barcelona

Zamora

Salamanca

Huelva

patty@ubuntu:~/practica3$ ls -l

total 4

-rw-r--r-- 1 patty patty 47 2011-06-07 18:49 ciudades

4. Muestra el contenido del fichero ciudades.

(cat ciudades)

patty@ubuntu:~/practica3$ nano ciudades

patty@ubuntu:~/practica3$ cat ciudades

Madrid

Paris

Barcelona

Zamora

Salamanca

Huelva

patty@ubuntu:~/practica3$

5. Aade dos nuevas ciudades al fichero ciudades.

(cat >> ciudades enter escribe el nombre de las dos ciudades y termina con Ctrl+D)

patty@ubuntu:~/practica3$ cat >> ciudades

Mostoles

Legans

patty@ubuntu:~/practica3$ cat ciudades

Madrid

Paris

Barcelona

Zamora

Salamanca

Huelva

Mostoles

Legans

patty@ubuntu:~/practica3$

6. Crea cinco subdirectorios llamados dir1, dir2, dir3, dir4 y dir5.

7. Puedes hacerlo en un solo comando? (prueba con mkdir)

patty@ubuntu:~/practica3$ mkdir dir1 dir2 dir3 dir4 dir5

ciudades dir1 dir2 dir3 dir4 dir5

8. Sitate en el directorio dir1 y crea cinco ficheros (fich1, fich2, fich3,) con cualquier contenido.

patty@ubuntu:~/practica3$ cd ..dir1

bash: cd: ..dir1: No existe el fichero o el directorio

patty@ubuntu:~/practica3$ cd dir1

patty@ubuntu:~/practica3/dir1$ cat >fich1

poemas

patty@ubuntu:~/practica3/dir1$ cat >fich2

versospatty@ubuntu:~/practica3/dir1$

patty@ubuntu:~/practica3/dir1$ ls

fich1 fich2

patty@ubuntu:~/practica3/dir1$ cat >fich3

moraleja

patty@ubuntu:~/practica3/dir1$ cat >fich4

hola

patty@ubuntu:~/practica3/dir1$ cat >fich5

adios

patty@ubuntu:~/practica3/dir1$

9.

9. Sitate en el directorio de origen y copia en dir2, dir3 y dir4 todos los ficheros de dir1. Puedes hacerlo con slo un comando? Verifica que los ficheros han sido copiados. (prueba como sabas con uno pero con espacios y al final el lugar de destino)

(((SUP...10. Crea en dir5 un fichero llamado concatena1 que contenga la concatenacin de todos los ficheros de dir2.

patty@ubuntu:~/practica3/dir1$ cd ..

patty@ubuntu:~/practica3$ cp dir1/* dir2| cp dir1/* dir3| cp dir1/* dir4

patty@ubuntu:~/practica3$ cd dir2

patty@ubuntu:~/practica3/dir2$ ls

fich1 fich2 fich3 fich4 fich5

patty@ubuntu:~/practica3/dir2$

11. Crea en dir5 un fichero llamado concatena2 cuyo contenido sea la lista de todos los ficheros que hay en dir1, dir2, dir3 y dir4

patty@ubuntu:~/practica3$ cd dir1

patty@ubuntu:~/practica3/dir1$ cat fich1 fich2 fich3 fich4 fich5

poemas

versosmoraleja

hola

adios

patty@ubuntu:~/practica3/dir1$ cat fich1 fich2 fich3 fich4 fich5 > concatena2

patty@ubuntu:~/practica3/dir1$ cat concatena2

poemas

vers3/dir1$osmoraleja

hola

adios

patty@ubuntu:~/practica

12. Crea tambin dos directorios llamados dir*, dir? observa que para reverenciarlos de manera especfica necesitars usar

patty@ubuntu:~/practica3/dir5$ mkdir dir\?

patty@ubuntu:~/practica3/dir5$ ls

concatena2 dir? dir*

patty@ubuntu:~/practica3/dir5$

Comando sort

13. Ejecuta el comando sort sin argumentos. Escribe nombres de colores. Observa que cuando pulsas Crtl+D se muestra la lista de colores ordenada alfabticamente.

patty@ubuntu:~/practica3/dir5$ sort

amarillo

rojo

blanco

amarillo

blanco

rojo

patty@ubuntu:~/practica3/dir5$

14. Muestra la lista de ciudades ordenada.

(sort ciudades)

patty@ubuntu:~/practica3$ ls

ciudades dir1 dir2 dir3 dir4 dir5

patty@ubuntu:~/practica3$ cd ciudades

bash: cd: ciudades: No es un directorio

patty@ubuntu:~/practica3$ sort ciudades

Barcelona

Huelva

Legans

Madrid

Mostoles

Paris

Salamanca

Zamora

patty@ubuntu:~/practica3$

15. Muestra la lista de ciudades en orden inverso.

(sort -r ciudades)

patty@ubuntu:~/practica3$ sort -r ciudades

Zamora

Salamanca

Paris

Mostoles

Madrid

Legans

Huelva

Barcelona

patty@ubuntu:~/practica3$

16. Crea otro fichero llamado ciudades.ordenadas que contenga una lista ordenada con las ciudades del fichero ciudades.

(sort ciudades > ciudades.ordenadas)

patty@ubuntu:~/practica3$ sort ciudades > ciudades.ordenadas

patty@ubuntu:~/practica3$ ls

ciudades ciudades.ordenadas dir1 dir2 dir3 dir4 dir5

patty@ubuntu:~/practica3$ cd ciudades.ordenadas

bash: cd: ciudades.ordenadas: No es un directorio

patty@ubuntu:~/practica3$ cd ..

patty@ubuntu:~$ cd practicas3

bash: cd: practicas3: No existe el fichero o el directorio

patty@ubuntu:~$ cd practica3

patty@ubuntu:~/practica3$ ls

ciudades ciudades.ordenadas dir1 dir2 dir3 dir4 dir5

patty@ubuntu:~/practica3$ nano ciudades.ordenadas

patty@ubuntu:~/practica3$

12b. Copia concatena 1 dentro de dir?

patty@ubuntu:~/practica3/dir5$ cp /home/patty/practica3/dir5/concatena2 /home/patty/practica3/dir5/dir\?

patty@ubuntu:~/practica3/dir5$ ls

concatena2 dir? dir*

patty@ubuntu:~/practica3/dir5$ cd dir\?

patty@ubuntu:~/practica3/dir5/dir?$ ls

concatena2

patty@ubuntu:~/practica3/dir5/dir?$

Comando grep

17. Crea un fichero llamado frases con algunas frases. Procura que la palabra casa aparezca en algunas de ellas.

patty@ubuntu:~/practica3$ cat >frases

ls

hola casa

universidad

ordenador

patty@ubuntu:~/practica3$

18. Busca en el fichero frases las lneas que contienen a la cadena casa.

(grep casa frases)

patty@ubuntu:~/practica3$ grep casa frases

hola casa

patty@ubuntu:~/practica3$

19. Busca las lneas de todos los ficheros del directorio /etc que contengan tu nombre de usuario. Observa que aparecen varias lneas con el mensaje

permission denied.

(grep usuario /etc/*)

patty@ubuntu:~$ ls

Descargas examples.desktop Plantillas practica2.tar.gz Vdeos

Documentos Imgenes practica practica3

Escritorio Msica practica2 Pblico

patty@ubuntu:~$ cd ..

patty@ubuntu:/home$ ls

patty

patty@ubuntu:/home$ cd ..

patty@ubuntu:/$ ls

bin dev host lib32 media proc selinux tmp vmlinuz

boot etc initrd.img lib64 mnt root srv usr

cdrom home lib lost+found opt sbin sys var

patty@ubuntu:/$ grep patty /etc/*

grep: /etc/at.deny: Permiso denegado

grep: /etc/blkid.tab: No existe el fichero o el directorio

grep: /etc/chatscripts: Permiso denegado

grep: /etc/fuse.conf: Permiso denegado

/etc/group:adm:x:4:patty

/etc/group:dialout:x:20:patty

/etc/group:cdrom:x:24:patty

/etc/group:plugdev:x:46:patty

/etc/group:lpadmin:x:112:patty

/etc/group:admin:x:120:patty

/etc/group:patty:x:1000:

/etc/group:sambashare:x:122:patty

grep: /etc/group-: Permiso denegado

grep: /etc/gshadow: Permiso denegado

grep: /etc/gshadow-: Permiso denegado

/etc/mtab:gvfs-fuse-daemon /home/patty/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=patty 0 0

grep: /etc/mtab.fuselock: Permiso denegado

/etc/passwd:patty:x:1000:1000:Mnica,,,:/home/patty:/bin/bash

grep: /etc/passwd-: Permiso denegado

grep: /etc/shadow: Permiso denegado

grep: /etc/shadow-: Permiso denegado

grep: /etc/sudoers: Permiso denegado

patty@ubuntu:/$

cd

Redireccin del error estndar

20. Repite el ejercicio anterior, pero redireccionando la salida a un fichero llamado salida. Observa que los mensajes de error siguen apareciendo en pantalla.

patty@ubuntu:/$ grep patty/etc/* >salida

bash: salida: Permiso denegado

patty@ubuntu:/$

(grep usuario /etc/* > salida)

21. Comprueba el contenido del fichero salida.

Lo que ocurre que el fichero queda vacio porque no tiene privilegios

22. Repite, otra vez, el ejercicio anterior, pero redireccionando los errores a un fichero llamado errores.

(grep usuario /etc/* 2> errores)

en este caso si se escribe en el fichero errores porque tiene el 2 delante

23. Comprueba el contenido del fichero errores.

24. Repite, por ltima vez, el ejercicio anterior, redireccionando la salida al fichero salida y los errores al fichero errores.

Cat errores salida > errores

da error porque la entrada y salida es la misma.

Comando wc

25. Muestra el nmero de caracteres del fichero frases.

(wc -c frases)

patty@ubuntu:~/practica3$ wc -c frases

36 frases

patty@ubuntu:~/practica3$

26. Muestra el nmero de palabras del fichero frases.

(wc -w frases)

patty@ubuntu:~/practica3$ wc -w frases

5 frases

patty@ubuntu:~/practica3$

27. Muestra el nmero de lneas del fichero frases.

(wc -l frases)

patty@ubuntu:~/practica3$ wc -l frases

4 frases

patty@ubuntu:~/practica3$

Interconexiones ( | ) (Para obtener el carcter hacemos AltGr + 1)

28. Muestra el contenido del directorio /usr/bin en orden inverso.

(ls /usr/bin | sort -r)

bash

bunzip2

busybox

bzcat

bzcmp

bzdiff

bzegrep

bzexe

bzfgrep

bzgrep

bzip2

bzip2recover

bzless

bzmore

cat

chgrp

chmod

chown

chvt

cp

cpio

29. Muestra el contenido del directorio /usr/bin paginado.

(ls /usr/bin | more)

30. Muestra el contenido del directorio /usr/bin en orden inverso y paginado.

(ls /usr/bin | sort -r | more)

31. Escribe una nica instruccin que permita introducir por teclado una lista de colores y cree un fichero llamado colores-invordenados con los colores en orden inverso.

patty@ubuntu:~/practica3$ sort -r > coloresinvertidos

verde

azul

patty@ubuntu:~/practica3$ ls

ciudades coloresinvertidos dir1 dir3 dir5

ciudades.ordenadas dir? dir2 dir4 frases

patty@ubuntu:~/practica3$ nano coloresinvertidos

patty@ubuntu:~/practica3$

32. Muestra el nmero de lneas de frases en las que aparece la cadena casa.

33. Muestra el nmero de ficheros y subdirectorios que contiene el directorio de trabajo.

34. Repite los dos ejercicios anteriores, pero de forma que el resultado se almacene en un fichero llamado resultados. Antes de cada nmero escribe un mensaje que explique lo que significa (utiliza para ello el comando echo).

Algunos operadores de control ( ; && || )

35. Ejecuta las siguientes rdenes y observa el resultado:

echo $PATH ; echo $SHELL

ecHo $PATH ; echo $SHELL

echo $PATH && echo $SHELL

ecHo $PATH && echo $SHELL

echo $PATH && ecHo $SHELL

echo $PATH1 && echo $SHELL

echo $PATH || echo $SHELL

ecHo $PATH || echo $SHELL

echo $PATH1 || echo $SHELL1

ecHo $PATH1 || echo $SHELL1

Entrega de la prctica

36. En tu carpeta de la prctica debers tener un fichero de texto llamado

comandos3 con los comandos que hayas ido ejecutando en esta prctica indicando el punto de la prctica que le corresponde. Al final, tal y como hicimos en la prctica anterior, toda la carpeta comprimida deber ser subida a tu web y linkarla en tu pgina de ndice.