You are on page 1of 37

UNI

Sistemas Operativos y Redes

Gua de Laboratorio No.1 Comandos Bsicos del Shell Bash Sistemas Operativos y Redes Ingeniera en Computacin
CONTROL
DE

VERSIN
FECHA Noviembre, 2011 DESCRIPCIN DEL CAMBIO Versin Original

NOMBRE COMPLETO Glenda Barrios Aguirre

NDICE

DE

CONTENIDO

Introduccin
Linux presenta distintas interfaces grficas de trabajo, conocidas en el mercado como distribuciones, la distribucin a su vez presenta distintos Shells estos pueden ser: GNOME, KDE, tantas variantes da la sensacin al usuario de estar aprendiendo un Sistema Operativo nuevo cada vez, sin embargo hay aplicativos de uso estndar a todas las distribuciones, entre ellas la Consola o Shell conocida tambin como Lnea de comandos. Todas las guas prcticas de Laboratorio de LINUX hacen referencia a la versin LIVE CD de LINUX KNOPPIX 6.2.1, sin embargo si el alumno cuenta con el software de cualquier otra distribucin no se limita a que haga uso del mismo. La presente Gua est estructurada de la siguiente manera, inicialmente se plantean algunas generalidades del shell bash, juegos de teclas y comandos de uso comn, luego se plantean la solucin a problemas que son punto en comn de cada uno de los ejemplos que se presentan, y por ltimo se incluye el acpite de comandos junto a un resumen explicativo, planteamiento de problemas relacionados al comando que se estudia junto a su solucin, esto con el fin de lograr consolidar conocimientos y desarrollar habilidades en el uso de los comandos del shell bash.
Profesora Glenda Barrios Aguirre Pgina 1

UNI

Sistemas Operativos y Redes

El contenido de la Gua se elabor basado en los Captulos del 1 y 3 del libro texto de la Unidad Temtica, este viene adjunto al material entregado y tiene por nombre Linux Command Line and Shell Scripting Bible of Richard Blum, es importante mencionar que cada Gua de Laboratorio est acompaada de una Gua de Problemas sin resolver que les permitir poner a prueba las habilidades y dominio que lograron obtener con el contenido estudiado, estos problemas se resolvern en el laboratorio con carcter evaluativo.

Objetivos de la Prctica

1. Introducir a los alumnos en el uso del Sistema Operativo LINUX 2. Desarrollar conocimientos y habilidades con el uso de los Comandos Bsicos del Shell Bash de LINUX

1. Generalidades del Shell Bash


A continuacin se muestra una lista de los comandos de uso comn con la consola o Shell de Linux. Shell El Shell por defecto de las distribuciones Linux es el bash esto lo podemos comprobar tecleando desde la consola

LXTerminal
Profesora Glenda Barrios Aguirre Pgina 2

UNI

Sistemas Operativos y Redes

Para trabajar con el Shell del sistema operativo trabajaremos con el Terminal Emulator, para activarlo nicamente debe hacer click en el icono correspondiente. Ver figura.

Clear El comando clear permite limpiar la pantalla. exit Esta orden se emplea para avisar al sistema de nuestro fin de sesin. (ctrl + d). Cada vez que queramos cerrar una sesin tecleamos exit y nos regresa a la sesin anterior y si no hay anterior se cierra totalmente la consola. echo Esta orden repite todo lo que pasemos por parmetro, tambin nos permite visualizar las variables del intrprete de rdenes.
$ echo Hola a todos Hola a todos $ echo $TERM Xterm

El ejemplo $TERM nos dice qu tipo de terminal estamos usando en este momento, el $ es utilizado para acceder al contenido de las variables definida en el sistema. who Informa acerca de quienes estn conectado actualmente al sistema. Esto siempre y cuando, estn conectando a un servidor, y de ser as podran observar a todos los usuarios que conectados, en caso contrario solo aparecer informacin de su equipo.

$ who

pwd Esta orden muestra el directorio de trabajo actual. $ pwd Ctrl + Alt + F1: Nos lleva al entorno de texto del Sistema Operativo Alt + F5: Nos regresa al entorno grfico del Sistema Operativo Para conocer sobre los recursos que administra el Sistema Operativo tenemos:
Profesora Glenda Barrios Aguirre Pgina 3

UNI

Sistemas Operativos y Redes

Para profundizar ms sobre estos comandos y archivos se sugiere leer el captulo 1 del libro texto proporcionado. Archivo /proc/meminfo: Brinda informacin general de lo manejado por el administrador de la memoria del kernell. $ cat /proc/meminfo|more

ipcs Para conocer informacin general de la memoria compartida.

ps
Profesora Glenda Barrios Aguirre Pgina 4

UNI

Sistemas Operativos y Redes

Permite conocer los procesos del sistema. Se puede utilizar con los parmetros a y x. $ ps ax

ls Permite conocer los dispositivos de hardware que administra el sistema operativo se puede usar con los parmetros a y l. Ver figura esto lo hacemos desde el directorio dev. $ ls -al

Profesora Glenda Barrios Aguirre

Pgina 5

UNI

Sistemas Operativos y Redes

2. Ejercicios con Comandos Bsicos del Shell Bash


Ejercicio 1. Cargar el Knoppix 6.2. con una distribucin LIVE CD Con este ejercicio se pretende que los alumnos aprendan a trabajar con una versin LIVE CD de Linux, es decir que puedan arrancar el ambiente LINUX desde una mquina virtual utilizando el Knoppix 6.2 o cualquier otra distribucin disponible por el alumno. Es vlido mencionar que optamos por usar una versin LIVE CD debido a las limitaciones con las cuales contamos en los laboratorios. A continuacin se ilustran los pasos necesarios para llevar a cabo la accin:
1)

