Shell Practica3
-
Upload
iratxesartaguda -
Category
Documents
-
view
217 -
download
1
description
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.