Upload
an
View
244
Download
1
Embed Size (px)
DESCRIPTION
Ejercicios Prácticos de Linux
Citation preview
Ejercicios Prcticos de Linux
Ejercicios Prcticos de LinuxEjercicio N 1 Crear una estructura desde el directorio /home que incluya varios directorios, subdirectorios y archivos, segn 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 dir11, suponiendo que el directorio actual dir2 y otra vez como dir1.cd ../dir2
cp f4 ../dir1/dir11
cd ../dir1
cp ../dir2/f4 dir11/f4 Crear el directorio copia dentro del directorio usuario y copiar en l, el contenido de dir1.cd ..
mkdir copia
cp r dir1/* copia | cp dir1/* copia Renombrar el fichero f1 por el nombre fichero y ver los permisos de ese fichero.mv f1 fichero
ls l fichero Cambiar los atributos de ese fichero f1 utilizando los dos mtodos con todos los permisos para el usuario y ninguno para el resto. Todos los permisos para todos. Lectura y ejecucin para el usuario y los otros nada.chmod 700 fichero
chmod 777 fichero
chmod 300 fichero
umask 077
umask 000
umask 477 Borrar la estructura utilizando los distintos comandos.cd ..
rm r usuarioEjercicio N 2Crear un fichero con estructura de base de datos en el que cada campo se separa con dos puntos. Los campos de dichos fichero son: nombre del alumno, curso, poblacin y edad.Desde usuario:
cat > basedatos
pepe:1:montilla:17
antonio:2:crdoba:18
franci:1:montilla:18
Sali:2:crdoba:17a. Buscar todos los alumnos que son de una poblacin concreta. grep i montilla basedatosb. Buscar los alumnos que son de un curso concreto y adems tienen una edad determinada. egrep i 1|17 basedatosc. Buscar los archivos en los que aparezca el nombre de un alumno. grep l i pepe *d. Buscar registros en los que aparezca una poblacin o una edad determinada. egrep i curso|edad *e. Crear un archivo en los que aparezcan tres poblaciones diferentes y despus en el primer fichero utilizarlo para hacer una bsqueda de esas poblaciones. cat > poblaciones
montilla
crdoba
priego
fgrep f poblaciones basedatosEjercicio N 3Crear un fichero estructurado con los siguientes campos: alumno, edad y curso, que utilice el espacio en blanco como separador y sobre este fichero:
Desde usuariocat > campos
barry 17 1
sali 18 2
franci 17 1
antonio 17 21. Visualizar el nombre de los alumnos y su edad. cut d f 1,2 campos2. Ordenar este fichero por el primer campo. sort campos3. Ordenar el fichero por edad.sort n +2 campos4. Ordenar el fichero por el curso dejando la ordenacin en el mismo fichero.sort n +3 o campos campos5. Crear un segundo fichero con los siguientes campos: curso, nmero de planta y nmero 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 > campos36. Visualizar los permisos de los archivos de nuestro directorio y el nombre de esos archivos. ls l * | cut c 1-10,55-Ejercicio N 4Crear un fichero de base de datos utilizando como separador los dos puntos:
Desde usuario
cat > raro
rejected:0
offspring:8
rejected:0
linkinpark:4a. Cambiar el separador. tr : < rarob. Cambiar las vocales minsculas por maysculas y viceversa. El resultado lo llevamos a otro fichero. tr [a-z] [A-Z] < raro > raro2c. Cifrar ese fichero y guardar el resultado en otro fichero. tr [AEIOU] [$%] < raro2 > raro3d. Descifrarlo. tr [$%] [aeiou] < raro3e. Ordenar el fichero y mostrar las lneas repetidas.sort raro | uniq -d f. Visualizar los valores del segundo campo ordenndolos y mostrando el nmero de valores repetidos en ese campo. sort n +2 | uniq -cEjercicio N 5Buscar todos los usuarios de un grupo de trabajo que tengamos creado en nuestro ordenador y el resultado lo llevamos a un fichero.
Desde usuario:
cd ../../etc
cat passwd
grep 501 /etc/passwd > /home/usuario/grupo
cd ../home/usuario1. Sobre el fichero creado en el ejercicio anterior visualizar el nombre de los usuarios y su nmero de usuario. cut d : f 1,3 grupo2. Borrar una lnea de ese fichero.sed 2 grupo3. Sustituir el nombre de todos los usuarios por otro nombre. sed s/usuario/barry/ grupo > grupo2Ejercicio N 6Visualizar la fecha del sistema con varios formatos:
a. Fecha igual a la fecha completa. dateb. Hora igual hora:minutos:segundos. date +%Tc. Hoy es da del mes del ao. date +Hoy es %d del %m del %yd. Hoy es el da x del ao. date +Hoy es %j del ao %YEjercicio N 7Crear un fichero estructurado de base de datos, que contenga los siguientes campos: nombre_alumno:edad:curso:poblacin. Y sobre el mismo fichero realiza:
Desde usuario:
cat > gente
franci:17:5:montilla
sali:18:6:montilla
sergio:24:7:crdoba
barri:17:5:montilla
sergio:13:1:crdobaa. Ordenarlo y llevar el resultado a otro fichero. sort gente > gente2b. Ordenar los alumnos de mayor a menor edad.sort +2 n r o gente2 gente2c. Ordenarlo por el tercer campo, mostrando el nmero de coincidencias para ese campo.sort +3 n gente2 | uniq -c d. Obtener los nombres de alumnos de un curso.grep 5 gente2 | cut d : f 1e. Obtener el curso de los alumnos de una poblacin, ordenados alfabticamente e indicando cuantos hay en cada curso. Grep montilla gente2 | cut d : f 3 | uniq c | sort -nf. Crear otro fichero cuyos campos sean: aula:nmero_alumnos:curso:tipo_de_estudios. Y obtener los cursos que van a un aula.cat > clase
11:29:1:base
15:23:5:letras
16:26:6:ciencias
16:25:7:informatica
grep 16 clase | cut d : f 3g. Ver los estudios de cada curso sin repeticiones y ordenados por curso. Grep 16 clase | uniq u | sort n +3 | cut d : f 4Ejercicio N 8Crear un fichero .bash_profile que permita cambiar el fichero histrico y fije el nmero de sucesos en 50. Adems crear la variable CDPATH que incluya el directorio personal y algn directorio de los otros usuarios.Desde usuario:
vi .bash_profile
pulsamos la tecla Insert y escribimos las siguientes ordenes
CDPATH=/home/usuario
HISTSIZE=50
pulsamos Esc y escribimos
:x
pulsamos IntroEjercicio N 9Crear la variable PS1 que incluya el nombre del usuario, el directorio completo y el smbolo > . Adems crear tres variables de usuario, probando si estas variables funcionan en otro shell subordinado cuando se exportan y cuando no se exportan.
Desde usuario:
vi .bash_profile
pulsamos la tecla Insert y escribimos las siguientes ordenes:
PS1=[\usuario@\w]>
variable1=1
variable2=2
variable3=3
pulsamos la tecla Esc y escribimos:
:x
pulsamos la tecla IntroEjercicio N 10 Crear el fichero .bashrc con tres alias de comandos que permitan pedir confirmacin cada vez que borramos, copiamos y movemos algn Archivo.
Activar las tres caractersticas que hemos comentado anteriormente en este manual.Ejercicio N 11Crear el siguiente fichero estructurado con los campos que se indican a continuacin:
Nmero del alumno : asignatura : Nota
Desde usuario:
cat > fichero
3:ple:6
1:ple:4
1:sim:6
2:ana:7
3:iam:7
a) Visualizar las notas de un alumno.
grep 1 fichero | cut d : f 3b) Visualizar las notas de una asignatura.
grep ple fichero | cut d : f 3c) Cuantas asignaturas tiene cada alumno.
sort fichero | uniq -cd) Crear otro fichero estructurado, que contenga los siguientes campos:
Nmero del alumno : nombre : direccin : poblacin : curso
cat > fichero2
3:jesus:fuente:montilla:1
1:manu:vega:montilla:2
2:sergio:algo:cordoba:1Y visualiza los datos de un alumno y las notas en cada una de las asignaturas.
sort o fichero fichero
sort o fichero2 fichero2join t : j1 1 j2 1 fichero2 ficheroe) Ver las notas de los alumnos de un curso.
Join t : j1 1 j2 1 fichero2 fichero | cut d : f 2,5,7 | grep 1f) Cuantos alumnos hay en cada curso.
cut d : f 5 fichero2 | uniq -c