Sistemas Operativos - Linux

Post on 04-Jul-2015

390 views 2 download

Transcript of Sistemas Operativos - Linux

• Shell

• Comandos Varios

Operación en Linux92

• Comandos Varios

• Comodines

• Entradas y Salidas

• Filtros

• Entubamiento

• Permisos

Shell93

� Es un programa ordinario para el cual solamente se necesita la capacidad de leer y escribir en la terminal, y el poder de ejecutar otros programas.

� Los comandos pueden tener argumentos que se transfieren como cadenas de caracteres al programa llamado.

Shell94

� Argumentos:

� Nombres de archivos.

� Argumentos “bandera”:� Son los que controlan la operación de un comando.

� O determinan un valor especial.

� Por convención se indican con un guión (-) adelante que evita las ambigüedades.

EjemploComando con Argumentos

95

� Imprime las primeras 20 líneas del archivo “file”� head = comando

20 = argumento

head –20 file

Ejemplo

� 20 = argumento� file = archivo

� La mayoría de los comandos aceptan varias banderas y argumentos.

� Para especificar varios nombres de archivos Shell acepta caracteres mágicos ó comodines .

Operaciones Básicas96

� Ctrl + u Borra una línea de comando entera.

� Ctrl + c Cancela la ejecución de un comando.

Creando Usuarios en el Sistema97

� Sintaxis:

� useradd [opciones] [nombre_de_usuario]

� Opciones:

� -d Especifica el directorio inicial del usuario

-s Especifica el shell del usuario � -s Especifica el shell del usuario

� -g Especifica el grupo primario del usuario

� -G Especifica los grupos secundarios del usuario

� -M Especifica que no se cree un directorio de inicio para el usuario

� -e Especifica la fecha de expiración del usuario

� -c Especifica el Nombre del Usuario (Debe ir entre Comillas)

Creando Usuarios en el SistemaEjemplo

98

� Creamos el usuario� useradd–d /home/plapro–s /bin/bash–c “Pablo Laprovitera” –g 100 plapro–g 100 plapro

� Creamos el Directorio del Usuario (Suse no lo crea por defecto)� mkdir plapro

� Creamos la contraseña para el Usuario � passwd plapro

Comandos Varios99

Comando Descripción

History Despliega todo el historial de comandos typeados por el usuario.

Id Muestra el UID y GID asignado por el sistema a su usuario.

WhoMuestra los usuarios que están conectados al sistema en este

WhoMuestra los usuarios que están conectados al sistema en este momento

Who am i El sistema devuelve quien considera que es Usted.

Finger Similar al who, pero muestra también la descripción del usuario.

Cal mes/añoMuestra el calendario del mes, correspondiente al año. Se puede utilizar solamente con el año y devuelve el calendario anual.

DateVisualiza la Fecha del sistema. Sólo podrá cambiarla el Administrador.

Clear Borra la Pantalla

Comandos Varios100

Comando Descripción

Paste Fusiona dos archivos

Sort Ordena el contenido de un archivo

Split Divide un archivo. Ejemplo: split -2: lo divide a la mitadSplit Divide un archivo. Ejemplo: split -2: lo divide a la mitad

Grep Busca una palabra dentro de un archivo

Cat Muestra el contenido de un archivo

Mkdir Crea un Directorio

Rmdir Elimina un directorio

Rm Elimina un fichero

Listar el Contenido de un Directorio101

� Comando:� ls [- opciones]

� Opciones:� Opciones:� -a: archivos ocultos

� -C: Formato Milti-Columna (Ordenado por Columnas)

� -F: pone: /si se trata de un directorio y * si es un archivo Ejecutable

� -l: Detalles, formato largo

Comodines ó Metacaracteres102

� Nos permiten sustituir las partes desconocidas en un archivo.

� Contamos con dos comodines:� Contamos con dos comodines:

� * (Asterisco)

� ? (Signo de Interrogación)

� * (Asterisco): Sustituye una cadena de caracteres.

