Está en la página 1de 18

Laboratorio de Introducción a las Ciencias de la Computación Página 1

UNIVERSIDAD CATÓLICA DE SANTA MARÍA


PROGRAMA PROFESIONAL DE INGENIERÍA DE SISTEMAS

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

 El Sistema Operativo Linux y sus distribuciones.


 Operaciones del Shell.

III
MARCO TEORICO

1. LINUX.

Linux es un sistema operativo gratuito y de libre distribución inspirado en


el sistema Unix, escrito por Linus Torvalds con la ayuda de miles de
programadores en Internet. Unix es un sistema operativo desarrollado en
1970, una de cuyas mayores ventajas es que es fácilmente portable a
diferentes tipos de ordenadores, por lo que existen versiones de Unix para
casi todos los tipos de ordenadores, desde PC y Mac hasta estaciones de
trabajo y superordenadores.
Al contrario que otros sistemas operativos, como por ejemplo MacOS
(Sistema operativo de los Apple Macintosh), Unix no está pensado para
ser fácil de emplear, sino para ser sumamente flexible. Por lo tanto
Linux no es en general tan sencillo de emplear como otros sistemas
operativos, aunque, se están realizando grandes esfuerzos para facilitar su
Carlo Corrales Delgado
Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 2

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.

Una distribución contiene el Kernel Linux, bibliotecas y paquetes de software.


Es un conjunto de aplicaciones Linux preparadas para que el usuario las
pueda instalar (o ejecutar) de forma sencilla.

Algunas distribuciones Linux se pueden utilizar sin instalar nada en tu


ordenador. Se les llama LiveCD. Se graban en un cd y se inserta en el
ordenador. Suelen ejecutarse más lentamente, ya que funcionan desde el cd y
no puedes guardar los datos. Suelen incluir la opción de instalar la
distribución. Es una forma de probar Linux en tu ordenador y si te gusta,
instalar el sistema completo.

ALGUNAS DISTRIBUCIONES POPULARES

Ubuntu es una distribución libre de GNU/Linux


patrocinada por Canonical Ltd. Se centra en la facilidad de uso, amplio
soporte de hardware y funcionalidad. Es una de las distribuciones más
populares. Muy recomendada para quienes quieren migrar de Windows a
Linux. La última versión de es Ubuntu 9.10.

Debian proporciona un sistema operativo maduro y


estable. Muy configurable. Ubuntu se basa en esta distribución. El proyecto
Debian comenzó en el año 1993, evolucionando gracias a las aportaciones
de usuarios y desarrolladores. Es recomendable tener ciertos conocimientos
antes de lanzarse a utilizar Debian.

Fedora, una distribución general de buena calidad y facil de


instalar. Incluye lo último en software libre y código abierto. No se centra en
un sólo nicho de mercado, sino que sirve tanto para el usuario domestico,
como para el servidor de empresa. Cuenta con el respaldo de la empresa
americana Red Hat. La última versión es Fedora 9.

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 3

Mandriva da mucha importancia a la facilidad de uso. Esta


enfocada principalmente a usuarios novatos o de nivel medio. Incluye el
software más nuevo, lo cual puede hacer que en ocasiones sea algo inestable.
Es el precio a pagar por tener lo último. Ha perdido algo de popularidad
debido a la llegada de Ubuntu, que se enfoca al mismo tipo de usuarios. La
última versión de esta distribución Linux es Mandriva 2009.

3. INTERFAZ GRÁFICA DE USUARIO.

3.1 GNOME: AMBIENTE DE ESCRITORIO GNU


• Un escritorio tlpico de GNOME está compuesto de dos partes:
1. El Panel, es la barra en la parte inferior de la pantalla que tiene una
colección de menús, applets y lanzadores de aplicaciones. Contiene el
botón de inicio para el despliegue del menú de aplicaciones que es un
“pie" de gnomo.
2. El escritorio en sí, es todo lo que no es “el panel" y donde pueden ser
colocados programas, archivos y carpetas simplemente arrastrándolos del
manejador de archivos.
• Los diferentes manejadores de ventanas proveen múltiples escritorios a
GNOME y cada uno de estos escritorios tiene sus propias ventanas. Se
puede cambiar entre ellos con los mini-pantallas en el panel.

