Está en la página 1de 43

El sistema operativo

Linux
Introduccin
Que es linux
Sistema operativo que emula UNIX
Creado por un estudiante, Linus Torvald,
para poder hacer sus prcticas en un PC.
Nace en 1991
Linux 1.0 en 1994 2.2 en 1999
Hoy > 10 millones de ordenadores
Linux es un completo S.O.
Basado en Unix, 32 o 64 bits
Integra sin instalacin extra- multitud de herramientas
de gran potencia como grep, compiladores (C, C++,
FORTRAN, ) o herramientas de red/internet (FTP,
Telnet)
Multi-usuario, multi-tarea, multiprocesador.
Multiplataforma.
Interfaz grfica: Sistema X.
Archivos y procesos
Todo en linux es un archivo o un proceso
Proceso: programa en ejecucin
con un identificador nico.
Archivo: coleccin de datos.
Documentos, cdigo, instrucciones, directorios.
Estructura de directorios
La consola
Podemos interactuar con linux
a travs de una terminal (consola)
Potente, pero requiere ms prctica
mediante su interfaz grfica.
Similar a windows.
Acceso a la
informacin
Listar archivos y directorios

ls lista directorios
ls la lista todos los archivos incluyendo los
ocultos
Crear un directorio
mkdir micarpeta
crea un directorio llamado micarpeta
si no se indica ningn path lo crea en el
directorio por defecto (default dir)
Cambiar de directorio
cd micarpeta_inferior
Cambia el directorio por defecto a un
subdirectorio del directorio actual llamado
micarpeta_inferior
pwd (print working directory)
Muestra el directorio de trabajo, o actual
Los directorios . y ..
. indica el directorio actual.
.. indica el directorio superior al directorio
actual.
El path y los pathnames
Un archivo siempre se encuentra en una posicin relativa al
directorio raz (/): Esto es su path.
El nombre del path forma parte del del archivo en tanto que
salvo si estamos en el mismo directorio sin l no podemos
acceder al archivo.
El path y pathnames (2)
Resumen
Comodines
Los comodines permiten aplicar una
instruccin a un conjunto de archivos
definido genricamente.
Los dos principales son

* : Cero o ms caracteres

? : Un carcter en la posicin indicada
Ayudas en linea

La ayuda para todo linux se obtiene con


la instruccin man

Otras instrucciones
+ whatis
+ apropos
Comodines y ayuda
Gestin de la
informacin
Copiar archivos
cparchivo1archivo2
Hace una copia del primer archivo en el segundo

cparchivo1.
Hace una copia del primer archivo en el directorio actual con el
mismo nombre

cparchivo1..
Hace una copia del primer archivo en el directorio superior al
actual
Mover archivos

mvarchivo1archivo2
Mueve el primer archivo (cualquiera que sea su
path) al nombre y posicin del segundo.

mvarchivo1.
Mueve un archivo desde cualquier localizacin
al directorio actual

mvarchivo1..
Mueve un archivo desde cualquier
localizacin al directorio superior al actual.
Borrar archivos

Elimina archivos (rm) o directorios (rmdir)

%cpscience.txttempfile.txt

%ls

%rmtempfile.txt

%ls
Ver lo que contienen

clear: Limpia la pantalla

cat: Muestra un archivo por pantalla

less: Muestra un archivo por pantalla, de


pantalla en pantalla

head: Muestra las primeras lneas

tail : muestra las ltimas lineas


Buscar (por fuera y por dentro)

Una de las partes ms potentes de linux: la


capacidad de buscar archivos o dentro de
su contenido usando distintos filtros.

less

less science.txt

/ science

grep

grep Science science.txt
grep es ms que un comando
grep [-ivnc] cadena enarchivo
- v muestra las lineas que NO coinciden
-n precede cada coincidencia con el nmero de linea
-c muestra solamente el nmero total de lineas que
coinciden
-i ignora maysculas o minsculas

wc: cuenta las palabras o las lineas de un archivo


- wc -w science.txt
- wc -l science.txt
Resumen
Redireccin de la
salida
Redireccin

Para linux todo son archivos o procesos.

Siempre es posible especificar el archivo de


entrada y el de salida de un proceso.

El teclado y la pantalla son los archivos por


defecto.

Podemos redirigir tanto la entrada como la


salida
El comando cat

cat sirve para enviar un archivo a...


cat miarchivo
Muestra los contenidos de "miarchivo"
cat > miarchivo
Envia lo que se escribe a "miarchivo"
cat >> miarchivo
Aade lo que se escribe a "miarchivo"
El comando sort

Ordena el contenido de un archivo

Funciona como cat


sort miarchivo
sort < miarchivo1 > miarchivo2
sort
Las tuberas (pipes)
who
% who > names.txt
% sort < names.txt
% who | sort
% who | wc -l
Resumen
Seguridad en linux
Derechos de acceso
Derechos de acceso
En archivos
r (-) Permiso para leer o copiar el archivo
w (-) Permiso para modificar el archivo
x (-) Permiso para ejecutar el archivo
En directorios
r (-) Permiso para listar los archivos del directorio
w (-) Permiso para borrar archivos de o escribir archivos en el
archivo
x (-) Permiso para acceder a los archivos del directorio.
Cambiando los permisos

chmod modifica
los permisos

Puede usar letras
o dgitos

chmodgorwxbiglist

chmoda+rwbiglist

chmod775biglist
Procesos y trabajos

Un proceso es cualquier programa


ejecutndose en background, foreground
o en suspenso.

Cada proceso se identifica con un


nmero o job number (PID).

Podemos usar estos nmeros para


suspender, reiniciar o matar los procesos
Modificando un proceso
% sleep 1000 &
Poner un proceso en
[2] 2911
%jobs
background: &


[1]- Running sleep 1000 &

[2]+ Running sleep 1000 &

%ps

PID TTY TIME CMD
1927 pts/0 00:00:00 bash

Ver los procesos: ps



2889 pts/0 00:00:00 sleep

2911 pts/0 00:00:00 sleep

2912 pts/0 00:00:00 ps

%kill 2911
%jobs

Matar un proceso: kill



[1]- Running sleep 1000 &

[2]+ Terminated sleep 1000

%ps

PID TTY TIME CMD

1927 pts/0 00:00:00 bash

2889 pts/0 00:00:00 sleep

2913 pts/0 00:00:00 ps
Resumen
Las variables
Variables de UNIX

En unix/linux se controlan muchas cosas


estableciendo el valor de distintas variables.
set nombre de variable: asigna valor
echo $nombredevariable muestra el valor de la v.

Encontramos
Variables de entorno (printenv | less)
Variables del shell (set | less)
Variables de entorno
* USER (your login name)
* HOME (the path name of your home directory)
* HOST (the name of the computer you are using)
* ARCH (the architecture of the computers processor)
* DISPLAY (the name of the computer screen to display X windows)
* PRINTER (the default printer to send print jobs)
* PATH (the directories the shell should search to find a command)
Variables del shell
* cwd (your current working directory)
* home (the path name of your home
directory)
* path (the directories the shell should
search to find a command)
* prompt (the text string used to prompt for
interactive commands shell your login shell)