Sistemas Operativos - Linux

62

Click here to load reader

Transcript of Sistemas Operativos - Linux

Page 1: Sistemas Operativos - Linux

• Shell

• Comandos Varios

Operación en Linux92

• Comandos Varios

• Comodines

• Entradas y Salidas

• Filtros

• Entubamiento

• Permisos

Page 2: Sistemas Operativos - Linux

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.

Page 3: Sistemas Operativos - Linux

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.

Page 4: Sistemas Operativos - Linux

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 .

Page 5: Sistemas Operativos - Linux

Operaciones Básicas96

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

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

Page 6: Sistemas Operativos - Linux

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)

Page 7: Sistemas Operativos - Linux

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

Page 8: Sistemas Operativos - Linux

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

Page 9: Sistemas Operativos - Linux

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

Page 10: Sistemas Operativos - Linux

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

Page 11: Sistemas Operativos - Linux

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.

Page 12: Sistemas Operativos - Linux

Comodines ó MetacaracteresCombinaciones Posibles

103

� Las combinaciones posibles son:

� *nombre

� Nombre*

� No*re

� ?ombre

� ??mbre

� No?b?e

� …..

Page 13: Sistemas Operativos - Linux

Comodines ó MetacaracteresEjemplos de Búsqueda

104

� Para Buscar, utilizamos el comando “ls”

� Ejemplos:� Ejemplos:

� Ls archivo*

� Ls *chivo

� Ls ar??ivo

� ……

Page 14: Sistemas Operativos - Linux

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

Page 15: Sistemas Operativos - Linux

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

Page 16: Sistemas Operativos - Linux

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.

Page 17: Sistemas Operativos - Linux

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

Page 18: Sistemas Operativos - Linux

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.

Page 19: Sistemas Operativos - Linux

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.

Page 20: Sistemas Operativos - Linux

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.

Page 21: Sistemas Operativos - Linux

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

Page 22: Sistemas Operativos - Linux

Permisos113

� Estructura del Comando

� Chmod U+ rwx Articulos

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

Page 23: Sistemas Operativos - Linux

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.

Page 24: Sistemas Operativos - Linux

Prácticos en Linux

Ejercicios115

Realizar en máquina y luego escribir en papel

Page 25: Sistemas Operativos - Linux

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

Page 26: Sistemas Operativos - Linux

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

Page 27: Sistemas Operativos - Linux

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.

Page 28: Sistemas Operativos - Linux

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.

Page 29: Sistemas Operativos - Linux

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

Page 30: Sistemas Operativos - Linux

Comandos a Fondo121

Page 31: Sistemas Operativos - Linux

Í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

Page 32: Sistemas Operativos - Linux

Í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

Page 33: Sistemas Operativos - Linux

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

Page 34: Sistemas Operativos - Linux

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

Page 35: Sistemas Operativos - Linux

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

Page 36: Sistemas Operativos - Linux

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

Page 37: Sistemas Operativos - Linux

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

Page 38: Sistemas Operativos - Linux

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

Page 39: Sistemas Operativos - Linux

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

Page 40: Sistemas Operativos - Linux

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

Page 41: Sistemas Operativos - Linux

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

Page 42: Sistemas Operativos - Linux

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

Page 43: Sistemas Operativos - Linux

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.

Page 44: Sistemas Operativos - Linux

Shell Script135

Page 45: Sistemas Operativos - Linux

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

Page 46: Sistemas Operativos - Linux

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

Page 47: Sistemas Operativos - Linux

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

Page 48: Sistemas Operativos - Linux

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

Un Shell Script Sencillo 139

Page 49: Sistemas Operativos - Linux

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

Page 50: Sistemas Operativos - Linux

#!/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

Page 51: Sistemas Operativos - Linux

#!/bin/bashClearCat Articulos | sortExit 0

Un Shell Script que me muestre por pantalla el contenido del

archivo Articulos Ordenado

Ejemplos Cortos de Shell Script142

Page 52: Sistemas Operativos - Linux

#!/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

Page 53: Sistemas Operativos - Linux

Estructura IF144

IF ___________Then

______

______

____________

Else

______

______

______

fi

Page 54: Sistemas Operativos - Linux

#!/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

Page 55: Sistemas Operativos - Linux

#!/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

Page 56: Sistemas Operativos - Linux

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

Page 57: Sistemas Operativos - Linux

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

Page 58: Sistemas Operativos - Linux

#!/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

Page 59: Sistemas Operativos - Linux

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

Page 60: Sistemas Operativos - Linux

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

Page 61: Sistemas Operativos - Linux

Clear

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

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

Programa de Bajas…152

Page 62: Sistemas Operativos - Linux

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