3.2 KDE: AMBIENTE DE ESCRITORIO KOOL


• Un escritorio tlpico de KDE está compuesto de tres partes:

• El Panel, inicialmente en la parte inferior de la pantalla. Usado para iniciar


Carlo Corrales Delgado
Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 4

aplicaciones y cambiar de escritorios. Contiene el botOn de inicio para el


despliegue del menu de aplicaciones que es una K de buen tamano con un
engrane de fondo.

• La barra de tareas. En la esquina superior izquierda de la pantalla, en


KDE1 y ahora integrada dentro del panel en KDE2. Es usada para cambiar
entre aplicaciones. También es el sitio donde quedan las aplicaciones una
vez han sido iconizadas

• El escritorio en si, donde pueden ser colocados programas, archivos y


carpetas.

4. OPERACIONES DEL SHELL

Shell: Programa que interpreta las ordenes de los usuarios en


instrucciones para el sistema operativo.

SINTAXIS DE LAS ÓRDENES

$ Orden Opciones Argumentos.

Opciones: Es una letra precedida por un guion y modifica el tipo de acción


que realizara la orden.

Ls –l //Lista todos los archivos mas información de cada archivo.

Argumentos: Palabra que se teclea detrás de las opciones.

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 5

cp -i ../archivo1 archivo2 //Permite copiar un archivo con otro nombre.

CARACTERES ESPECIALES O COMODÍN

CARACTERES ESPECIALES: *,?,[].

*: Hace referencia a un conjunto de caracteres.

ls * //Lista todos los Ficheros.


ls doc* //Lista los ficheros que comiencen con doc

?: Hace referencia a un sólo carácter.

ls *.? //Aquí se muestra todos los archivos cuya extensión tenga un solo
carácter.

[]: Permiten restringir a un conjunto de caracteres.

ls doc[pa] // Muestra Ios archivos docp o doca


ls doc[1-3] //Muestra archivos que terminen en 1,2,3. doc1 , doc2

El sistema operativo posee un manual en línea mediante el comando


man nombre_del_comando
Se obtiene, en inglés, una pequeña ayuda sobre dicho comando, sus
parámetros...
ENTRADA Y SALIDA ESTÁNDAR
Muchos comandos Linux toman su entrada de algo conocido como entrada
estándar y envían su salida a la salida estándar (a menudo abreviado como
stdin y stdout).

El interprete de comandos configura el sistema de forma que la entrada


estándar es el teclado y la salida la pantalla.

Si no se le pasan nombres de ficheros a cat como parámetros, leerá datos de


stdin y los enviara a stdout.

[usuario@localhost]§ cat
Hola caracol.
Hola caracol.
Adiós.
Adiós.
<ctrl-D>
[usuario@localhost]$

Como se puede ver, cada linea que el usuario teclea, es inmediatamente


reenviada al monitor por cat (impresa en itálica.) Cuando se ésta leyendo de

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 6

la entrada estándar, los comandos reconocen el fin de la entrada de datos


cuando reciben el carácter EOT (end-of-text, fin de texto).Normalmente es
generado con la combinación <Ctrl+D>.

Pruebe lo siguiente:

[usuario@localhost]§ sort
berenjenas
castañas
aceitunas
<Ctrl+D>
aceitunas
berenjenas
castañas
[usuario@localhost/para_imprimir]§

REDIRECCIONANDO LA ENTRADA Y LA SALIDA


El intérprete de comandos nos permite redireccionar la salida estándar a un
fichero usando el símbolo >.

[usuario@localhost]§ sort > lista-compra


berenjenas
castañas
aceitunas
<Ctrl+D>