� ? (Signo de Interrogación): Sustituye a un carácter.

Comodines ó MetacaracteresCombinaciones Posibles

103

� Las combinaciones posibles son:

� *nombre

� Nombre*

� No*re

� ?ombre

� ??mbre

� No?b?e

� …..

Comodines ó MetacaracteresEjemplos de Búsqueda

104

� Para Buscar, utilizamos el comando “ls”

� Ejemplos:� Ejemplos:

� Ls archivo*

� Ls *chivo

� Ls ar??ivo

� ……

Comandos de ArchivosCopiar y Mover

105

� El comando utilizado para Copiar Archivos, es cp

� El comando utilizado para Mover Archivos, es mv

� La sintaxis para ambos comandos es:

� Comando Origen Destino

Es posible utilizar Metacaracteres en ambos comandos

Entradas y salidas Standard106

� Cuando el shell se inicializa tiene acceso a :

� Archivo llamado “entrada standard” para la lectura = TECLADO

� Archivo llamado “salida standard” para la escritura = PANTALLA

� Archivo llamado “error standard” para mensajes escritos de error = PANTALLA

Redireccionamiento Entrada y Salida107

� Para la entrada : <

� Para la salida : >

� Ejemplo: sort < in > out� Ejemplo: sort < in > out

� Se cambia entrada standard por archivo in y salida standard por out.

Filtros108

� Es un programa que lee su entrada en la “entrada standard”, la procesa y escribe su salida en la “salida standard”.

� Ejemplo:Sort < in > temp; head –30 < temp; rm temp

� Sort < in > temp

� Ejecuta sort, toma la entrada de “in”, escribe en la salida temp y termina.

� head –30 < temp

� Con head imprime las primeras 30 líneas de temp.

� rm temp

� Por fin, elimina el archivo temp.

Sort < in > temp; head –30 < temp; rm temp

Entubamiento109

� UNIX es un sistema de multiprogramación de propósito general.

� Un solo usuario puede ejecutar varios programas a la vez, cada uno como un programas a la vez, cada uno como un proceso independiente.

� Es una construcción más sencilla para las líneas de comandos.

� Puede contener un número arbitrario de comandos.

Entubamiento110

� El Entubamiento, también es llamado PIPE.

� El símbolo es la barra vertical ( | ).

� Ejemplo:

� cat Lista | sort� Conecta el comando CAT y el comando SORT

� En el ejemplo anterior solamente escribiríamos :

� sort < in | head –30� De ésta manera se indica que utilice el archivo de salida de sort

como entrada de head

� Ahorro: tener que crear, usar y borrar el archivo temp.

Entubamiento111

� El Entubamiento, también es llamado PIPE.

� El símbolo es la barra vertical ( | ).

� Ejemplo:

� cat Lista | sort� Conecta el comando CAT y el comando SORT

� En el ejemplo anterior solamente escribiríamos :

� sort < in | head –30� De ésta manera se indica que utilice el archivo de salida de sort

como entrada de head

� Ahorro: tener que crear, usar y borrar el archivo temp.

Permisos112

� Podemos asignar Permisos de Lectura, Escritura y Ejecución a Ficheros y Directorios.

� Para ello, utilizamos el comando CHMOD� Para ello, utilizamos el comando CHMOD

Permisos Tipo

(r): Read (Lectura) (g): Grupo

(w): Write (Escritura) (o): Otros

(x): Execute (Ejecución) (u): Dueño

(+) Da Permiso(- ) Quita Permiso

Permisos113

� Estructura del Comando

� Chmod U+ rwx Articulos

� Doy todos los permisos (Lectura, Escritura y Ejecución) al dueño del Archivo “Artículos”.

Permisos114

� Otra forma de otorgar o denegar permisos, es basándose en la Tabla Octal

R W X

0 0 0 0

• Chmod DueñoGrupoUsuarios NombreArchivo0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

• Ejemplo:

• chmod 750 Articulos• Asigno todos los permisos al dueño, de lectura y ejecución al grupo y permiso denegado a Usuarios.