Seleccionar el programa VMware Workstation desde el men de programas del Sistema Operativo, este programa nos permitir crear una mquina virtual.

2)

Le deber aparecer la siguiente pantalla sobre la cual debe seleccionar File, New Virtual Machine. Ver figura

Profesora Glenda Barrios Aguirre

Pgina 6

UNI

Sistemas Operativos y Redes

A la siguiente ventana haga click en Siguiente En la siguiente ventana seleccione la opcin Typical y haga click en Siguiente 5) En la siguiente ventana seleccione como Sistema Operativo LINUX y como versin Other Linux 2.6x Kernell y haga click en Siguiente 6) En la siguiente ventana digite en el campo Virtual Machine Name, Knoppix y haga click en Siguiente 7) Le aparecer otra ventana que le pedir el tipo de conexin de Red, seleccione Do Not use a network connection y haga click en siguiente.
3) 4)

8) 9)

En la siguiente ventana haga click en el botn Finalizar Hasta este momento la Mquina Virtual ha sido creada, seleccinela del Men, como vamos a utilizar una versin LIVE CD, seleccione de la ventana lateral la unidad de CD y haga doble click sobre el mismo. Ver figura

Profesora Glenda Barrios Aguirre

Pgina 7

UNI

Sistemas Operativos y Redes

10)

Una vez que est posicionado en la opcin CD-ROM haga doble click sobre el mismo, le deber aparecer otra ventana solicitando el tipo de conexin, de esta seleccionaremos Use ISO Imagen, en el botn de Browse ubicar la ruta en donde se tiene copiada la imagen del Knoppix proporcionada en clases y hacer click en OK. Ver figura.

11)

Por ltimo iniciar la Mquina Virtual haciendo click en el botn de inicio de la flecha verde.

Ejercicio 2. Trabajar con un usuario distinto a Root


Profesora Glenda Barrios Aguirre Pgina 8

UNI

Sistemas Operativos y Redes

Uno de las desventajas de trabajar con las versiones LIVE CD es que son discos booteables. El usuario por defecto de trabajo es root, este es el superusuario que cuenta con todos los privilegios dentro del sistema operativo, anlogo al administrador del sistema en Windows. Uno de los problemas comunes con los cuales deber enfrentarse es la de crear un usuario distinto a Root para realizar las tareas en un ambiente de usuario distinto al superusuario, por la seguridad misma del sistema. A continuacin mostramos los pasos para crear este usuario, el ejercicio plantea crear al usuario operativo y como conectarse al sistema el usuario recin creado.
1) 2)

Realizar el Ejercicio 1 de la Gua de Laboratorio No.1. Cargue la consola haciendo click en el icono correspondiente. Ver figura

3)

Le aparecer la pantalla de la consola, estando ah nos conectamos como superusuario digitando.

$ su + ENTER
4)

Desde el prompt digite adduser + espacio + LoginCuentaUsuarioNueva, en este caso operativo, esto permitir crear una cuenta de usuario nueva. Luego el sistema operativo le solicitar un conjunto de informacin siendo la requerida el FullName y el Passwd, los dems puede dejarlos en blanco, digite como clave de la cuenta 12345. Ver figura.

5)

Luego de crear al usuario procedemos a conectarnos con el usuario recin creado para ello invocamos al comando login.

$ login + ENTER
6)

Digitar el login del usuario recin creado en este caso operativo, nos solicitar el password en el cual debemos ingresar el password asignado a la cuenta en este caso 12345. Si todo est correcto el prompt debera
Pgina 9

Profesora Glenda Barrios Aguirre

UNI

Sistemas Operativos y Redes

cambiar y mostrarse el usuario actual, en este caso operativo. Ver figura.

7)

Visualice a rasgos generales el archivo passwd del usuario recin creado. Para ello digitar desde el prompt. more /etc/passwd adems filtraremos el archivo para que nos enve nicamente la lnea en donde aparece el usuario operativo. Ver figura.

8)

La estructura del archivo /etc/passwd a rasgos generales nos indica lo siguiente. Operativos y

operativo:x:1001:1001:Sistemas Redes,,,:/home/operativo:/bin/bash

En el orden de las flechas tenemos la siguiente descripcin para cada una de ellas: UserName: EL nombre del login recin creado Password: La clave introducida que siempre aparece encriptada con x UserId: Id de usuario asignado por el Sistema Operativo UserGroupID: Id del grupo de usuario al que pertenece el usuario recin creado FullName: El nombre completo especificado para el usuario Resto de datos del usuario: Directorio de trabajo del usuario Shell asociado
9)

Cambie la presentacin por defecto de la ventana haciendo click en Edit, Preferences. Ver figura

10)

Establezca los valores de gris para el fondo de la pantalla y Negro para las letras, para ello edite las propiedades Background y Foreground respectivamente. Ver figura para saber qu valores deben ser cambiados.

Profesora Glenda Barrios Aguirre

Pgina 10

UNI

Sistemas Operativos y Redes

3. Comandos Bsicos del Shell Bash