Como puede ver, el resultado de sort no se muestra por pantalla, en su lugar


es salvado en el fichero lista-compra.

[usuario@localhost]§ cat lista-compra


aceitunas
berenjenas
castañas
[usuario@localhost]$

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]§ sort < cosas


aceitunas
berenjenas
castañas
[usuario@localhost]§

Técnicamente, sort < cosas es equivalente a sort cosas, debido al propio


funcionamiento de sort, este ejemplo nos introduce el concepto de filtro.

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 7

Un filtro es un programa que lee datos de la entrada estándar, los procesa


de alguna forma, y devuelve los datos procesados por la salida estándar.
Usando la redirección la entrada estándar y/o salida estándar pueden ser
referenciadas desde ficheros.
REDIRECCIÓN NO DESTRUCTIVA
Es necesario saber que el uso de > para redireccionar la salida a un fichero
que ya exista, es destructivo: en otras palabras, el comando sobreescribe el
contenido del fichero lista_de_archivos.

[usuario@localhost]§ ls > lista_de_archivos

Si en su lugar, usamos el símbolo «>>», la salida será añadida al final del


fichero nombrado, en lugar de ser sobrescrito.

[usuario@localhost]§ ls >> lista_de_archivos


USO DE TUBERÍAS O CANALIZACIONES (PIPES)
El uso de tuberías (pipes) es otra característica del interprete de comandos,
que nos permite conectar una cadena de comandos en una pipe, donde la
stdout del primero es enviada directamente a la stdin del segundo y así
sucesivamente.

Queremos conectar la salida de ls con la entrada de sort. Para crear un pipe


se usa el símbolo |:

[usuario@localhost]§ls| sort -r
notas
tesis
historia-final
capítulo-1
[usuario@localhost]§

Podemos «entubar» más de dos comandos a la vez. Ahora podemos ir


avanzando página a pagina cómodamente.

[usuario@localhost]§ ls /usr | sort -r | more

CONTROL DE TARÉAS Y PROCESOS


