0% encontró este documento útil (0 votos)
106 vistas7 páginas

Comandos UNIX y Shell Scripts Básicos

Este documento presenta una introducción a los scripts de shell y comandos de UNIX en el contexto de una asignatura de sistemas operativos. Explica conceptos básicos como variables, arreglos, funciones y sentencias de control que se pueden usar en scripts de shell. También describe una variedad de comandos de UNIX y operadores con ejemplos. Finalmente, propone algunos ejercicios prácticos para crear scripts de shell simples que usen estas funciones y comandos.

Cargado por

Mega Dowlo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
106 vistas7 páginas

Comandos UNIX y Shell Scripts Básicos

Este documento presenta una introducción a los scripts de shell y comandos de UNIX en el contexto de una asignatura de sistemas operativos. Explica conceptos básicos como variables, arreglos, funciones y sentencias de control que se pueden usar en scripts de shell. También describe una variedad de comandos de UNIX y operadores con ejemplos. Finalmente, propone algunos ejercicios prácticos para crear scripts de shell simples que usen estas funciones y comandos.

Cargado por

Mega Dowlo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Instituto Politécnico Nacional

Escuela Superior de Cómputo

Asignatura Sistemas operativos


Prof. Ana Belem Juárez Méndez
Práctica 1 Introducción a shell script y comandos UNIX

Objetivo
Conocer algunos de los comandos fundamentales de UNIX y aprender a desarrollar shell scripts
básicos.

Introducción

El shell es quien traduce las líneas de comandos del usuario en instrucciones del sistema
operactivo. Además de comandos, el shell ofrece otros elementos para mejorar su
funcionalidad, tales como variables, funciones o estructuras de control. El conjunto de
comandos internos y elementos disponibles, así como su sintaxis, depende del shell
empleado.

Un shell script es un simple archivo de texto que contiene uno o varios comandos. Es
común que los shell scripts tengan la extensión ‘.sh’, para ayudar a la identificación de su
contenido, pero no es obligatorio colocarla.

VARIABLES

En un shell script se pueden crear y utilizar variables. Las operaciones que se pueden
realizar con ellas son las siguientes:

var=“”
Definir
var=

var=“hormiga”
Inicializar o modificar
var=10

$var
Acceso a valor
${var}

1 de 7
Instituto Politécnico Nacional
Escuela Superior de Cómputo

El shell permite el uso de algunas variables especiales, las cuales se muestran a


continuación:

$$ Número de proceso del shell script en el que se


está utilizando.

$0 Nombre completo del shell script que se


está utilizando

$1..$9 $n hace referencia al n–ésimo argumento de la


línea de comandos.

$# Número de argumentos.

$* Lista de todos los argumentos. Si se usa dentro de


comillas dobles, se vuelve una única variable
formada por los parámetros posicionales.

$@ Lista de todos los argumentos.

$? Valor devuelto por el último comando, script, función


o sentencia de control invocado.

ARREGLOS

Existen varias maneras para asignar valores a arreglos, algunas son las siguientes:

dias[0]=lunes
dias[1]=martes
dias[2]=miercoles
o
dias=([0]=lunes [1]=martes [2]=miercoles)

Podemos acceder al valor de un elemento en la posición i en el arreglo de la siguiente


manera: ${dias[i]}
Podemos acceder al tamaño del arreglo de la siguiente manera: ${#dias[@]
(devolvería 3).

FUNCIONES

Para definir una función, puedes usar cualquiera de las siguientes dos formas:

function nomfuncion
{
comandos shell
}

o
2 de 7
Instituto Politécnico Nacional
Escuela Superior de Cómputo

nomfuncion ()
{
comandos shell
}

SENTENCIAS DE CONTROL

CONDICIONAL IF-ELIF-ELSE
Presenta la siguiente sintaxis:

if condicion
then
sentencias
elif condicion
then
sentencias
...
else
sentencias
fi

Operadores aritméticos

-lt Menor que

-le Menor o igual que

-eq igual

-ge Mayor o igual que

-gt Mayor que

-ne diferente

Operadores lógicos

&& and

|| or

! not

3 de 7
Instituto Politécnico Nacional
Escuela Superior de Cómputo

Operadores de comparación de cadenas

cad1 = cad2 cad1 es igual a cad2

cad1 != cad2 cad1 no es igual a cad2

cad1 < cad2 cad1 es menor a cad2

cad1 > cad2 cad1 es mayor a cad2

cad1 no es null (tiene tamaño mayor a


-n cad1
0)

-z cad1 cad1 es null (tiene tamaño 0)

Operadores de atributos de archivos

-d archivo archivo existe y es un directorio

-e archivo archivo existe

archivo existe y es un archivo regular,


-f archivo es decir, no es un directorio u otro tipo
especial de archivo.

-r archivo Tienes permiso de lectura en archivo

-s archivo archivo existe y no esta vacío

-w archivo Tienes permiso de escritura en archivo

Tienes permiso de ejecución en


-x archivo archivo, o en el caso de ser documento
tienes permiso de búsqueda

archivo1 -nt archivo2 archivo1 es más actual que archivo2

archivo1 -ot archivo2 archivo1 es más antiguo que archivo1

4 de 7
Instituto Politécnico Nacional
Escuela Superior de Cómputo

BUCLE FOR
Presenta la siguiente sintaxis:

for i in list
do
sentencias que usen $i
done

BUCLE WHILE
Presenta la siguiente sintaxis:

while condicion
do
sentencias . . .
done

BUCLE UNTIL
Presenta la siguiente sintaxis:

until condicion
do
sentencias . . .
done

5 de 7
Instituto Politécnico Nacional
Escuela Superior de Cómputo

Desarrollo

Ejercicio 1. Investiga el uso de los siguientes comandos y caracteres especiales, y muestra su


funcionamiento en una terminal.

cp who which du

mv wc w df

date ifconfig sudo exit

cal pstree ps cat

uname su grep rm

mkdir head find sort

> >> < <<

Ejercicio 2. Abre una terminal y posiciónate en un directorio de trabajo vacío de tu


preferencia. Crea mínimo 5 archivos con el nombre de tu preferencia. Realiza un script
que le cambie el nombre a estos archivos por: [Link], [Link], … [Link],
donde N es el número total de archivos que creaste. El script debe funcionar de manera
dinámica, es decir, si creas un archivo adicional y vuelves a ejecutar tu script también
debe renombrarlo.

Ejercicio 3. Realiza un script que reciba al menos un argumento y que devuelva en


pantalla el número de argumentos introducidos, sin el uso de $#. NOTA: Válida que al
menos se introduzca un argumento.

Ejercicio 4. Realiza un script que reciba mínimo 2 números y a lo sumo 8 números como
argumentos, ordénalos de menor a mayor y muéstralos en pantalla. NOTA: Válida el
número de argumentos, no debe aceptar menos de 2 o más de 8.

6 de 7
Instituto Politécnico Nacional
Escuela Superior de Cómputo

Ejercicio 5. Imagina que tienes una colección de álbumes de música de tus grupos
favoritos. En un archivo tienes almacenado el número de álbumes por grupo. Un ejemplo
de como se ve tu archivo, es:

4 sonic youth
3 The Smiths
9 phoenix
8 Beatles

Realiza un script que imprima las N líneas mayores, es decir los N grupos con los que
tienes más álbumes. El valor de N y el nombre del archivo donde esta contenida la
información deben de pasarse como parámetros.

7 de 7

También podría gustarte