3.1. Prompt del Shell de la Lnea de Comandos Una vez que cargamos la pantalla de la consola lo primero que nos aparece es el prompt del shell, este prompt es personalizable a travs de dos variables de ambiente PS1 y PS2 donde: PS1: Controla el formato del valor por defecto del Prompt de la lnea de comandos. PS2: Controla el formato del segundo plano de la lnea de comandos. Algunos de \u: \h: \w: los valores vlidos definidos para PS1 son: Nos da el usuario conectado El nombre del hostname local Nos da la ruta actual en donde nos encontramos. El separador de cada valor es la pleca y los caracteres distintos a lo establecido por el Shell se toma como caracter separador de un valor con otro. Otros valores vlidos los encontramos en la tabla 3-2 de la pgina No.62 del Libro texto proporcionado. Ejemplo del Prompt del Shell: El usuario requiere cambiar la configuracin por defecto del prompt del shell de tal manera que no se muestre el hostname de trabajo. Solucin: 1) Hacer el ejercicio 1 y ejercicio 2 de esta gua, es decir tenemos que tener cargado el Knoppix y estar conectados al sistema con un usuario distinto a root.
2)

Desde la lnea de comandos digitar

, esto nos dice que el prompt mostrar primeramente al usuario conectado, luego el nombre del hostname local y por ltimo la ruta. Cambie la configuracin del prompt de tal manera que no se muestre el hostname local. Para ello digite lo que se muestra en la figura. Para comprobar que muestra la ruta actual cree un directorio llamado lab con el comando mkdir y navegue al mismo con el comando cd, el prompt debe cambiar. Ver figura para los pasos
3)

Profesora Glenda Barrios Aguirre

Pgina 11

UNI

Sistemas Operativos y Redes

3.2. Comando man LINUX incluye ayuda la cual puede ser consultada a travs del comando man, en esta se incluye la descripcin, parmetros y ejemplos de cada uno de los comandos permitidos dentro del shell. Es importante tomar en cuenta que las pginas de ayuda funcionan con: 1. ENTER para visualizar la siguiente lnea. 2. ESPACIO para visualizar la siguiente pantalla. 3. u para visualizar la pantalla anterior. 4. Q o q para salir y regresar a la consola Ejemplo del man: El usuario requiere consultar la ayuda del comando ls mediante man usando las opciones de pantalla que ofrece. Solucin: 1) Tener activa una ventana en la consola con un usuario distinto a root. 2) Teclear man ls + ENTER. Ver figura 3) Una vez que tenga la ventana cargada teclee barra espaciadora para ver siguiente pantalla hasta llegar al final y luego q para salir. Ver figura.

3.3. Sistema de Archivos de LINUX Linux ofrece un conjunto de comandos que permiten navegar y operar sobre el Sistema de Archivos de LINUX, antes de detallar cada uno de los comandos
Profesora Glenda Barrios Aguirre Pgina 12

UNI

Sistemas Operativos y Redes

que nos pueden servir para la funcin detallada arriba, es importante conocer de manera general la estructura de directorios de LINUX:
home bin dev tmp /\ SistOperativo / usr bin etc mnt /\ man local lib

/: Se refiere al directorio raz y es el nico directorio que no tiene directorio padre. En este directorio las entradas "." y ".." coinciden. /bin: Contiene muchas de las rdenes ejecutables. Normalmente, aqu se encuentran los programas de uso ms comn para los usuarios, como la orden /bin/ls para visualizar los archivos. /usr: Contiene los distintos directorios de trabajo de cada uno de los usuarios. Cada usuario accede a su propio espacio con todos los privilegios y acceso restringido al resto de los directorios que no son propios de su perfil. /etc: Contiene rdenes y archivos de configuracin empleados en la administracin del sistema. Estas rdenes se guardan en un directorio aparte porque la mayora de ellas slo pueden ser ejecutadas por usuarios privilegiados. /dev: Contiene los archivos de dispositivos empleados para la comunicacin con hardware perifrico, tales como: impresoras, discos, disquete etc.
3.3.1.

Comando cd:

El comando cd nos permite cambiar de directorio para ello es importante tener en cuenta el directorio actual. La navegacin puede llevarse a cabo de dos maneras con: Ruta Absoluta: Es necesario especificar la ruta completa hacia dnde queremos navegar. Por ejemplo la ruta /home/operativo es una ruta absoluta. Ruta Relativa: Otra de las formas de referenciar un archivo o documento es mediante rutas relativas. Para ello hacemos uso de los caracteres especiales (.), el cual indica el directorio actual, y el (..) punto punto nos indica un nivel superior al actual. Ejemplo del comando cd con rutas absolutas y relativas: El usuario requiere navegar al directorio /etc desde el directorio /home/operativo/Laboratorios. Luego de esto necesitamos navegar nuevamente al directorio /home/operativo/Laboratorios y retornar mediante ruta relativa al directorio /etc y raz del sistema de ficheros. Para desarrollar el ejercicio el usuario debe crear el directorio y los archivos dentro de un usuario que no sea root con la estructura que se muestra en la tabla.
Pgina 13

Profesora Glenda Barrios Aguirre

UNI

Sistemas Operativos y Redes

Directorio Usuario / hom e /operativo

SubDirectorio

Archivo s

Laboratori os Lab1.txt Lab2.txt Solucin: 1) Estar en una ventana de consola con un usuario distinto a root, es decir haber realizado el Ejercicio 2 de la Gua de Laboratorio No.1. 2) Cree el directorio Laboratorios dentro del usuario operativo. 3) Digite ls para verificar la existencia del directorio recin creado. 4) Cambie al directorio Laboratorios usando el comando cd. 5) Digite el comando pwd para comprobar el directorio actual. Ver figura para los pasos 2, 3, 4 y 5.

6) 7)

Cree el archivo Lab1.txt usando el editor pico. Agregue el texto Esto es Lab1 en la nueva ventana que se presenta, salve el documento presionando CTRL + O y luego salga de la ventana presionando CTRL + X.

8) 9)