Muchos comandos Linux toman su entrada de algo conocido como entrada
estándar y envían su salida a la salida estándar (a Cada vez que usted ejecuta
un programa, usted lanza lo que se conoce como proceso, que es
simplemente el nombre que se le da a un programa cuando se esta
ejecutando.

El comando ps visualiza la lista de procesos que se están ejecutando


actualmente, por ejemplo:

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 8

[usuario@localhost]§ ps
PID TTY TIME CMD
45 pts/0 00:00:00 bash
84 pts/0 00:00:00 ps

La columna PID representa el identificador de proceso. La ultima columna


CMD, es el nombre del proceso que se esta ejecutando. Un proceso que
esta corriendo se denomina tarea para el shell.

Los términos proceso y tarea, son intercambiables. Sin embargo, se suele


denominar «tarea» a un proceso, cuando es usado en conjunción con
control de tareas, que es un rasgo del shell que permite cambiar entre
distintas tareas. En muchos casos, los usuarios solo ejecutan un trabajo cada
vez, que es el ultimo comando que ellos teclearon desde el shell. Sin
embargo, usando el control de tareas, usted podrá ejecutar diferentes tareas
al mismo tiempo, cambiando entre cada uno de ellos conforme lo necesite.
PRIMER PLANO Y SEGUNDO PLANO
Un proceso puede estar en Primer plano o en Segundo plano. Solo puede
haber un proceso en primer plano al mismo tiempo, el proceso que esta en
primer plano, es el que interactúa con usted recibe entradas de teclado, y
envía las salidas al monitor. (Salvo, por supuesto, que haya redirigido
la entrada o la salida). El proceso en segundo plano, no recibe ninguna señal
desde el teclado por lo general, se ejecutan en silencio sin necesidad de
interacción.

Los procesos pueden ser suspendidos. Un proceso suspendido es aquel que


no se esta ejecutando actualmente, sino que esta temporalmente parado.
Después de suspender una tarea, puede indicar a la misma que continúe, en
primer plano o en segundo, según necesite. Retomar una tarea suspendida
no cambia en nada el estado de la misma la tarea continuara ejecutándose
justo donde se dejo.

Tenga en cuenta que suspender un trabajo no es lo mismo que


interrumpirlo. Cuando usted interrumpe un proceso (generalmente con la
pulsación de <Ctrl+C>), el proceso muere, y deja de estar en memoria y
utilizar recursos del ordenador.

Una vez eliminado, el proceso no puede continuar ejecutándose, y deberá


ser lanzado otra vez para volver a realizar sus tareas. También se puede dar
el caso de que algunos programas capturan la interrupción, de modo que
pulsando <Ctrl+C>no se para inmediatamente. Esto se hace para permitir
al programa realizar operaciones necesarias de limpieza antes de terminar.

De hecho, algunos programas simplemente no se dejan matar por ninguna


interrupción.

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 9

ENVÍO A SEGUNDO PLANO Y ELEIMINACIÓN DE PROCESOS

Una forma de mandar procesos a segundo plano es añadiendo un carácter


& al final de cada comando.

[usuario@localhost]§ lpr archivo & //Envia a la impresora el archivo


[1] 164
[usuario@localhost]§

«[1]» representa el numero de tarea del proceso lpr. La shell asigna un


numero a cada tarea que se este ejecutando. Como lpr es el único comando
que se esta ejecutando, se le asigna el numero de tarea 1.

El numero «164» es el numero de identificación del proceso, o PID, que es


el numero que el sistema le asigna al proceso. Ambos números pueden
usarse para referirse a la tarea como veremos después.

Para chequear el estado del proceso, uti-lice el comando interno de la shell


jobs:
[usuario@localhost]§ jobs
[1]+ Running lpr archivo &
[usuario@localhost]§

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

Cuando se identifica la tarea con el numero de tarea, se debe preceder el


numero con el carácter de porcentaje %.

[usuario@localhost]§ jobs
[1]+ Terminated lpr archivo &

También podrá matar la tarea usando el numero de ID de proceso (PID), el


cual se muestra conjuntamente con el ID de tarea cuando arranca la misma.

[usuario@localhost]§ kill 164


PARADA Y RELANZAMIENTO DE TARÉAS

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:

[usuario@localhost]§ cat *.c > programa

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 10

De nuevo, dado que cat corre en primer plano, no debe retornar el prompt
de la shell.

Ahora, en vez de interrumpir la tarea con <Ctrl+C>, suspenderemos la


tarea. El suspender una tarea no la mata: solamente la detiene
temporalmente hasta que Ud. la retoma. Para hacer esto usted debe pulsar la
tecla de suspender, que suele ser <Ctrl+Z>.

[usuario@localhost]§ cat *.c > programa


<ctrl-Z>
[1]+ Stopped cat *.c > programa
[usuario@localhost]§

Mientras el proceso esta suspendido, simplemente no se esta ejecutando.


No gasta tiempo de CPU en la tarea. Sin embargo, usted puede retomar el
proceso de nuevo como si nada hubiera pasado. Continuara ejecutándose
donde se dejo.

Para relanzar la tarea en primer plano, use el comando fg (del ingles


foreround).

[usuario@localhost]§ fg %1
cat *.c > programa

La shell muestra el nombre del comando de nuevo, de forma que tenga


conocimiento de que tarea es la que ha puesto en primer plano. Pare la tarea
de nuevo, con <Ctrl+Z>. Esta vez utilice el comando bg para poner la
tarea en segundo plano. Esto hará que el comando siga ejecutándose
igual que si lo hubiese hecho desde el principio con & como en la sección
anterior.

[usuario@localhost]§ bg
[1]+ cat *.c > programa &
[usuario@localhost]§

Y tenemos de nuevo el prompt. El comando jobs debería decirnos que cat


se esta ejecutando, y podemos matar la tarea con kill tal y como lo hicimos
antes.

¿Como podemos parar la tarea de nuevo? Si pulsa <Ctrl+Z> no funcionara,


ya que el proceso esta en segundo plano. La respuesta es poner el proceso
en primer plano de nuevo, con el comando fg,
y entonces pararlo. Como puede observar podrá usar fg tanto con tareas
detenidas, como con las que estén segundo plano.

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

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 11

esta ejecutando, es decir, que no usa tiempo de CPU, y que no esta


haciendo ningún trabajo (la tarea aun ocupa un lugar en memoria, aunque
puede ser volcada a disco).

Una tarea en segundo plano, se esta ejecutando, y usando memoria, a la vez


que completando alguna acción mientras usted hace otro trabajo. Sin
embargo, una tarea en segundo plano puede intentar mostrar texto en su
terminal, lo que puede resultar molesto si esta intentando hacer otra cosa.

Por ejemplo, si usted uso el comando

[usuario@localhost]§ yes &

sin redirigir stdout a /dev/null, una cadena de yes se mostraran en su


monitor, sin modo alguno de interrumpirlo (no puede hacer uso de
<Ctrl+C>para interrumpir tareas en segundo plano). Para poder parar esas
interminables yes, tendría que usar el comando fg para pasar la tarea a
primer plano, y entonces usar <Ctrl+C>para matarla.

Otra observación. Normalmente, los comandos fg y bg actúan sobre el


último proceso parado (indicado por un «+» junto al numero de tarea
cuando usa el comando jobs). Si usted tiene varios procesos corriendo a la
vez, podrá mandar a primer o segundo plano una tarea especifica indicando
el ID de tarea como argumento de fg o bg, como en:

[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.

Además de esto, si usa el numero de tarea por si solo, como

[usuario@localhost]§ %2
es equivalente a
[usuario@localhost]§ fg %2

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 12

5. EL SISTEMA DE ARCHIVOS DE LINUX

5.1 FICHEROS Y DIRECTORIOS

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...

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 13

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:

- cat Muestra el contenido de un fichero de una sola vez.


- more Muestra el contenido tramo a tramo.
- less Igual que more, pero permite movernos por el fichero
Con cat, también podremos redireccionar la salida a otro fichero o
dispositivo, por ejemplo:

[usuario@localhost]§cat casa > coche


Añadira el contenido de el fichero " casa " a " coche

VER LA RUTA DONDE NOS ENCONTRAMOS:


Para saber donde nos encontramos, tecleamos:
[usuario@localhost]§pwd

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 14

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.

[usuario@localhost]§cp archivo_origen archivo_destino


[usuario@localhost]§cp doc1 doc2 //Copia el archivo doc1 con un nombre
doc2 en el mismo directorio.
[usuario@localhost]§cp doc1 cartas //copia doc1 al directorio cartas (Si
existiera el directorio cartas)
[usuario@localhost]§cp * dir_de_destino/

El asterisco abarca todos los archivos y directorios contenidos en el


directorio actual. Aca podemos encontrar un problema: los directorios no
pueden copiarse igual que los archivos. Para copiar todo un directorio
debemos agregar la opcion "-R" a continuacion del comando cp, de otra
manera Linux no copiara' ningun directorio:
[usuario@localhost]§cp -R * dir_de_destino/

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:

[usuario@localhost]§mv archivo.a.mover directorio_de_destino/

Pero, en cambio, si queremos mover un directorio entero no nos servira la


opcion "-R" como en cp, sino que deberemos agregar la linea "-f" para
forzar la mobilidad del directorio con todo su contenido. El comando "mv"
no solo sirve para mover archivos o directorios de un directorio a otro, sino

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 15

tambien para renombrarlos. Por ejemplo, si queresmos que el archivo


'archivo.a.copiar' se llame 'archivo.que.copiare' debemos usar la siguiente
linea de comando:

[usuario@localhost]§mv archivo.a.copiar archivo.que.copiare

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".

Por ejemplo, si queremos borrar el archivo "viejo_y_nosirve.txt" entonces


la sintaxis sera' la siguiente:

[usuario@localhost]§rm viejo_y_nosirve.txt

Al igual que con el comando "cp" si queremos borrar un directorio con


todo su contenido deberemos usar la siguiente sintaxis:

[usuario@localhost]§rm -R directorio_viejo/

IV
(La práctica tiene una duración de 2 horas) ACTIVIDADES

1. Encender el equipo de computo, si existe algún desperfecto o faltante en el


equipo comunicarlo inmediatamente.
2. Al aparecer la solicitud de contraseña elegir el login usuario y digitar como clave
usuario.
3. Ingrese a su cuenta de usuario de red.
4. Realice las actividades de la práctica indicadas por el docente.

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 16

V
EJERCICIOS
De acuerdo con la siguiente jerarquía de directorios responda las preguntas
formuladas:

1. Escriba las ordenes para realizar lo siguiente.


- renombrar el directorio vb a visualbasic.
- mover el directorio visualbasic al directorio documentos.
- mover el directorio vf a su directorio propio.
2. Escriba la orden para establecer los siguientes permisos de acceso para el
archivo informe.doc.

A través de patrones binarios:


Los de la categoría propietario tienen todos los permisos., los de la categoría
grupo solo pueden leer y escribir y los de la categoría otros solo pueden ejecutar.

A traves de símbolos de permiso:


- todos solo pueden ejecutar.
- los de la categoría grupos solo de lectura y escritura.
- los de la categoría propietarios solo lectura y escritura.
3. Explique la orden ls -l
4. Un equipo de cómputo cuenta con 2 discos duros y 2 disqueteras.

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4
Laboratorio de Introducción a las Ciencias de la Computación Página 17

Escriba las ordenes para realizar lo siguiente


- montar la partición 3 del disco 2 en el directorio partición.
- montar la partición 2 del disco 1 en el directorio partición.
- montar un disquet msdos de la disquetera b en el directorio floppy de
discos.
- montar un disquet de windows 9x de la disquetera b en el directorio floppy
de discos.
5. Crear un archivo almacen llamado almacen.tar del directorio documentos.
- Adicione al archivo tar el directorio cursos.
- Actualize el contenido del directorio documentos en el archivo tar.
- Comprimir el archivo tar y extraer su contenido.
6. Crea un alias de la orden mv, también llamado mv, para que al utilizar dicho
alias se muestren los ficheros que se mueven y, en caso de que exista el destino, se
nos pida confirmación de sobreescritura. (Pista: ejecuta help alias).
7. Utiliza las opciones adecuadas tanto en ls como en less para que al utilizar estas
dos órdenes en una tubería como ls | less podamos ver los ficheros por columnas
y coloreados. Esto es útil para ver el contenido de directorios en los que existe un
gran número de ficheros, como ocurre con /usr/bin.
8. Comprime con la orden tar todos los ficheros de tu directorio de usuario y de
sus subdirectorios. El fichero se llamará trabajo.tgz.
9. Utiliza la orden tar para crear un archivo con todos los ficheros que se
encuentran en nuestro directorio de trabajo, cuyos nombres terminen en .c o .h, y
que se hayan modificado con posterioridad al 5 de octubre de 2006.
10. Utilizando las órdenes df y df -i hemos obtenido la siguiente información:

En esta condiciones, ¿cuántos directorios vacíos podemos crear? ¿Y cuántos


ficheros con un tamaño de 2300 bytes?

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

• Glenn Brookshear, Introducción a las Ciencias de la Computación 9na.


Edicion, AddisonWesley, USA. 2007.
• Tremblay, J. y Bunt, R. Introducción a las ciencias de la computación. México.
McGraw-Hill.

Carlo Corrales Delgado


Mary Ruelas Llerena Sesión 4

También podría gustarte