Click here to load reader
Upload
casillabasura
View
397
Download
2
Embed Size (px)
Citation preview
• 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;;