Cree el archivo Lab2.txt usando el editor pico. Agregue el texto Esto es Lab2 en la nueva ventana que se presenta, salve el documento presionando CTRL + O y luego salga de la ventana presionando CTRL + X.
Pgina 14

Profesora Glenda Barrios Aguirre

UNI

Sistemas Operativos y Redes

Haga un ls dentro del directorio actual, la salida debe mostrar los archivos creados. 11) Cambie al directorio etc mediante ruta absoluta, especificando un cd /etc + Enter 12) Haga un ls F para ver la salida del directorio actual ahora es /etc. Ver figura para pasos 10, 11 y 12.
10)

13)

Cambie nuevamente /home/operativo/Laboratorios.

mediante

ruta

absoluta

14)

Teniendo como directorio de trabajo /home/operativo/Laboratorios regresaremos al directorio /etc mediante ruta relativa con la instruccin que se muestra en la figura. Como podemos observar el carcter ../ nos sube de nivel dentro de la estructura del sistema de archivos hasta llegar a una ubicacin en donde podemos navegar a /etc.

15) 16) 17)

Digite cd / para navegar al directorio raz Compruebe directorio actual con pwd Liste los archivos del directorio actual para confirmar contenido usando el ls F. Ver figura para los pasos 15,16 y 17.

3.3.2. Comando ls El comando ls nos permite listar los archivos y directorios de la ruta actual. El comando ls incluye una lista de opciones bastante amplia que se detalla en la pgina 73 del libro texto con bastante claridad. Como resumen podemos decir que el comando ls tiene dos maneras de
Profesora Glenda Barrios Aguirre Pgina 15

UNI

Sistemas Operativos y Redes

operar con los parmetros: i. Usando parmetros de una sola letra o en formato corto, estas pueden combinarse para obtener un conjunto de informacin determinada. ii. Usando parmetros mediante la palabra completa, en este caso quien delimita un parmetro del otro es el carcter --. Algunos de los parmetros del comando ls son: Forma Formato to Palabra Corto Completa -F -R -i --recursive Descripcin Permite agregar a la lista de archivos y directorios una / a los directorios, una @ a los directorios que contienen archivos ejecutables y * a los archivos ejecutables Permite visualizar la estructura completa del directorio actual. Permite tener la lista de archivos y directorios del directorio actual en formato largo. A continuacin se muestra una figura que ilustra una salida con ls l.

De la informacin que se muestra en la salida anterior podemos decir que: a. El primer carcter de la primer columna nos indica el tipo de archivo, habiendo los siguientes valores vlidos: (d) Directorio, (-) es un archivo, (c) dispositivo por carcter, (b) dispositivo por bloque. b. La segunda columna nos indica los permisos con los cuales cuenta este archivo o directorio c. La tercer columna indica el nmero de enlaces del archivo d. La cuarta columna el nombre del usuario propietario del archivo e. La quinta columna indica el nombre del grupo al que pertenece el archivo f. La sexta columna nos indica el tamao del archivo en bytes. g. La sptima columna la ltima hora en la cual fue modificado h. La octava y ltima columna indica el nombre del directorio -s -i -a --size Permite mostrar el tamao del fichero Permite mostrar el nmero de nodo_i del archivo o directorio Permite mostrar los archivos ocultos

El comando ls le brinda al usuario 3 alternativas distintas para realizar filtros en las salidas de informacin: ? : Este carcter permite hacer bsquedas de palabras no importando el carcter en donde se encuentre ubicado el signo de interrogacin.
Profesora Glenda Barrios Aguirre Pgina 16

UNI

Sistemas Operativos y Redes

*: Este carcter indica que queremos buscar todos los archivos que tienen el texto del patrn de bsqueda no importando lo que viene despus del asterisco. Patrn de Filtro: El usuario est consciente de lo que busca y se busca especficamente dentro de la salida lo especificado como patrn de filtro. Ver Pgina 74 del libro texto para mayor informacin.

Ejemplo del comando ls: Para desarrollar esta prctica es necesario que cuente dentro de su usuario local con la estructura de directorios y archivos de la tabla, si ya desarroll el ejemplo del comando cd puede basarse en estos resultados de lo contrario tiene que repetir los pasos del ejemplo anterior hasta crear los directorios y archivos que aqu se detallan. Directorio Usuario / hom e /operativo /Laboratorios Lab1.txt Lab2.txt Una vez que cuente con los datos anteriores el usuario requiere navegar desde el directorio Laboratorios al directorio raz / y visualizar los tipos de directorios y archivos, as como la estructura completa de los mismos. Por otro lado requiere analizar de manera detallada la informacin que contiene el directorio Laboratorios. Solucin: 12) Realizar los pasos del 1 al 10 del ejemplo del comando cd, esto en el
Profesora Glenda Barrios Aguirre Pgina 17

SubDirectorio

Archivos

UNI

Sistemas Operativos y Redes

caso de no haberlo desarrollado, de lo contrario pase al paso 2. 13) Compruebe que el directorio de trabajo sea /home/operativo/Laboratorios para ello haga un pwd. 14) Suba dentro de la estructura de directorio un nivel, para ello haga un cd .. 15) Haga un ls F y analice la salida 16) Agregue al comando ls F el parmetro R y vuelva analizar la salida. 17) Realice una combinacin de parmetros haciendo un ls sail teniendo como directorio actual /home/operativo. Ver figura que ilustra los pasos del 2 al 6.

Cmbiese al directorio raz mediante ruta relativa con la instruccin cd /. Haga un ls F, analice la salida y los caracteres especiales que se agregan a la informacin mostrada. 20) Haga un ls sail al directorio raz y analice el formato de la informacin listada. Como podemos ver, en este caso estamos combinando parmetros: s nos da el tamao, a los ocultos, i el nodo i y l formato detallado. Ver figura para los pasos del 7 al 9.
18) 19)