Prácticos en Linux

Ejercicios115

Realizar en máquina y luego escribir en papel

Ejercicio 1116

1. Una vez en el Sistema, vea la fecha del día y quienes están conectados a la Red.

2. En su home de trabajo, cree tres directorios2. En su home de trabajo, cree tres directorios

� escrito

� comandos

� ejercicios

Ejercicio 1117

3. Copie al directorio comandos todos los ficheros del directorio “bin” del sistema, que comiencen con la letra “p”.

4. Copie al directorio “ejercicios” todo el contenido del directorio llamado “local” del sistema.

5. Copie a “escrito” los ficheros que comiencen con “e” del directorio “ejercicios”.

Ejercicio 1118

6. Cambie los permisos de cada uno de los directorios que ha creado en su “home” para que el grupo pueda leer sus contenidos y los otros no tengan permiso alguno.

7. Especifique comando para ver donde está situado Ud. en el sistema.

8. Cierre la sesión.

Ejercicio 2119

1. Cree el siguiente archivo llamado “socios”:

1. Romero Alicia 10 años

2. Silva Juan 20 años

3. Almada Verónica 30 años3. Almada Verónica 30 años

4. Brasesco Claudia 40 años

2. Escriba una línea de comandos con los argumentos que correspondan para ver las últimas dos líneas del archivo en pantalla.

Ejercicio 2120

3. Escriba una línea de comando para que me muestre la línea que contenga Almada.

4. Ordene el archivo recursivamente en otro archivo 4. Ordene el archivo recursivamente en otro archivo llamado “edades”.

Comandos a Fondo121

Índice de Comandos y sus respectivas Funciones

122

Para… Un… Utilizo el Comando

Borrar archivo rm

Borrar directorio rmdir

Crear archivo (vacio) touch

Crear directorio mkdir

Cambiar directorio cd

Copiar archivo cp

Editar archivo sed

Encontrar archivos find

Encontrar patron en archivo grep

Encadenar archivos cat

Mover archivos mv

Índice de Comandos y sus respectivas Funciones (Cont…)

123

Para… Un… Utilizo el Comando

Ir a directorio cd

Listar directorio ls

Listar procesos ps

Ordenar lineas de archivo sort

Partir lineas de archivo cut

Pegar archivos cat

Pegar columnas de archivos paste

Renombrar archivo mv

Reformatear archivo awk

Ver un archivo more

Ver directorio ls

Ver cabeza de archivo head

cat a1 a2 a3� a1, a2, a3 a pantalla

cat a1 a2 a3 >a4 � a1, a2, a3 a a4

cat a1 � a1 a pantalla

La funcion "oficial" de cat es de pegar o encadenar archivos. El resultado se muestra por Pantalla. Por eso, cat se usa mucho para ver el contenido de un archivo, aunque para eso es mejor more.

Comando cat124

cp origen destino� copia el archivo origen al archivo destino

cp origen1 origen2 destino� Copia origen1 y origen2 al directorio destino

cp -i origen destino� solicita confirmación en caso que Destino ya

exista.

El comando cp copia archivos. El ultimo argumento es el destino, los precedentes son el origen.

En el caso de múltiples orígenes, todos los orígenes son sucesivamente copiados al destino. Eso quiere decir que en efecto solo el penúltimo sobrevive la operación, lo cual es probablemente no deseable.

Comando cp125

Supongamos el archivo Prueba:1 arepas 250 2 tostones 350 3 cachapas 125

-------------------------------cut -f2 prueba

� Muestra los datos de la 2ª columna

Se usa para separar de cada linea de un archivo uno o mas campos, o una parte del archivo. Los campos se delimitan, por defecto, por espacio en blanco; pero se puede especificar el contenido.

Comando cut126

find . -name perdido� Busca en el Directorio actual el archivo Perdido

find /usr/people -name '*.f' � Busca en el Directorio /usr/people archivos

que terminen em .f

