Вы находитесь на странице: 1из 62

92 Operación en Linux

• Shell
• Comandos Varios

• Comodines

• Entradas y Salidas

• Filtros

• Entubamiento

• Permisos
Shell
93

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

 Argumentos:
 Nombres de archivos.

 Argumentos “bandera”:
 Sonlos 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.
Ejemplo
Comando con Argumentos
95

Ejemplo
head –20 file

 Imprime las primeras 20 líneas del archivo “file”


 head = comando
 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ásicas
96

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

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


Creando Usuarios en el Sistema
97

 Sintaxis:
 useradd [opciones] [nombre_de_usuario]
 Opciones:
 -d Especifica el directorio inicial 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 Sistema
Ejemplo
98

 Creamos el usuario
 useradd
–d /home/plapro
–s /bin/bash
–c “Pablo Laprovitera”
–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 Varios
99

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.


Muestra los usuarios que están conectados al sistema en este
Who
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.


Muestra el calendario del mes, correspondiente al año. Se puede
Cal mes/año
utilizar solamente con el año y devuelve el calendario anual.
Visualiza la Fecha del sistema. Sólo podrá cambiarla el
Date
Administrador.
Clear Borra la Pantalla
Comandos Varios
100

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 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 Directorio
101

 Comando:
 ls [- 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 ó Metacaracteres
102

 Nos permiten sustituir las partes desconocidas en un


archivo.

 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 ó Metacaracteres
Combinaciones Posibles
103

 Las combinaciones posibles son:

 *nombre
 Nombre*
 No*re

 ?ombre
 ??mbre
 No?b?e
 …..
Comodines ó Metacaracteres
Ejemplos de Búsqueda
104

 Para Buscar, utilizamos el comando “ls”

 Ejemplos:
 Ls archivo*
 Ls *chivo

 Ls ar??ivo

 ……
Comandos de Archivos
Copiar 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 Standard
106

 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 Salida
107

 Para la entrada : <


 Para la salida : >

 Ejemplo: sort < in > out


 Se cambia entrada standard por archivo in y salida
standard por out.
Filtros
108

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

 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
proceso independiente.
 Es una construcción más sencilla para las líneas
de comandos.
 Puede contener un número arbitrario de
comandos.
Entubamiento
110

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

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

 Podemos asignar Permisos de Lectura, Escritura y


Ejecución a Ficheros y Directorios.

 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
Permisos
113

 Estructura del Comando

 Chmod U+ rwx Articulos

 Doytodos los permisos (Lectura, Escritura y Ejecución) al


dueño del Archivo “Artículos”.
Permisos
114

 Otra forma de otorgar o denegar permisos, es


basándose en la Tabla Octal
RWX • Chmod DueñoGrupoUsuarios NombreArchivo
0 000
1 001
2 010 • Ejemplo:
3 011
4 100 • chmod 750 Articulos
5 101 • Asigno todos los permisos al dueño, de
6 110 lectura y ejecución al grupo y permiso
7 111 denegado a Usuarios.
115 Ejercicios
Prácticos en Linux

Realizar en máquina y luego escribir en papel


Ejercicio 1
116

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 directorios


 escrito

 comandos

 ejercicios
Ejercicio 1
117

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 1
118

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 2
119

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ñ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 2
120

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


llamado “edades”.
121 Comandos a Fondo
Í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

124 Comando cat


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

125 Comando cp
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.
Supongamos el archivo Prueba:
1 arepas 250
2 tostones 350
3 cachapas 125

-------------------------------
cut -f2 prueba
 Muestra los datos de la 2ª columna

126 Comando cut


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

127 Comando find


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

128 Comando grep


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").
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 patron
anterior
• q abandona el programa (salida).

129 Comando more


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

130 Comando mv
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
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 -r direc
 borra el directorio direc y todo su contenido

131 Comando rm
rm borra archivos y con ciertas opciones, hasta directorios.
Advertencia: este comando es irreversible.
tail xxx
 muestra las ultimas 10 líneas del archivo xxx

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

132 Comando tail


tail muestra las últimas 10 líneas de un archivo, u opcionalmente las
últimas n líneas del archivo.
touch xxxx
 Si xxxx existe, le cambia la fecha; si no crea
ese archivo sin contenido alguno (longitud cero
bytes).

133 Comando touch


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

sort -nr arch1 >arch2


 Igual que el anterior, pero en este caso el orden
es Numérico Descendente.

134 Comando sort


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.
135 Shell Script
Shell Script
136

 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

137
Shell Script
 Para crear un shell Script:
 Abrimos el Procesador de Texto
 Escribo el Código

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

 Cambio los permisos de ejecución

 Ejecuto el Shell Script


VI: Procesador de Texto
138

 Para entrar al programa, en el shell escribir vi y


presionar Enter.

 Luego, presiono i para comenzar.

 Para guardar el archivo, presionar ESC :w Nombre

 Para salir, ESC :q


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

139 Un Shell Script Sencillo


Como se ejecuta un Shell Script
140

 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/bash
Clear
Echo “Estos son los Usuarios Logueados”
w
Exit 0

141 Ejemplos Cortos de Shell Script


Un Shell Script que me muestre por pantalla los usuarios
conectados en este momento.
#!/bin/bash
Clear
Cat Articulos | sort
Exit 0

142 Ejemplos Cortos de Shell Script


Un Shell Script que me muestre por pantalla el contenido del
archivo Articulos Ordenado
#!/bin/bash
Clear
Echo “Los archivos que Comienzan con A”
Ls a*
Exit 0

143 Ejemplos Cortos de Shell Script


Un Shell Script que me muestre por pantalla los archivos que
comiencen con la letra “a”
Estructura IF
144

IF ___________
Then
______
______
______
Else
______
______
______
fi
#!/bin/bash
Clear
If grep “Yerba” Articulos
Then
Echo “Existe en el Stock!”
Else
Echo “NO Existe en el Stock!”
Fi
Exit 0

145 Ejemplo de Shell Script con IF


Un Shell Script que me muestre por pantalla un mensaje que
confirme la existencia del articulo “Yerba” en el Archivo
“Articulos”
#!/bin/bash
Clear
Echo “Ingrese el Artículo: ”
Read Palabra

If grep $Palabra Articulos


Then
Echo “Existe en el Stock!”
Else
Echo “NO Existe en el Stock!”
Fi
Exit 0

146 Otro Ejemplo de Shell Script con IF


Un Shell Script que me muestre por pantalla un mensaje que
confirme la existencia del articulo ingresado en el Archivo
“Articulos”
Variables
147

 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
While
148

 Nos permite generar un bucle.


 Solo se corta dicho bucle, cuando se deje de complir la
condición.

While [ condicion ]
Do
____
____
____
done
#!/bin/bash
Clear
Echo “BIENVENIDO!”
op=0
While [ “$Op” != “5” ]
Echo “MENÚ PRINCIPAL”
Echo “1. Altas”
Echo “2. Bajas”
Echo “3. Modificación”
Echo “4. Consultas”
Echo “5. Salir”
Echo “Opción? “
Read Op

149 Ejemplo utilizando While y Case


Creamos un Menú de Opciones
Case “$Op” in
1)
Clear
sh Altas.sh;;
2)
Clear
sh Bajas.sh;;
:
5) Clear;;
*)
Clear
Echo “La Opción $Op no es correcta”;;
Esac
Done

150 Ejemplo utilizando While y Case (Cont…)


Creamos un Menú de Opciones
Clear
Echo “Ingrese el Nombre: ”
Read Nombre

Echo “Ingrese el Apellido: ”


Read Apellido

Echo “Ingrese el Teléfono: ”


Read Telefono

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

Tabulaciones

151 Programa de Altas…


Clear

Echo “Ingrese el Contacto a dar de Baja: “


Read Nombre

Grep –v $Nombre Agenda > Temp


Cp Temp Agenda;;

152 Programa de Bajas…


Clear
Echo “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/ > TempApe


Grep –v $Nombre Agenda > Temp

Cat TempApe Temp > Agenda;;

153 Programa de Modificación…