Ejercicios Prácticos de Linux Ejercicio Nº 1 Crear una estructura desde el directorio /home que incluya incluya varios varios director directorios, ios, subdirec subdirectori torios os y archivo archivos, s, según el esquema del dibujo de la derecha. Creamos un usuario nuevo llamado usuario. cd ./../home/usuario mkdir dir1 mkdir dir2 cd ./dir1 mkdir dir11 cd .. cat > f1 cat > f2 cd dir1 cat > f3 cd ../dir2 cat > f4 •
Mover el fichero f3 al directorio de trabajo home/usuario. cd ../dir1 mv f3 ../f3 •
Copiar el fichero f4 en el directorio dir, suponiendo suponiendo que el directorio actual dir! y otra ve" como dir. cd ../dir2 cp f4 ../dir1/dir11 cd ../dir1 cp ../dir2/f4 dir11/f4 dir11/f4 •
Crear el directorio copia dentro del directorio usuario y copiar en #l, el contenido de dir. cd .. mkdir copia cp r dir1/! copia " cp dir1/! copia •
$enombrar el fichero f por el nombre fichero y ver los permisos de ese fichero. mv f1 fichero ls l fichero •
Cambiar los atributos de ese fichero f utili"ando los dos m#todos con todos los permisos para el usuario y ninguno para el resto. %odos los permisos para todos. &ectura y ejecuci'n para el usuario y los otros nada. chmod #$$ fichero chmod ### fichero chmod 3$$ fichero umask $## umask $$$ umask 4## •
(orrar la estructura utili"ando los distintos comandos. cd .. rm r usuario •
1
Ejercicio Nº 2 Crear un fichero con estructura de base de datos en el que cada campo se separa con dos puntos. &os campos de dichos fichero son) nombre del alumno, curso, poblaci'n y edad.
%esde usuario& cat > 'asedatos pepe&1&montilla&1# antonio&2&c(rdo'a&1) franci&1&montilla&1) *ali&2&c(rdo'a&1# a. (uscar (uscar todos todos los alumno alumnos s que son son de una poblaci' poblaci'n n concreta concreta.. +rep i ,montilla- 'asedatos b.
(usc (uscar ar los los alu alumnos mnos que que son son de un curs curso o conc concre reto to y adem adem*s *s tien tienen en una una edad dad determinada.
e+rep i 1"1# 'asedatos c.
(uscar (uscar los archivos archivos en en los que que apare" apare"ca ca el nombr nombre e de un alumno. alumno.
+rep l i ,pepe- ! d. (uscar registros registros en los que apare"ca apare"ca una poblaci'n poblaci'n o una edad determina determinada. da.
e+rep i curso"edad ! e. Crear Crear un archi archivo vo en los que apare apare"ca "can n tres tres poblaci poblacion ones es difere diferente ntes s y desp despu#s u#s en el primer fichero utili"arlo para hacer una búsqueda de esas poblaciones.
cat > po'laciones montilla c(rdo'a prie+o f+rep f po'laciones 'asedatos
2
Ejercicio Nº 3 Crear un fichero estructurado con los siguientes campos) alumno, edad y curso, que utilice el espacio en blanco como separador y sobre este fichero) Desde usuario cat > campos 'arr0 1# 1 sali 1) 2 franci 1# 1 antonio 1# 2 . +isuali +isuali"ar "ar el el nombr nombre e de los alumnos alumnos y su edad. edad.
cut d , , f 12 campos !. rdena rdenarr este este fiche fichero ro por por el prim primer er campo campo..
sort campos 3. rden rdenar ar el fich ficher ero o por por edad edad..
sort n 2 campos 4. rdenar rdenar el fichero fichero por por el curso dejando dejando la ordenaci'n ordenaci'n en el mismo fichero. fichero.
sort n 3 o campos campos -. Crear Crear un segu segund ndo o ficher fichero o con los siguien siguientes tes campo campos) s) curso curso,, núme número ro de planta planta y número de aula y crear un tercer fichero que sea el resultado de los dos anteriores.
cat > campos 2 2 14 1 2 12 sort o campos2 campos2 join t , , j1 3 j2 1 campos campos2 campos2 > campos3 . +isua +isuali" li"ar ar los permi permisos sos de los archivo archivos s de nuestro nuestro direc director torio io y el nombre nombre de esos esos archivos. ls l ! " cut c 11$
Ejercicio Nº 4 Crear un fichero de base de datos utili"ando como separador los dos puntos)
3
%esde usuario cat > raro rejected&$ offsprin+&) rejected&$ linkinpark&4 a. Camb Cambia iarr el sep separ arad ador or.. tr ,&- , , 5 raro b. Cambiar Cambiar las vocales vocales minúsc minúsculas ulas por por mayúsculas mayúsculas y viceversa viceversa.. 0l resultado resultado lo llevamos llevamos a otro fichero.
tr ,6a78- ,69:8- 5 raro > raro2 c.
Cifrar Cifrar ese fiche fichero ro y guarda guardarr el resulta resultado do en otro ficher fichero. o.
tr ,69E;<=8- ,6?@A8- 5 raro2 > raro3 d.
1esc 1esciifra frarlo. lo.
tr ,6?@A8- ,6aeiou8 5 raro3 e. rdena rdenarr el ficher fichero o y mostra mostrarr las l2neas l2neas repeti repetidas. das.
sort raro " uniB d f.
+isua +isuali" li"ar ar los valor valores es del segund segundo o campo campo orden* orden*nd ndolo olos s y mostr mostran ando do el númer número o de valores repetidos en ese campo.
sort n 2 " uniB c
Ejercicio Nº (uscar todos los usuarios de un grupo de trabajo que tengamos creado en nuestro ordenador y el resultado lo llevamos a un fichero.
4
%esde usuario& cd ../../etc cat passd +rep $1 /etc/passd > /home/usuario/+rupo cd ../home/usuario . obre el el fichero creado en el ejercicio ejercicio anterior anterior visuali"ar visuali"ar el nombre de los usuarios usuarios y su número de usuario. cut d ,&- f 13 +rupo !. (orra (orrarr una una l2nea l2nea de ese ese fiche fichero. ro.
sed 2 +rupo 3. ustituir ustituir el el nombre nombre de de todos todos los usuar usuarios ios por por otro otro nombre. nombre.
sed ,s/usuario/'arr0/- +rupo > +rupo2
Ejercicio Nº D +isuali"ar la fecha del sistema con varios formatos) a. echa echa igual igual a la fecha fecha com comple pleta ta..
date
5
b. 5ora 5ora igual igual hora)mi hora)minut nutos) os)seg segun undo dos. s.
date A c.
5oy 5oy es es d2a d2a del del mes mes del del a6o a6o..
date Fo0 es Ad del Am del A0 d. 5oy 5oy es es el el d2a d2a 7 del del a6o. a6o.
date Fo0 es Aj del aGo AH
Ejercicio Nº # Crear Crear un fichero fichero estructura estructurado do de base de datos, datos, que conteng contenga a los siguientes siguientes campos) campos) nombre8alumno)edad)curso)poblaci'n. 9 sobre el mismo fichero reali"a)
%esde usuario& cat > +ente franci&1#&&montilla
6
sali&1)&D&montilla ser+io&24&c(rdo'a 'arri&1#&&montilla ser+io&13&1&c(rdo'a a. rdena rdenarlo rlo y llevar llevar el el resulta resultado do a otro fichero. fichero. sort +ente > +ente2 b. rdena rdenarr los los alumnos alumnos de mayor mayor a menor menor edad. edad.
sort 2 n r o +ente2 +ente2 c.
rdenarlo rdenarlo por el tercer tercer campo, campo, mostrando mostrando el número de coincidencias coincidencias para ese campo. campo.
sort 3 n +ente2 " uniB c d. btener btener los nombres nombres de alumn alumnos os de de un curso. curso.
+rep +ente2 " cut d ,&- f 1 e. bten btener er el curso curso de los alumn alumnos os de una poblac poblaci' i'n, n, orde ordenad nados os alfab#ti alfab#tica camen mente te e indicando cuantos hay en cada curso.
Irep montilla +ente2 " cut d ,&- f 3 " uniB c " sort n f.
Crear Crear otro fichero fichero cuyos campos campos sean) sean) aula)núme aula)número8a ro8alum lumnos)c nos)curso urso)tipo )tipo8de 8de8est 8estudio udios. s. 9 obtener los cursos que van a un aula.
cat > clase 11&2J&1&'ase 1&23&&letras 1D&2D&D&ciencias 1D&2&informatica +rep 1D clase " cut d ,&- f 3 g. +er +er los estudios estudios de cada cada curso curso sin repetic repeticione iones s y ordenados ordenados por por curso. curso. Irep 1D clase " uniB u " sort n 3 " cut d ,&- f 4
Ejercicio Nº ) Crear un fichero .bash8profile que permita cambiar el fichero hist'rico y fije el número de sucesos en -:. ;dem*s crear la variable C1<;%5 que incluya el directorio personal y algún directorio de los otros usuarios.
%esde usuario& vi .'ashKprofile pulsamos la tecla Insert 0 escri'imos las si+uientes ordenes C%L9FM/home/usuario
7
F;**;:EM$ pulsamos Esc 0 escri'imos & pulsamos Intro
Ejercicio Nº J Crear la variable < que incluya el nombre del usuario, el directorio completo y el s2mbolo = . ;dem*s crear tres variables de usuario, probando probando si estas variables funcionan en otro shell subordinado cuando se e7portan y cuando no se e7portan.
%esde usuario& vi .'ashKprofile pulsamos la tecla Insert 0 escri'imos las si+uientes ordenes& L*1M6OusuarioPO8> varia'le1M1 varia'le2M2 varia'le3M3 pulsamos la tecla Esc 0 escri'imos& & pulsamos la tecla Intro
Ejercicio Nº 1$ •
Crear el fichero .bashrc con tres alias de comandos que permitan pedir confirmaci'n cada ve" que borramos, copiamos y movemos algún ;rchivo.
8
•
;ctivar las tres tres caracter2sticas caracter2sticas que hemos hemos comentado comentado anteriormente anteriormente en este este manual.
Ejercicio Nº 11 Crear el siguiente fichero estructurado con los campos que se indican a continuaci'n) >úmero del alumno ) asignatura ) >ota
%esde usuario& cat > fichero 3&ple&D 1&ple&4 1&sim&D
9
2&ana 3&iam a? +isua +isuali" li"ar ar las las notas notas de un un alumn alumno. o.
+rep 1 fichero " cut d ,&- f 3 b? +isuali +isuali"ar "ar las notas notas de de una una asignatu asignatura. ra.
+rep ple fichero " cut d ,&- f 3 c? Cuant Cuantas as asign asignatu aturas ras tien tiene e cada cada alumn alumno. o.
sort fichero " uniB c d? Crear Crear otro fichero fichero estructu estructurad rado, o, que conteng contenga a los siguiente siguientes s campos) campos) >úmero del alumno ) nombre ) direcci'n ) poblaci'n ) curso
cat > fichero2 3&jesus&fuente&montilla&1 1&manu&ve+a&montilla&2 2&ser+io&al+o&cordo'a&1 9 visuali"a los datos de un alumno y las notas en cada una de las asignaturas.
sort o fichero fichero sort o fichero2 fichero2 join t & j1 1 j2 1 fichero2 fichero e? +er +er las las notas notas de de los los alumno alumnos s de un curso curso..
Qoin t & j1 1 j2 1 fichero2 fichero " cut d ,&, f 2# " +rep 1 f?
Cuant Cuantos os alumn alumnos os hay hay en en cad cada a curs curso. o.
cut d ,&- f fichero2 " uniB c
10