Profesora Glenda Barrios Aguirre

Pgina 18

UNI

Sistemas Operativos y Redes

Cambie al directorio /home/operativo haciendo un cd a la ruta especificada $ cd /home/operativo + ENTER 22) Haga un pwd para comprobar el cambio de directorio actual. $ pwd + ENTER 23) Haga un ls file-type, analice la salida y comprela con lo obtenido por ls
21)

F. Ver figura
24) 25)

Cambie al directorio Laboratorios Filtre la salida del comando ls de tal forma que podamos visualizar los
Pgina 19

Profesora Glenda Barrios Aguirre

UNI

Sistemas Operativos y Redes

archivos lab del directorio Laboratorios, usando para ello los tres tipos de filtro que ofrece. Ver figura para los pasos del 13 al 14.

Comando touch El comando touch les permite crear un archivo en blanco dentro del sistema de ficheros. La sintaxis es:
3.3.3.

SINTAXIS: touch + NOMBREARCHIVO


A un archivo en blanco le podemos modificar algunas de sus propiedades. Por ejemplo el tiempo de acceso usando el parmetro t. Ejemplo del comando touch: Cree un archivo en blanco dentro del directorio de trabajo de su usuario distinto a root, en este caso estamos trabajando con operativo. 2) Haga un ls l estando en el directorio operativo para comprobar la existencia del archivo en blanco y el tamao del fichero el cual debe ser de 0 bytes. 3) Cambiar la fecha del archivo especificando el valor 20111107 indicando a la fecha actual: 07 de Noviembre del 2011. Ver figura para los pasos especificados. Ver figura
1)

Profesora Glenda Barrios Aguirre

Pgina 20

UNI

Sistemas Operativos y Redes

3.3.4. Comando cp El comando cp nos permite copiar archivos y directorios de un lugar a otro, segn los parmetros especificados la copia puede ser de un simple archivo, de un directorio con subdirectorios y archivos, o de un directorio con archivos a un destino. A continuacin se muestra parte de la tabla de parmetros del comando. Parme tro -a -b -d -i -p -R -s -u -v Descripcin Conserva todos los atributos de los archivos Hace un backup antes de proceder a la copia Copia un vnculo pero no el fichero al que se hace referencia Pide confirmacin antes de sobrescribir archivos Conserva los sellos de propiedad, permisos y fecha Copia los archivos y subdirectorios. Crea enlaces en vez de copiar los ficheros nicamente procede a la copia si la fecha del archivo origen es posterior a la del destino. Muestra mensajes relacionados con el proceso de copia de los archivos

Debajo se agrega una descripcin general de las distintas formas de usar el comando cp para realizar copias de archivos:
1)

Para crear una copia de un archivo:

Sintaxis: cp ArchivoOriginal ArchivoCopia + ENTER, en caso que el


archivo copia ya exista, el sistema operativo solicita confirmacin, este puede usarse con el parmetro .p para mantener los accesos del archivo, as como los datos del ltimo perodo en el cual fue modificado. La tabla completa se muestra en la pgina No.78, Tabla 3-6 del libro texto.
2)

Para crear la copia de un archivo dentro de un directorio ya existente: Otra de las opciones es copiar el archivo dentro de un directorio ya existente. SI el nombre de archivo a copiar ya existe en el directorio destino el sistema operativo solicita confirmacin para realizar el reemplazo.

Sintaxis: cp + NOMBRE_ARCHIVO_COPIAR + ESPACIO + NOMBREDIRECTORIODESTINO. Para usar esta opcin debemos estar
ubicados en el directorio en donde se encuentra el archivo. Para especificar el directorio destino tiene 2 opciones mediante ruta absoluta especificando el directorio completo hacia donde se debe copiar el archivo o bien especificando el directorio donde desea copiar, para el segundo caso el directorio destino debe existir dentro del directorio actual. El primer caso puede utilizarlo cuando el directorio destino no se
Profesora Glenda Barrios Aguirre Pgina 21

UNI

Sistemas Operativos y Redes

encuentra dentro del directorio actual.


3)

Para copiar un directorio con sus subdirectorios y archivos a un directorio destino: En este caso se puede copiar el contenido de un directorio en otro usando como destino un directorio con ruta relativa o absoluta. En el primer caso el directorio debe existir dentro del directorio de trabajo, en el segundo hay que especificar la ruta completa. Para realizar copias de directorios y sus archivos es necesario usar el parmetro R el cual puede acompaarse con cualquiera de los otros parmetros de la tabla 3-6. -R: Copia directorios a un destino, para ello analiza el contenido de forma recursiva antes de realizar la copia. Sintaxis: cp R DIRECTORIO_COPIAR + ESPACIO + NOMBREDIRECTORIODESTINO + ENTER

4)

Para copiar un archivo al directorio actual: Para hacer esto requerimos especificar la ruta completa en donde se encuentra el archivo y como destino el carcter especial (.). Sintaxis: cp RUTA_COMPLETA_ARCHIVO + ESPACIO + ENTER

Enlazando Archivos con cp: El sistema de archivos de Linux permite crear copias de archivos sin necesidad de replicar fsicamente el mismo archivo, en lugar de ello podemos se crean copias virtuales del archivo de tal forma que lo que se tiene es un enlace al archivo original. Los tipos de enlace que soporta LINUX son:

Enlaces simblicos Enlaces fsicos

Enlace Fsico: Crea un archivo separado que contiene informacin bsica del archivo original tal como la ruta en donde se localiza, esta opcin copia tambin el contenido del fichero.

