Professional Documents
Culture Documents
INTRODUCCIÓN
A LA SHELL DE
UNIX/LINUX
1
INTRODUCCIÓN
Introducción a la Shell de Unix/Linux
Unix/Linux
2
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
INTRODUCCIÓN
Introducción a la Shell de Unix/Linux
- Multiplataforma (portable)
- Servidor de red.
3
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
INTRODUCCIÓN
Introducción a la Shell de Unix/Linux
Componentes de Unix/Linux
4
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
SISTEMA DE ARCHIVOS
Introducción a la Shell de Unix/Linux
5
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
SISTEMA DE ARCHIVOS
Introducción a la Shell de Unix/Linux
/ (directorio raíz)
/bi (Archivos
/bin (A hi bi
binarios,
i ejecutables
j bl esenciales)
i l )
/sbin (Archivos binarios del superusuario, esenciales)
/d (Archivos
/dev (A hi controladores
t l d dde di
dispositivos
iti "devices")
"d i ")
/etc (Archivos de configuración del sistema)
/tmp (Archivos temporales)
/home (Contiene los directorios personales de cada usuario)
/usr (Aplicaciones para los usuarios)
/var (Archivos de tamaño extensible: impresora, mail, logs, ...)
/proc (Comunicación directa con el núcleo)
/lib (Librerías esenciales para el sistema)
/mnt ((Donde se montarán los sistemas de archivos))
6
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
SISTEMA DE ARCHIVOS
Introducción a la Shell de Unix/Linux
Para p
poder navegar
g p
por el árbol de directorios,, la shell
proporciona el comando cd (change directory) cuyas opciones
son:
7
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
SISTEMA DE ARCHIVOS
Introducción a la Shell de Unix/Linux
8
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
SHELL
Introducción a la Shell de Unix/Linux
Concepto de shell
Tareas de la shell
Maneja señales.
10
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
SHELL
Introducción a la Shell de Unix/Linux
Usuario
Script
de la
Si quieren ejecutarse repetidamente una serie de
Shell comandos, pueden escribirse archivos cuyo
Teclado
contenido
co te do son
so dichos
d c os co
comandos.
a dos Estosto aarchivos
c os se
denominan scripts. Incluyen mecanismos para
evaluar condiciones, realizar saltos, ejecutar
Shell bucles, de forma similar a como lo hace un
lenguaje de programación. La figura muestra la
forma de trabajo de la shell y otros componentes
del PC.
Kernel
Hardware
11
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
SHELL
Introducción a la Shell de Unix/Linux
12
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
SHELL
Introducción a la Shell de Unix/Linux
14
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
METACARACTERES
Introducción a la Shell de Unix/Linux
Ejemplos
c? : incluye c1
c1, c2
c2, cb
cb, ck
ck, cc_, etc
etc.
15
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ENTRADA/SALIDA ESTÁNDAR
Introducción a la Shell de Unix/Linux
• Errores estándar:
E tá d se utiliza
tili para mostrar
t errores all
ejecutar órdenes o procesos. Abre el descriptor 2
((stderr).
) Por defecto estos errores aparecen
p p
por la salida
estándar. Sin embargo, es posible redirigirlos hacia la
salida de errores estándar mediante los metacaracteres
2> o 2>>,
2>> que veremos posteriormente
16
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ENTRADA/SALIDA ESTÁNDAR
Introducción a la Shell de Unix/Linux
Redirecciones
17
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ENTRADA/SALIDA ESTÁNDAR
Introducción a la Shell de Unix/Linux
Redirecciones
ls –l 1> resultados
es lo mismo que
ls –l > resultados
18
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ENTRADA/SALIDA ESTÁNDAR
Introducción a la Shell de Unix/Linux
Tuberías
La tubería (el carácter ‘|’) permite utilizar la salida de un
comando para servir como entrada de otro. Es una
herramienta muy y importante
p en Unix/Linux.
ls –l | more
ls -l
l | grep txt
19
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ENTRADA/SALIDA ESTÁNDAR
Introducción a la Shell de Unix/Linux
Tuberías (cont.)
20
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
FICHEROS, USUARIOS Y PERMISOS
Introducción a la Shell de Unix/Linux
Archivos
En Unix/Linux el elemento básico de organización de la
información es el archivo.
21
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
FICHEROS, USUARIOS Y PERMISOS
Introducción a la Shell de Unix/Linux
Archivos
Existen convenciones sobre la nomenclatura de
archivos:
- Se distinguen
g mayusculas/minusculas.
y
- Los caracteres NUL y slash estan prohibidos y tampoco
conviene usar comodines y otros caracteres de la bash.
- Existen convenciones en cuanto a las extensiones.
22
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
FICHEROS, USUARIOS Y PERMISOS
Introducción a la Shell de Unix/Linux
23
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
FICHEROS, USUARIOS Y PERMISOS
Introducción a la Shell de Unix/Linux
Usuarios:
usuario o propietario (user)
grupo (group): conjunto de usuarios. Cada usuario
pertenece al menos a un grupo
grupo.
otros usuarios (others): restos de usuarios y que no
están en nuestro grupo.
24
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
FICHEROS, USUARIOS Y PERMISOS
Introducción a la Shell de Unix/Linux
Permisos:
Estos tres permisos pueden ser fijados para cada uno de los tres
tipos de usuarios. De esta manera, un archivo o directorio tendrá
una
u a cade
cadenaa de 3
3x3=9
3 9 ca
caracteres
acte es indicando
d ca do los
os pe
permisos.
sos
u g o Permisos de lectura y escritura para el usuario y
solamente de lectura para el grupo y resto de
rw- r-- r--
usuarios.
25
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
FICHEROS, USUARIOS Y PERMISOS
Introducción a la Shell de Unix/Linux
Este
E t fichero
fi h es un di
directorio.
t i El propietario
i t i podrá
d á recorrer di
dicho
h di
directorio
t i ((r),
)
crear y borrar ficheros dentro del directorio (w) y puede acceder a dicho
directorio (x).
27
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
FICHEROS, USUARIOS Y PERMISOS
Introducción a la Shell de Unix/Linux
Ejemplos
chmod
h d u+w h hola.c
l : añade
ñ d permiso
i dde escritura
it sobre
b ell archivo
hi
hola.c al propietario.
chmod o-r hola.c:
hola c: suprime el permiso de lectura de hola
hola.cc al resto de
usuarios.
chmod rw hola.c: añade ppermiso de lectura y escritura sobre el
archivo hola.c a todos los usuarios.
chmod rw *.c: añade permiso de lectura y escritura sobre todos los
archivos con extensión .c a todos los usuarios.
chmod 644 hola.c: establece el permiso de lectura y escritura para el
propietario y de lectura para el grupo y resto de usuarios.
usuarios
chmod = hola.c: desactiva todos los permisos de hola.c
chmod
h d 000 hola.c:
h l idé
idéntico
ti a chmod
h d = hhola.c
l
28
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
29
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
• apropos: indica que es y donde esta en las paginas man los comandos
introducidos que empiezan por una cadena.
• cat: concatena archivos y muestra el resultado por la pantalla
• more: muestra contenido de archivos de pantalla en pantalla
31
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
2. Órdenes de manipulación de ficheros (II)
-fnum:
f especifica
ifi ell campo num
-fnum1, num2: especifica los campos num1 y num2
-fnum1-num2: especifica los campos desde num1 a num2
-cnum1-num2:
cnum1 num2: especifica los columnas desde num1 a num2
33
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
34
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
3. Órdenes de estado
36
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
grep autor *.c (busca la cadena autor en los archivos con extensión .c)
g p –r autor . ((busca la cadena autor en el directorio actual y
grep
recursivamente en sus subdirectorios )
who | grep marga (comprueba si el usuario marga está conectado en
este momento)
37
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
38
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
4. Ótras órdenes
39
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
Ejemplos
cp a1.log a2.log: crea una copia del archivo a1.log en a2.log dentro
del mismo directorio .
cp -R
R dir1
di 1 dir2:
di 2 copiai ell directorio
di t i dir1di 1 y ttodos
d sus di
directorios
t i dde
forma recursiva en el directorio dir2..
rm dir1: elimina el directorio dir1 si es que está vacío..
vacío
rm –r dir1: elimina el directorio dir1 y sus subdirectorios de forma
recursiva.
ping 192.168.2.7: comprueba si existe comunicación de red con la
máquina con dirección IP 192.168.2.7
who | wc –l: cuenta el número de usuarios conectados en el sistema.
40
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
Ejemplos (cont.)
sort entrada.txt: muestra una salida ordenada alfabéticamente de cada una
de las líneas del archivo entrada.txt.
sort –r entrada
entrada.txt:
txt: muestra una salida ordenada alfabéticamente mayor a
menor.
sort -k 2 entrada.txt: igual que sort pero tomando como entrada las líneas
a partir del campo 2.
find /home -name *.c: busca todos los ficheros con extensión .c dentro del
directorio /home
find -user jcarlos *.txt: busca ficheros del usuario jcarlos con extensión .txt
find / –size
size +100k: busca todos los ficheros que ocupan más de 100kb
find /home -type d: busca solamente los directorios de /home
41
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
Ejemplos (cont.)
tr ‘[a-z]’ ‘[A-Z]’ < entrada.txt : muestra por pantalla el archivo
entrada.txt con todos sus caracteres en mayúsculas (no incluye la ñ y
vocales acentuadas).)
cut -f1,2,5,7 direcciones.txt : muestra las columnas 1,2,5 y 7 del
archivo direcciones.txt. Las columnas deben estar separadas por
tabuladores.
tabuladores
cut –d: -f1,2,5,7 direcciones.txt : muestra las columnas 1,2,5 y 7 del
archivo direcciones.txt. Las columnas deben estar separadas
p ppor el
carácter “:” que actúa de delimitador.
cut –d; -f1,2,5,7 direcciones.txt : ídem que en el caso anterior pero
ahora
h ell ddelimitador
li it d es ell carácter
á t ““;””
42
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas
ÓRDENES BÁSICAS
Introducción a la Shell de Unix/Linux
Ejemplos (cont.)
echo -e "Esto es una prueba\ndel comando echo\t sin escapar los
caracteres backslash“: Muestra el string con un cambio de línea y un
tabulador.
echo -e "Esto es una prueba\\\ndel comando echo\\\t escapando los
caracteres backslash“: Muestra el string habiendo escapado los
caracteres cambio de línea y un tabulador.
tabulador
ln dirlist dirlist5: crea un enlace fuerte llamado dirlist5 a dirlist.
l -s dirlist
ln di li t dirlist6:
di li t6 crea un enlace
l bl
blando
d llllamado
d di
dirlist56a
li t56 dirlist.
di li t
43
Laboratorio de Sistemas Operativos. Informática de Gestión y Sistemas