You are on page 1of 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”:
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.

. Para especificar varios nombres de archivos Shell acepta caracteres mágicos ó comodines .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.

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 .

Muestra el calendario del mes. correspondiente al año.Comandos Varios 99 Comando History Id Who Who am i Finger Cal mes/año Date Clear Descripción Despliega todo el historial de comandos typeados por el usuario. pero muestra también la descripción del usuario. Sólo podrá cambiarla el Administrador. Muestra el UID y GID asignado por el sistema a su usuario. Se puede utilizar solamente con el año y devuelve el calendario anual. Similar al who. Muestra los usuarios que están conectados al sistema en este momento El sistema devuelve quien considera que es Usted. Borra la Pantalla . Visualiza la Fecha del sistema.

Ejemplo: split -2: lo divide a la mitad Busca una palabra dentro de un archivo Muestra el contenido de un archivo Crea un Directorio Elimina un directorio Elimina un fichero .Comandos Varios 100 Comando Paste Sort Split Grep Cat Mkdir Rmdir Rm Descripción Fusiona dos archivos Ordena el contenido de un archivo Divide un archivo.

Listar el Contenido de un Directorio 101 Comando: ls [. formato largo .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.

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 102 Nos permiten sustituir las partes desconocidas en un archivo. .

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

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 .Comandos de Archivos Copiar y Mover 105 El comando utilizado para Copiar Archivos.

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

toma la entrada de “in”. rm temp Por fin. head –30 < temp Con head imprime las primeras 30 líneas de temp.Filtros 108 Es un programa que lee su entrada en la “entrada standard”. la procesa y escribe su salida en la “salida standard”. elimina el archivo temp. Ejemplo: Sort < in > temp. head –30 < temp. rm temp Sort < in > temp Ejecuta sort. . escribe en la salida temp y termina.

Puede contener un número arbitrario de comandos. Un solo usuario puede ejecutar varios programas a la vez.Entubamiento 109 UNIX es un sistema de multiprogramación de propósito general. . Es una construcción más sencilla para las líneas de comandos. cada uno como un proceso independiente.

.Entubamiento 110 El Entubamiento. El símbolo es la barra vertical ( | ). usar y borrar el archivo temp. también es llamado PIPE. 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.

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. El símbolo es la barra vertical ( | ). .Entubamiento 111 El Entubamiento. también es llamado PIPE.

Escritura y Ejecución a Ficheros y Directorios. Para ello. utilizamos el comando CHMOD Permisos (r): Read (Lectura) (w): Write (Escritura) (x): Execute (Ejecución) (+) Da Permiso (.Permisos 112 Podemos asignar Permisos de Lectura.) Quita Permiso Tipo (g): Grupo (o): Otros (u): Dueño .

Permisos
113

Estructura del Comando
Chmod U+ rwx Articulos
Doy todos 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 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111

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

115

Ejercicios
Prácticos en Linux Realizar en máquina y luego escribir en papel

En su home de trabajo. cree tres directorios escrito comandos ejercicios 2. Una vez en el Sistema. vea la fecha del día y quienes están conectados a la Red. .Ejercicio 1 116 1.

que comiencen con la letra “p”. 5. . 4. Copie al directorio “ejercicios” todo el contenido del directorio llamado “local” del sistema.Ejercicio 1 117 3. Copie a “escrito” los ficheros que comiencen con “e” del directorio “ejercicios”. Copie al directorio comandos todos los ficheros del directorio “bin” del sistema.

Especifique comando para ver donde está situado Ud. 7. 8.Ejercicio 1 118 6. . en el sistema. Cierre la sesión. 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.

Ejercicio 2 119 1. Romero Silva Juan Almada Brasesco Alicia 10 años 20 años Verónica 30 años Claudia 40 años 2. . 3. 4. 2. Escriba una línea de comandos con los argumentos que correspondan para ver las últimas dos líneas del archivo en pantalla. Cree el siguiente archivo llamado “socios”: 1.

Ordene el archivo recursivamente en otro archivo llamado “edades”. 4. .Ejercicio 2 120 3. Escriba una línea de comando para que me muestre la línea que contenga Almada.

121 Comandos a Fondo .

Índice de Comandos y sus respectivas Funciones 122 Para… Borrar Borrar Crear Crear Cambiar Copiar Editar Encontrar Encontrar Encadenar Mover Un… archivo directorio archivo (vacio) directorio directorio archivo archivo archivos patron en archivo archivos archivos Utilizo el Comando rm rmdir touch mkdir cd cp sed find grep cat mv .

Índice de Comandos y sus respectivas Funciones (Cont…) 123 Para… Ir a Listar Listar Ordenar Partir lineas Pegar Pegar Renombrar Reformatear Ver Ver Ver Un… directorio directorio procesos lineas de archivo de archivo archivos columnas de archivos archivo archivo un archivo directorio cabeza de archivo Utilizo el Comando cd ls ps sort cut cat paste mv awk more ls head .

a2. . El resultado se muestra por Pantalla. a3 a pantalla cat a1 a2 a3 >a4 a1. a3 a a4 cat a1 a1 a pantalla 124 Comando cat La funcion "oficial" de cat es de pegar o encadenar archivos. a2. Por eso. cat se usa mucho para ver el contenido de un archivo. aunque para eso es mejor more.cat a1 a2 a3 a1.

lo cual es probablemente no deseable. El ultimo argumento es el destino. . 125 Comando cp El comando cp copia archivos. Eso quiere decir que en efecto solo el penúltimo sobrevive la operación. En el caso de múltiples orígenes. todos los orígenes son sucesivamente copiados al destino.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. los precedentes son el origen.

pero se puede especificar el contenido. . o una parte del archivo. por defecto. por espacio en blanco.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. Los campos se delimitan.

find .f 127 Comando find El comando find se usa para encontrar archivos en el árbol de directorios de Linux. find requiere un punto de partida y las características del archivo a encontrarse. -name perdido Busca en el Directorio actual el archivo Perdido find /usr/people -name '*. La estructura de directorios puede ser arbitraria.f' Busca en el Directorio /usr/people archivos que terminen em . .

grep CALL *.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"). .f Encuentra todas las líneas de todos los archivos que contienen la palabra CALL en todos los archivos que terminan en .

. que se usa para el mismo propósito. 129 Comando more Sirve para examinar un archivo. avanzar. se controla con los siguientes comandos. o mejor dicho "subcomandos: • espacio . o hacer búsquedas.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). Es preferible al uso de cat. porque more permite retroceder.more xyz Nos permite ver el archivo xyz en pantalla. Una vez entrado a more.

En otras palabras.Suponiendo que tenemos un archivo llamado “viejo”. mueve archivos de un directorio a otro.. 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. Un uso muy frecuente de mv es de cambiar el nombre a un archivo . o de un archivo a otro.

o. . rm xyz * .rm xyz *. hasta directorios. Advertencia: este comando es irreversible.o borra el archivo xyz y todos los archivos que terminan en .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.

. u opcionalmente las últimas n líneas del archivo.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.

crear un archivo vacio y dos. . le cambia la fecha.cambia la fecha a la de "ahora". actualizar la fecha de un archivo-. 133 Comando touch Este comando tiene dos usos: uno. si no crea ese archivo sin contenido alguno (longitud cero bytes).touch xxxx Si xxxx existe.

Las líneas se pueden subdividir en campos. .sort arch1 >arch2 Ordena Alfabéticamente Ascendente las líneas de arch1. el ordenamiento puede ser alfabético o numérico y el orden ascendiente o descendiente. pero en este caso el orden es Numérico Descendente. pero en este caso el orden es Numérico Ascendente. Usamos redirección para crear un archivo de salida. 134 Comando sort La función de sort es de ordenar las líneas de un archivo. sort -nr arch1 >arch2 Igual que el anterior. sort -n arch1 >arch2 Igual que el anterior.

135 Shell Script .

sh . Se crea con un procesador de textos y se guarda con extensión .Shell Script 136 Es un archivo de texto que almacena una serie de comandos.

Pasos para crear un Shell Script 137 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 .

presiono i para comenzar. Para guardar el archivo.VI: Procesador de Texto 138 Para entrar al programa. en el shell escribir vi y presionar Enter. ESC :q . presionar ESC :w Nombre Para salir. Luego.

#!/bin/bash Clear Echo “Hola Gente!!!” Echo “Todo bien?” Exit 0 139 Un Shell Script Sencillo .

sh Para ejecutar un shell script. hay varias formas.Como se ejecuta un Shell Script 140 Primero.sh . Ejemplo: sh –x Bienvenida. se debe cambiar los permisos del archivo Ejemplo: chmod 750 Bienvenida.

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

Ejemplo: Read Variable Para utilizar el contenido de la variable. la llamamos por su nombre con un signo $ delante Ejemplo: $Variable .Variables 147 Para guardar un valor introducido en el teclado. utilizamos variables.

cuando se deje de complir la condición. While [ condicion ] Do ____ ____ ____ done . Solo se corta dicho bucle.While 148 Nos permite generar un bucle.

Altas” Echo “2. Bajas” Echo “3.#!/bin/bash Clear Echo “BIENVENIDO!” op=0 While [ “$Op” != “5” ] Echo “MENÚ PRINCIPAL” Echo “1. 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.. : 5) Clear. Esac Done 150 Ejemplo utilizando While y Case (Cont…) Creamos un Menú de Opciones .sh.. 2) Clear sh Bajas.sh.. *) Clear Echo “La Opción $Op no es correcta”..

. Tabulaciones 151 Programa de Altas… .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.

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