El comando find se usa para encontrar archivos en el árbol de directorios de Linux. La estructura de directorios puede ser arbitraria. find requiere un punto de partida y las características del archivo a encontrarse.

Comando find127

grep CALL *.f� Encuentra todas las líneas de todos los archivos

que contienen la palabra CALL en todos los archivos que terminan en .f

grep juanr /etc/passwd� Busca la linea(s) de /etc/passwd que contiene(n)

"juanr"

El comando grep tiene como función encontrar un patron en una lista de archivos (por ejemplo: todos los archivos que contengan la palabra "CALL").

Comando grep128

more xyz� Nos permite ver el archivo xyz en pantalla.

Una vez entrado a more, se controla con los

siguientes comandos, o mejor dicho "subcomandos:

• espacio - adelanta una pantalla • b (back) retrocede una pantalla • enter avanza una línea • /patron busca "patron" en el archivo • n busca la próxima ocurrencia de el patronanterior

Sirve para examinar un archivo. Es preferible al uso de cat, que se usa para el mismo propósito, porque more permite retroceder, avanzar, o hacer búsquedas.

Comando more129

anterior • q abandona el programa (salida).

Suponiendo que tenemos un archivo llamado “viejo”..

mv viejo nuevo � Cambiamos el nombre del archivo Viejo a

Nuevo

Supongamos que Subdir es un directorio…

mv xyz uvw subdir� xyz y uvw se mueven al subdirectorio subdir

El comando mv es similar a cp excepto que borra el origen. En otras palabras, mueve archivos de un directorio a otro, o de un archivo a otro. Un uso muy frecuente de mv es de cambiar el nombre a un archivo

Comando mv130

� xyz y uvw se mueven al subdirectorio subdir

rm xyz *.o � borra el archivo xyz y todos los archivos que

terminan en .o.

rm xyz * .o � xyz y uvw se mueven al subdirectorio subdir

rm -i xxx xyz� con –i solicita confirmación antes de eliminar

rm borra archivos y con ciertas opciones, hasta directorios. Advertencia: este comando es irreversible.

Comando rm131

rm -r direc� borra el directorio direc y todo su contenido

tail xxx� muestra las ultimas 10 líneas del archivo xxx

tail -1 xxx� muestra última línea del archivo xxx

tail muestra las últimas 10 líneas de un archivo, u opcionalmente las últimas n líneas del archivo.

Comando tail132

touch xxxx � Si xxxx existe, le cambia la fecha; si no crea

ese archivo sin contenido alguno (longitud cero bytes).

Este comando tiene dos usos: uno, crear un archivo vacio y dos, actualizar la fecha de un archivo-- cambia la fecha a la de "ahora".

Comando touch133

sort arch1 >arch2� Ordena Alfabéticamente Ascendente las líneas

de arch1. Usamos redirección para crear un archivo de salida.

sort -n arch1 >arch2� Igual que el anterior, pero en este caso el orden

es Numérico Ascendente.

La función de sort es de ordenar las líneas de un archivo. Las líneas se pueden subdividir en campos; el ordenamiento puede ser alfabético o numérico y el orden ascendiente o descendiente.

Comando sort134

sort -nr arch1 >arch2� Igual que el anterior, pero en este caso el orden

es Numérico Descendente.

Shell Script135

Shell Script136

� Es un archivo de texto que almacena una serie de comandos.

� Se crea con un procesador de textos y se guarda con extensión .sh

Pasos para crear un

Shell Script137

� Para crear un shell Script:

� Abrimos el Procesador de Texto

� Escribo el Código

� Guardo el archivo con un nombre y extensión .sh� Guardo el archivo con un nombre y extensión .sh

� Cambio los permisos de ejecución

� Ejecuto el Shell Script

VI: Procesador de Texto138

� Para entrar al programa, en el shell escribir vi y presionar Enter.

� Luego, presiono i para comenzar.� Luego, presiono i para comenzar.

� Para guardar el archivo, presionar ESC :w Nombre

� Para salir, ESC :q

