Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SESIÓN 4:
UNIX
I
OBJETIVOS
• Explicar el entorno de trabajo del sistema operativo UNIX.
• Conocer los principales comandos en el entorno UNIX.
• Utilizar los entornos GNOME y KDE.
.
II
TEMAS A TRATAR
III
MARCO TEORICO
1. LINUX.
uso.
Pese a todo la enorme flexibilidad de Linux y su gran estabilidad (y el bajo
coste) han hecho de este sistema operativo una opción muy a tener en
cuenta por aquellos usuarios que se dediquen a trabajar a través de redes,
naveguen por Internet, o se dediquen a la programación. Además el futuro
de Linux es brillante y cada vez más y más gente y más y más empresas
(entre otras IBM, Intel, Corel) están apoyando este proyecto, con lo que el
sistema será cada vez más sencillo de emplear y los programas serán cada
vez mejores.
2. DISTRIBUCIONES.
ls *.? //Aquí se muestra todos los archivos cuya extensión tenga un solo
carácter.
[usuario@localhost]§ cat
Hola caracol.
Hola caracol.
Adiós.
Adiós.
<ctrl-D>
[usuario@localhost]$
Pruebe lo siguiente:
[usuario@localhost]§ sort
berenjenas
castañas
aceitunas
<Ctrl+D>
aceitunas
berenjenas
castañas
[usuario@localhost/para_imprimir]§
Hay otra forma de hacer esto. No solo puede ser re-direccionada la salida
estándar, también puede ser re-direccionada la entrada estándar usando el
símbolo <.
[usuario@localhost]§ls| sort -r
notas
tesis
historia-final
capítulo-1
[usuario@localhost]§
[usuario@localhost]§ ps
PID TTY TIME CMD
45 pts/0 00:00:00 bash
84 pts/0 00:00:00 ps
Para eliminar una tarea, utilice el comando kill. Este comando toma como
argumento un numero de tarea o un numero de ID de un proceso. Esta era
la tarea 1, así que usando el comando
[usuario@localhost]§ kill %1
[usuario@localhost]§ jobs
[1]+ Terminated lpr archivo &
Hay otra manera de poner una tarea en segundo plano. Usted puede
lanzarlo como un proceso normal (en primer plano), pararlo, y después
relanzarlo en segundo plano. Primero, lance el proceso cat *.c > programa
en primer plano como lo haría normalmente:
De nuevo, dado que cat corre en primer plano, no debe retornar el prompt
de la shell.
[usuario@localhost]§ fg %1
cat *.c > programa
[usuario@localhost]§ bg
[1]+ cat *.c > programa &
[usuario@localhost]§
Hay una gran diferencia entre una tarea que se encuentra en segundo plano
y una que se encuentra detenida. Una tarea detenida es una tarea que no se
[usuario@localhost]§ fg %2
(para la tarea de primer plano numero 2), o
[usuario@localhost]§ bg %3
(para la tarea de segundo plano numero 3). No se pueden usar los ID de
proceso con fg o bg.
[usuario@localhost]§ %2
es equivalente a
[usuario@localhost]§ fg %2
CAMBIAR DE DIRECTORIO:
Cuando hacemos login en linux, iremos al directorio base del usuario con el
que hagamos login, por ejemplo, si lo hacemos como " root " iremos a
/root , si lo hacemos como " jose " iremos al directorio /home/jose ... en
ese direcctorio base es en el que debemos instalar nuestros programas,
compilar, editar archivos... Para cambiar de directorio, lo hacemos al igual
que en ms-dos, con el comando "cd ".
Por ejemplo si estamos en /home/jose y queremos ir a /home/jose/a,
simplemente ponemos cd a; pero si queremos ir a /etc, pues ponemos cd
/etc , la " / " indica directorio hijo.
por ejemplo si no hay nada delante de " / ", quiere decir que ese directorio
cuelga directamente de la raiz, pero por ejemplo en /etc/ppp , ppp cuelga
de /etc...
Para volver al directorio padre, ponemos " cd .. " y para ir al raiz, ponemos
" cd / ".
También podemos referirnos a la ruta actual con " .. ", por ejemplo, en el
caso anterior, estando en " /home/jose ", para ir a " /home/jose/a ",
podemos poner " cd ../a ". Asimismo, si ponemos solamente " cd ", iremos
al directorio base del usuario con el que hayamos hecho login.
En resumen:
. Nombre de Vía del propio directorio.
.. Nombre de vía del directorio padre.
~ Nombre de Vía de su directorio propio.
LISTAR EL CONTENIDO DE UN DIRECTORIO:
Esto se hace a través del comando:
ls [-alF] [--color] [directorio/s] [fichero/s]
Por ejemplo para ver el contenido del directorio actual simplemente
hariamos:
[usuario@localhost]$ ls
Los parámetros que se le pueden pasar al comando son:
-a Muestra ficheros ocultos
-l Muestra los permisos de los ficheros que son listados
-F Distingue entre tipos de archivos, por ejemplo a los binarios o
ejecutables les coloca un " * " detrás
--color Igual que "-F", pero diferenciando los tipos de ficheros o
subdirectorios por colores.
Para
ver el contenido de los ficheros, aparte de los editores, existen tres
comandos:
CREAR DIRECTORIOS:
Esta tarea la realizaremos con el comando:
mkdir -p [directorio]
Con el parametro " -p ", indicamos que de no existir parte de la estructura
donde se quiere crear el directorio, debe ser creada.
Por ejemplo si queremos crear "/etc/ppp/conexion/clave" y no existe
"/conexion" sería necesario.
Para crear un directorio hijo al que nos encontramos, simplemente " mkdir
[directorio]"
[usuario@localhost]§mkdir DirNuevo
[usuario@localhost]§ls –F
COPIAR ARCHIVOS/DIRECTORIOS
Se utiliza el comando cp.
MOVER ARCHIVOS/DIRECTORIO
Pero si lo que queremos no es copiar un archivo o carpeta sino moverlo de
un lado al otro, entonces no podemos utilizar el comando cp (en realidad
podriamos copiar el archivo que necesitaramos mover a otra carpeta y
después borrarlo de el directorio actual, pero eso no seria logico). Por lo
contrario el comando adecuado para esta operacion seria "mv" (move). La
sintaxis de este comando es similar a la de cp:
BORRAR DIRECTORIOS:
rm [-friv] nombre (para borrar directorios y ficheros)
Los parametros de rm son :
-f No pide confirmación
-r Borrado recursivo de archivos y directorios
-v Se muestra lo que se va borrando
-i Se pide confirmación para cada fichero o directorio
En muchas ocasiones hay programas, archivos o directorios que no nos
sirven y lo unico que hacen es ocupar espacio en nuestro escaso (o quiza
no) disco rigido. Si queremos eliminar estos archivos o directorios usamos
el comando "rm" (remove). Su sintaxis es similar a la del comando "cp" o
"mv".
[usuario@localhost]§rm viejo_y_nosirve.txt
[usuario@localhost]§rm -R directorio_viejo/
IV
(La práctica tiene una duración de 2 horas) ACTIVIDADES
V
EJERCICIOS
De acuerdo con la siguiente jerarquía de directorios responda las preguntas
formuladas:
11. Encontrar todos los ficheros que no puedan ser leídos por su propietario
(Pista: investigar el uso de la opción -perm de la orden find).
Carlo Corrales Delgado
Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 18
12. Encontrar todos los ficheros que no puedan ser borrados por el propietario
del directorio en el que residen.
13. Calcular la máxima profundidad del subárbol personal (directorio de entrada).
(Pista: usar la orden find con la opción -printf, combinada con sort y tail).
14. Utilizando una única línea órdenes (y sin usar el separador ;) guarda en un
fichero llamado directorios los nombres (uno por línea) de todos los
subdirectorios existentes en el directorio /home (sin incluir los subdirectorios de
los subdirectorios), e imprime también en pantalla un listado a tres columnas
balanceadas y con las filas de las columnas numeradas. (Pista: usar las órdenes tee
y pr).
VI
CUESTIONARIO
1. ¿Qué es el kernel de Linux?.
2. ¿Qué es una distribución?.
3. ¿Qué es el GRUB?.
4. ¿Qué sucede si ejecutamos logout desde la línea de comandos?.
5. Haga un listado de todos los directorios del Linux con una descripción de lo
que cada uno contiene.
6. ¿Cómo podemos ver el directorio en el que nos encontramos?
VII
BIBLIOGRAFIA Y REFERENCIAS