Sintaxis: cp l ArchivoACopiar + Espacio + ArchivoNuevo


Enlace Simblico: Crea un archivo independiente de enlace, el archivo del enlace no copia el contenido del archivo origen solamente los datos necesarios para localizar el archivo origen. Esto se puede comprobar a travs del nmero de nodo_i y del tamao del archivo.

Sintaxis: cp s ArchivoACopiar + Espacio + ArchivoNuevo


Profesora Glenda Barrios Aguirre Pgina 22

UNI Ejemplo del comando cp:

Sistemas Operativos y Redes

Para desarrollar este ejemplo debe contar con la estructura de directorios y archivos del ejemplo del comando ls y touch, es decir debe existir el directorio Laboratorios dentro de su directorio de trabajo y los archivos lab1.txt, lab2.txt y ArchivoBlanco.txt dentro del mismo. Los requerimientos sern los siguientes: a. Se requiere hacer una copia del archivo lab1.txt como lab3.txt dentro del directorio /home/operativo/Laboratorios. b. Se requiere hacer una copia del archivo lab2.txt como lab3.txt de tal forma que se le solicite confirmacin al usuario en caso que el archivo destino ya exista. c. Cree un directorio llamado Copias dentro del directorio de trabajo operativo y copie el directorio y archivos de Laboratorios a Copias usando rutas relativas. d. Cree un directorio llamado CopiasAbsoluta dentro del directorio de trabajo operativo y copie el directorio y archivos de Laboratorios a CopiasAbsoluta usando rutas absolutas. e. Copie el archivo llamado ArchivoBlanco.txt que se encuentra en operativo a /home/operativo/Copias usando rutas relativas. f. Copie el archivo llamado ArchivoBlanco.txt que se encuentra en operativo a /home/operativo/CopiasAbsoluta usando rutas absolutas. g. Establezca como directorio de trabajo /home/operativo/Laboratorio y copie el archivo ArchivoBlanco.txt que se encuentra en operativo a este directorio. h. Cree un enlace fsico del archivo lab2.txt que se encuentra en /home/operativo/Laboratorios como lab4.txt dentro de este mismo directorio, edite el contenido de ambos archivos y luego consulte su contenido para verificar que el cambio es reconocido desde cualquiera de las fuentes. i. Cree un enlace simblico del archivo lab2.txt que se encuentra en /home/operativo/Copias como lab4Simbolico.txt dentro de este mismo directorio Solucin: 1) Definimos como directorio de trabajo /home/operativo/Laboratorios. En la figura se muestra un cd a Laboratorios porque estoy en operativo sino fuera el caso pruebe hacer un cd a la ruta que se especifica arriba. 2) Hacemos un ls l para verificar los archivos existentes 3) Hacemos una copia fsica del archivo lab1.txt como lab3.txt usando el comando cp p 4) Hacemos un ls l para verificar los archivos existentes 5) Hacemos un ls il para verificar los nmeros de nodos_i de cada uno de los archivos los cuales deben ser distintos porque se crearon archivos distintos. 6) Hacemos un more del archivo lab1.txt y lab3.txt y verificamos los
Profesora Glenda Barrios Aguirre Pgina 23

UNI

Sistemas Operativos y Redes

contenidos de ambos. Ver figura para los pasos del 1 al 6.

7)

Creamos una copia de lab2.txt como lab3.txt, como podr notar lab3.txt ya existe en el directorio, la idea es hacer la copia pidindonos confirmacin para hacer el reemplazo. Para esto especificamos.

8)

Haga un more de ambos archivos para lectura de contenido.

Copiando un directorio y sus archivos con ruta relativa


Profesora Glenda Barrios Aguirre Pgina 24

UNI 9) 10)

Sistemas Operativos y Redes

11) 12) 13)

14)

15)

Verificamos el directorio actual debemos estar en operativo, para esto usamos el comando pwd. Hacemos un ls ilF para obtener una lista detallada de los directorios y archivos contenidos dentro de la carpeta, nmero de nodo i y el F para ver los tipos de archivos. Creamos el directorio copias con el comando mkdir Volvemos hacer un ls ilF para ver nuevamente el contenido de la carpeta, ya debe aparecer el directorio recin creado. Volvemos a verificar el directorio de trabajo haciendo un pwd de tal forma que nos aseguremos de estar en el directorio padre de ambos directorios Laboratorios y Copias. Hacemos la copia del directorio y sus archivos con el comando cp R y usamos las rutas relativas por eso especificamos nicamente Laboratorios y Copias, esto es posible porque ambos directorios se encuentran dentro del mismo directorio padre. Hacemos nuevamente un ls ilF para verificar el contenido de Copias y sus sub-directorios.

Profesora Glenda Barrios Aguirre

Pgina 25

UNI

Sistemas Operativos y Redes

Copiando un directorio y sus archivos con ruta absoluta Cambiar al directorio /home/operativo Crear el directorio CopiasAbsoluta Copiar el directorio /home/operativo/Laboratorios en /home/operativo/CopiasAbsoluta usando el parmetro R del comando cp. Ver figura 19) Hacer un ls ilf del directorio actual 20) Cambiar a CopiasAbsoluta y hacer un ls ilF. Ver figura para los pasos.
16) 17) 18)

