Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sistemas Operativos y
Programacin
Grado en Ingeniera Elctrica
Boletn Prctica 1
Introduccin al shell de Unix
ls
ls
ls
ls
ls
/etc /bin
-l
-l /etc/profile
la
l -a
ORDEN man: Linux dispone de un manual en lnea que permite consultar la sintaxis,
la descripcin y las opciones de cualquier orden sobre la propia pantalla. Este manual se
invoca con la orden man.
Por ejemplo, para obtener informacin sobre la orden ls, que permite listar los
ficheros del directorio actual, escribiramos el siguiente comando:
$ man ls
La informacin se proporciona paginada por pantallas. Al final de la pantalla la
indicacin --More-- interroga si se desea avanzar a la siguiente pgina. Se puede
contestar:
Por otro lado, muchas rdenes incorporan, en su propio cdigo, una opcin para
proporcionar informacin sobre su funcionamiento. Normalmente esta opcin se indica
con --help. Por ejemplo:
$ ls --help
ORDEN date: permite consultar la fecha y hora del sistema. Tambin sirve para
modificar la fecha y hora, pero slo el administrador del sistema (tambin llamado
superusuario) puede modificar estos valores. La fecha y hora son valores crticos para
un sistema multiusuario. Muchos de los servicios del sistema dependen de que estos
valores sean correctos. Por ello, tan slo el administrador del sistema puede
modificarlos.
Ejemplo de uso de esta orden:
$ date
martes, 2 de septiembre de 2014, 11:09:40 CEST
ORDEN rmdir: elimina un directorio. Es necesario que dicho directorio est vaco.
$ rmdir
prueba1/prueba11
Descripcin
-a
-l
-R
-F
-t
-t -r
N de
enlaces
Modos
fichero
Propietario
Grupo
Fecha y hora de la
ltima modificacin
Tamao
Nombre
del fichero
10
11
12
ORDEN tail: permite visualizar el final de un fichero. Por defecto visualiza las 10
ltimas lneas. As por ejemplo:
$ tail /etc/profile
muestra las ltimas 10 lneas del fichero /etc/profile.
La orden tail tambin ofrece varias opciones interesantes:
Con el modificador num (siendo num un nmero), muestra las ltimas num
lneas del fichero. Por ejemplo, si queremos mostrar las ltimas 3 lneas del fichero
/etc/profile escribiramos:
$ tail -3 /etc/profile
Con el modificador n +num (siendo num un nmero), muestra el final del
fichero a partir de la lnea num. Por ejemplo, si queremos visualizar el contenido
del fichero /etc/profile a partir de la lnea 2 escribiramos:
$ tail n +2 /etc/profile
ORDEN head: permite visualizar el principio de un fichero. Por defecto visualiza las
10 primeras lneas. Funciona de forma similar a la orden tail. As, por ejemplo:
$ head /etc/profile
muestra las 10 primeras lneas del fichero /etc/profile.
En este caso, tanto el modificador num como n +num realizan la misma funcin, es
decir, muestran las num primeras lneas del fichero. Por ejemplo:
$ head -5 /etc/profile
$ head n +5 /etc/profile
En ambos casos muestra las 5 primeras lneas del fichero /etc/profile.
EJERCICIO: Genere un nuevo fichero en blanco (con la orden touch), edite dicho
fichero con el Bloc de Notas de Windows y aada el contenido que desee (incluya al
menos unas 15 lneas), convirtalo a continuacin a formato entendible por un sistema
Unix (con la orden dos2unix) y visualice su contenido utilizando ejemplos de todas
las rdenes presentadas anteriormente, es decir, con las rdenes cat, more, tail y head,
respectivamente, probando tambin sus diferentes opciones.
Indique a continuacin todas las rdenes empleadas y los resultados obtenidos. Puede
incluir tambin comentarios sobre las diferencias que se observan entre las distintas
rdenes.
6
13
14
15
EJERCICIO: Ejecute las rdenes anteriores del mandato ls y pruebe otras diferentes
combinaciones de metacaracteres. Anote a continuacin sus observaciones sobre los
resultados obtenidos.
9
EJERCICIO: Ejecute de nuevo las cinco rdenes echo anteriores, pero esta vez no
incluya ninguna comilla ni barra invertida. Muestre a continuacin qu obtiene (o bien
explique los problemas de ejecucin encontrados):
11
17
Descripcin
Ejemplos
($ es el prompt del sistema)
$ man ls
date
$ date
echo
mkdir
$ mkdir prueba1
rmdir
$ rmdir prueba1
$ pwd
man
pwd
cd
ls
touch
cat
more
$ cd ./prueba1
$ cd
$ cd ..
$ ls
$ ls -l
$ touch mifich
$ cat /etc/profile
$ cat fichero1 fichero2
$ more /etc/profile
tail
head
$
$
$
$
cp
Copia un fichero.
$ cp /etc/profile miprofile
mv
$ mv miprofile ./prueba1
$ mv fich newfich
rm
$ rm miprofile
tail
tail
head
head
/etc/profile
-5 /etc/profile
/etc/profile
-5
$ dos2unix mifich.txt
$ unix2dos mifich
18