#!/bin/bashClearEcho “Hola Gente!!!”Echo “Todo bien?”Exit 0

Un Shell Script Sencillo 139

Como se ejecuta un Shell Script140

� Primero, se debe cambiar los permisos del archivo

� Ejemplo: chmod 750 Bienvenida.sh

� Para ejecutar un shell script, hay varias formas.

� Ejemplo: sh –x Bienvenida.sh

#!/bin/bashClearEcho “Estos son los Usuarios Logueados”wExit 0

Un Shell Script que me muestre por pantalla los usuarios

conectados en este momento.

Ejemplos Cortos de Shell Script141

#!/bin/bashClearCat Articulos | sortExit 0

Un Shell Script que me muestre por pantalla el contenido del

archivo Articulos Ordenado

Ejemplos Cortos de Shell Script142

#!/bin/bashClearEcho “Los archivos que Comienzan con A”Ls a*Exit 0

Un Shell Script que me muestre por pantalla los archivos que

comiencen con la letra “a”

Ejemplos Cortos de Shell Script143

Estructura IF144

IF ___________Then

______

______

____________

Else

______

______

______

fi

#!/bin/bashClearIf grep “Yerba” ArticulosThen

Echo “Existe en el Stock!”Else

Echo “NO Existe en el Stock!”FiExit 0

Un Shell Script que me muestre por pantalla un mensaje que

confirme la existencia del articulo “Yerba” en el Archivo

“Articulos”

Ejemplo de Shell Script con IF145

#!/bin/bashClearEcho “Ingrese el Artículo: ”Read Palabra

If grep $Palabra ArticulosThen

Echo “Existe en el Stock!”Else

Un Shell Script que me muestre por pantalla un mensaje que

confirme la existencia del articulo ingresado en el Archivo

“Articulos”

Otro Ejemplo de Shell Script con IF146

Echo “NO Existe en el Stock!”FiExit 0

Variables147

� Para guardar un valor introducido en el teclado, utilizamos variables.

� Ejemplo: Read Variable

� Para utilizar el contenido de la variable, la llamamos por su nombre con un signo $ delante

� Ejemplo: $Variable

While148

� Nos permite generar un bucle.� Solo se corta dicho bucle, cuando se deje de complir la

condición.

While [ condicion ]While [ condicion ]Do

____________

done

#!/bin/bashClearEcho “BIENVENIDO!”op=0While [ “$Op” != “5” ]Echo “MENÚ PRINCIPAL”Echo “1. Altas”Echo “2. Bajas”Echo “3. Modificación”Echo “4. Consultas”Echo “5. Salir”

Creamos un Menú de Opciones

Ejemplo utilizando While y Case149

Echo “5. Salir”Echo “Opción? “Read Op

Case “$Op” in1)Clearsh Altas.sh;;

2)Clearsh Bajas.sh;;

:5) Clear;;*) Clear

Creamos un Menú de Opciones

Ejemplo utilizando While y Case (Cont…)150

ClearEcho “La Opción $Op no es correcta”;;EsacDone

ClearEcho “Ingrese el Nombre: ”Read Nombre

Echo “Ingrese el Apellido: ”Read Apellido

Echo “Ingrese el Teléfono: ”Read Telefono

Echo “$Nombre $Apellido $Telefono” >>Agenda;;

Programa de Altas…151

Echo “$Nombre $Apellido $Telefono” >>Agenda;;

Tabulaciones

Clear

Echo “Ingrese el Contacto a dar de Baja: “Read Nombre

Grep –v $Nombre Agenda > TempCp Temp Agenda;;

Programa de Bajas…152

ClearEcho “Ingrese el Contacto a dar de Baja: “Read Nombre

Echo “Apellido: “Read NewApe

Ape=‘grep $Nombre Agenda | cut –f2’

Grep $Ape | sed s/$Apellido/$NewApe/ > TempApeGrep –v $Nombre Agenda > Temp

Programa de Modificación…153

Grep –v $Nombre Agenda > Temp

Cat TempApe Temp > Agenda;;