Copiando un archivo simple dentro de un directorio ya existente, especificando ruta absoluta y relativa Cambiar al directorio /home/operativo Copiar el archivo ArchivoBlanco.txt de /home/operativo al subdirectorio Copias 23) Copiar el archivo ArchivoBlanco.txt de /home/operativo al subdirectorio /home/operativo/CopiasAbsoluta. 24) Cambiar al directorio /home/operativo/Copias y hacer un ls l para verificar la existencia del archivo recin copiado. 25) Cambiar al directorio /home/operativo/CopiasAbsoluta y hacer un ls l para verificar la existencia del archivo recin copiado.
21) 22)

Profesora Glenda Barrios Aguirre

Pgina 26

UNI

Sistemas Operativos y Redes

Copiando un archivo simple al directorio actual Definir como directorio de trabajo /home/operativo/Laboratorios Haga un ls il para verificar los archivos existentes Copiar el archivo ArchivoBlanco.txt que se encuentra en /home/operativo al directorio actual. 29) Haga un ls il dentro del directorio actual para verificar que ahora ya exista el archivo especificado.
26) 27) 28)

Profesora Glenda Barrios Aguirre

Pgina 27

UNI

Sistemas Operativos y Redes

Creando enlace fsico entre archivos con el comando cp. Definir como directorio de trabajo /home/operativo/Laboratorios, haga un cd a la ruta y luego un pwd para verificar que la ruta actual sea esta. $ cd /home/operativo/Laboratorios 31) Haga un ls -ils para verificar archivos, nodos i y tamao de los archivos existentes. 32) Haga un enlace fsico del archivo lab2.txt como lab4.txt 33) Haga un ls ils para verificar archivos, nodos_i y tamao de los archivos existentes, verifique que la cantidad de enlaces del archivo aument en 1 tanto para lab2.txt como lab4.txt y el nmero de nodo_i y tamao de ambos archivos es el mismo. 34) Con el comando more verifique el contenido de ambos archivos, el contenido debe ser el mismo 35) Edite el contenido del archivo lab4.txt con el editor PICO. Agregando cualquier texto, salve y salga 36) Cargue el contenido del archivo lab2.txt el contenido debe haber sido modificado segn lo agregado en lab4.txt, vuelva a modificar, salve y salga. 37) Cargue con PICO el archivo lab4.txt y verifique que el cambio realizado desde lab2.txt se hubiera reconocido. Ver figura para los pasos.
30)

Profesora Glenda Barrios Aguirre

Pgina 28

UNI

Sistemas Operativos y Redes

Creando enlace simblico entre archivos con el comando cp. Definir como directorio de trabajo /home/operativo/Laboratorios Cree un enlace simblico entre el archivo lab1.txt como lab5.txt Haga un ls ils para analizar lista de resultados. Como podr ver se crea un archivo distinto para el que contiene el enlace al archivo compartido, el tamao es menor, tiene un nmero de nodo-i distinto, el nmero de enlaces en este caso no se incrementa porque la informacin de que estn enlazados se guarda en el mismo archivo. 41) Elimine al archivo lab1.txt que es quien contiene el contenido del fichero en realidad. 42) Haga un more del archivo lab5.txt , como ver este queda haciendo referencia a un archivo que ya no existe, puesto que el rm elimina al archivo pero no sus enlaces simblicos. Ver figura para los pasos.
38) 39) 40)

Profesora Glenda Barrios Aguirre

Pgina 29

UNI

Sistemas Operativos y Redes

3.3.5. Comando mv Este comando permite renombrar un archivo con enlaces o sin enlaces, tambin es utilizado para mover un archivo de ubicacin dependiendo del parmetro con el cual sea utilizado. Para renombrar un archivo usamos la sintaxis:

Sintaxis: mv NombreArchivoOrigen NombreArchivoDestino


Para renombrar un archivo que tiene enlaces: La sintaxis es la misma pero hay que tener en cuenta que se generan ciertas desventajas porque el sistema de archivos de LINUX limpia la estructura del archivo. Esto significa que los archivos que apuntan al mismo quedan haciendo referencia a un archivo invlido y el contenido se pierde. En el caso que el comando mv se vaya a utilizar para realizar copias de un directorio a otro, en este caso tenemos:

Sintaxis: mv directorio_origen directorio_destino


Ejemplo del comando mv:

Los requerimientos del ejercicio son los siguientes: i. Defina como directorio de trabajo /home/operativo ii. Cree dos archivos Prueba1.txt y Prueba2.txt al primero agregue como contenido Esto es Prueba1.txt y al segundo Esto es Prueba2.txt. iii. Haga un enlace simblico de Prueba1.txt como Prueba3.txt iv. Haga un enlace fsico de Prueba2.txt como Prueba4.txt v. Renombre los archivos fuentes Prueba1.txt como Cambio1.txt y Prueba2.txt como Cambio2.txt vi. Intente editar el contenido de los archivos compartidos Prueba3.txt y Prueba4.txt vii. Copie el directorio /home/operativo/Copias a
Profesora Glenda Barrios Aguirre Pgina 30

UNI

Sistemas Operativos y Redes

/home/operativo/CopiasAbsoluta.
Solucin:

Definir como directorio de trabajo /home/operativo Haga un ls l para verificar los archivos existentes Cree con el editor pico el archivo prueba1.txt y prueba2.txt, agregue como contenido del primero Esto es prueba1 y del segundo Esto es prueba2. 46) Cree un enlace simblico de prueba1.txt como copia1.txt 47) Cree un enlace fsico de prueba2.txt como copia2.txt 48) Haga un ls ils y analize la salida, el archivo copia1.txt debe estar haciendo referencia a prueba1.txt y copia2.txt debe tener nmero de enlaces en 2, con el mismo nmero de nodo_i de prueba2.txt. Ver figura para los pasos.
43) 44) 45)

Renombrar el archivo prueba1.txt con el nombre cambio1.txt Renombrar el archivo prueba2.txt con el nombre cambio2.txt Edite el contenido del archivo copia1.txt que qued apuntando a prueba1.txt que ahora es cambio1.txt, como podr observar el contenido se perdi. 52) Edite el contenido del archivo copia2.txt que qued apuntando a prueba2.txt que ahora es cambio2.txt, como podr ver reconoci los cambios y la modificacin se hace sobre el archivo renombrado. Ver figura para los pasos.
49) 50) 51)

Profesora Glenda Barrios Aguirre

Pgina 31

UNI

Sistemas Operativos y Redes

Usando el comando mv para copiar directorios y archivos:


53) 54) 55) 56)

Definir como directorio de trabajo /home/operativo Verifique la lista de archivos y directorios existentes con ls ils Copie el directorio Copias y sus archivos a CopiasAbsoluta. Verifique que se haya creado el subdirectorio Copias dentro de CopiasAbsoluta. Ver figura para los pasos.

Profesora Glenda Barrios Aguirre

Pgina 32

UNI

Sistemas Operativos y Redes

3.3.6. Comando mkdir Nos permite crear un directorio dentro del directorio actual. Esto ya lo hemos venido probando a lo largo de la prctica. La sintaxis es la siguiente: Sintaxis: mkdir NuevoDirectorio + ENTER
3.3.7.

Comando rm

Para eliminar archivos y directorios existe el comando rm. Consulte en man para visualizar los parmetros.

Sintaxis: rm NombreArchivo El sistema de archivos de LINUX por defecto valida que el directorio a eliminar se encuentre vaco sin embargo podemos utilizar los siguientes parmetros: -r: Elimina los archivos y directorios del directorio especificado como parmetro. El sistema pide confirmacin para cada directorio y archivo a eliminar. -f: Elimina los archivos y directorios del directorio especificado como parmetro sin pedir mensaje de confirmacin.
Ejemplo del comando rm y rmdir:

El ejemplo plantea los siguientes requerimientos: i. Elimine el archivo Lab1.txt que se encuentra en el subdirectorio Laboratorios de Copias dndole opcin al usuario de mensaje de confirmacin. ii. Elimine el archivo Lab2.txt que se encuentra en el subdirectorio Laboratorios de Copias sin presentarle al usuario mensaje de confirmacin iii. Elimine la carpeta CopiasAbsoluta de /home/operativo/Copias solicitndole al usuario mensaje de confirmacin. iv. Eliminar la carpeta Laboratorios que est en /home/operativo sin solicitar al usuario mensaje de confirmacin. Solucin: 57) Definir como directorio de trabajo /home/operativo/Copias/CopiasAbsoluta/Laboratorios 58) Eliminar el archivo lab1.txt con el comando rm i para solicitar mensaje de confirmacin. 59) Eliminar el archivo lab2.txt con el comando rm f para eliminar el archivo sin mensaje de confirmacin. 60) Hacer un ls -ils para verificar contenido de la carpeta actual. 61) Definir como directorio de trabajo /home/operativo/Copias 62) Eliminar el subdirectorio CopiasAbsoluta que est dentro de Copias, solicitando al usuario mensaje para ello usamos el comando rm r
Profesora Glenda Barrios Aguirre Pgina 33

UNI

Sistemas Operativos y Redes

CopiasAbsoluta.

Definir como directorio de trabajo /home/operativo Eliminar la carpeta Laboratorios que est dentro de operativo sin solicitar mensaje de confirmacin al usuario para eso hacemos un rm rf. 65) Hacer un ls ils para verificar directorios y archivos.
63) 64)

Profesora Glenda Barrios Aguirre

Pgina 34

UNI

Sistemas Operativos y Redes

Comando stat Permite visualizar las estadsticas de un archivo. Sintaxis: stat NombreArchivo
3.3.8.

3.3.9. Comando file Nos permite ver el tipo de archivo Sintaxis: file NombreArchivo 3.3.10. Comando cat Permite visualizar el contenido de un archivo. Sintaxis: cat NombreArchivo -n: Muestra el nmero de lnea 3.3.11. Comando less

Permite visualizar el contenido del archivo con algunas opciones avanzadas, adems es posible ver ciertos caracteres especiales que no muestra el more. Sintaxis: less NombreArchivo 3.3.12. Comando more Permite visualizar el contenido de un archivo. El more tiene los siguientes parmetros. Barra espaciadora: Nos permite navegar a la siguiente pantalla q: Nos salimos Enter: Despliega la siguiente lnea f: Salta a la pantalla anterior s: Salta una lnea de texto Sintaxis: more NombreArchivo Comando head y tail Nos permite visualizar las primeras N lneas o las ultimas N lneas de un archivo.
3.3.13.

Sintaxis Tail Numero_De_Lineas nombrearchivo

Profesora Glenda Barrios Aguirre

Pgina 35

UNI

Sistemas Operativos y Redes

Head Numero_De_Lineas nombrearchivo

Ejemplo de los comandos de visualizacin de archivos: stat, file, cat, less, more, head, tail.
v.

Visualice con el comando stat, file, more y less el contenido del archivo cambio1.txt que est ubicado en /home/operativo. Ver figura

vi.

Visualice las primeras 10 lneas del archivo /etc/passwd

vii.

Visualice las ltimas 10 lneas del archivo /etc/passwd

Profesora Glenda Barrios Aguirre

Pgina 36

UNI

Sistemas Operativos y Redes

Bibliografa de Referencia
LINUX Command Line and Shell Scripting Richard Blum Captulo 1, 2 y 3.

Profesora Glenda Barrios Aguirre

Pgina 37