1. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Curso de Introducci´n a sistemas GNU/Linux
o
M´dulo 2: Unix: estructura del sistema
o
e int´rpretes de comandos
e
Francisco Javier Tsao Sant´
ın
Grupo de Programadores y Usuarios de Linux
Grupo de Sistemas de Informaci´n de
o
Enxe˜er´ Sen Fronteiras
n ıa
ETSI Caminos, Canales y Puertos de Coru˜a
n
27 y 28 de Abril de 2009
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
2. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Sesi´n Unix
o
1
Comandos b´sicos
a
2
Tratamiento de ficheros
3
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
3. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Acceso
La entrada a una sesi´n se realiza de diversas formas:
o
login, en consolas virtuales (Ctrl+Alt+Falgo)
xdm/gdm/kdm
rlogin, ssh, telnet
Y para salir, logout/exit
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
4. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Int´rpretes de comandos
e
Una vez que nos hemos autenticado, podemos usar el int´prete de
e
comandos.
Algunos int´rpretes:
e
bash (Debian por defecto)
ksh (OpenBSD por defecto)
csh (int´rprete con algunos comandos similares a lenguage C)
e
...
xterm, kterm,... son emuladores de terminal, que usan uno de los
int´rpretes por debajo.
e
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
5. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Algunas ayudas en los int´rpretes
e
tab autocompleta
flecha arriba/abajo navega por el hist´rico de comandos
o
shift arriba/abajo scroll de pantalla arriba/abajo
shift p´g arriba/abajo pantalla arriba/abajo
a
Uso de wildcards: * uno o varios caracteres cualquiera, ? un
caracter cualquiera
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
6. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Algunas ayudas en los int´rpretes(II)
e
B´squeda de ayuda:
u
man (seccion) nombrecomando
info nombreprograma
apropos cadena-de-b´squeda
u
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
7. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
ls
ls (LiSt): listar archivos en el directorio. Algunas opciones:
-l formato largo
-s indicar tama˜o
n
-a todos los archivos, incluyendo los ocultos
-h tama˜o en unidades “humanas”
n
–color colorear nombres seg´n tipo de archivo y permisos
u
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
8. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
El ´rbol de directorios
a
La jerarqu´ de directorios es unica:
ıa ´
/ Directorio ra´
ız
/etc Configuraciones del sistema
/dev Dispositivos
/sbin Ejecutables esenciales del sistema
/bin Ejecutables importantes del sistema
/lib Bibliotecas de sistema, m´dulos del kernel
o
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
9. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
El ´rbol de directorios (II)
a
/usr Programas, materiales compartidos, documentaci´n para
o
los usuarios
/var Archivos variables en el sistema: logs, caches, backups,...
/boot Kernels y configuraciones de arranque
/root Ra´ del superusuario
ız
/home Ra´ de los usuarios
ız
/mnt Directorio de montaje de exportaciones
/proc Recursos del kernel
/tmp Espacio temporal para usuarios
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
10. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
´
Arbol y dispositivos
Todo en Unix es un fichero: la pantalla, las unidades de disco, las
unidades de red...
A cada dispositivo se le asigna un archivo de lectura/escritura en
/dev:
hda, hdb,... discos IDE
sda, sdb,... dispositivos SCSI/USB/SATA
tty1,tty2,... consolas virtuales
dsp, audio... dispositivos de audio
...
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
11. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
´
Arbol y dispositivos (II): mount, df, du
Las unidades de almacenamiento se deben montar en un directorio:
mount /dev/hdc4 /mnt
mount -t vfat /dev/sda1 /media/usbdisk
mount -t nfs 192.168.1.39:/home/fran /mnt
de tal manera que se mantiene la uniformidad del ´rbol de
a
directorios.
Si queremos conocer el espacio usado y disponible en las unidades
subyacentes, usamos el comando df (Disk Free)
Si queremos saber el espacio que ocupa un directorio, usamos el
comando du (Directory Usage)
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
12. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Rutas a archivos
Las rutas hacia los archivos pueden ser:
Absolutas: /home/fran/isf/curso.tex
Relativas: isf/curso.tex
Algunos atajos:
. Directorio actual
.. Directorio padre
- Directorio anterior
/ Directorio ra´ de usuario
ız
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
13. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
cd, mkdir, pwd
cd (Change Directory): cambiar a directorio por defecto
mkdir (MaKeDIRectory): crear directorio
pwd (Print Working Directory): mostrar ruta hasta el directorio
rmdir (ReMove DIRectory): borrar directorio (vac´ıo)
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
14. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
touch, cp, mv, rm
cp (CoPy): copiar un archivo (-r recursivo -f forzar sin confirmar)
mv (MoVe): renombrar un archivo
rm (ReMove): borrar un archivo (-r recursivo -f forzar sin
confirmar)
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
15. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
ln
ln(LiNk): crea enlaces
hard links: crean una copia del archivo
soft links (-s): si se borra el original, desaparece el contenido
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
16. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Sistema de permisos
Permisos de: lectura(r,4), escritura(w,2), ejecuci´n(e,1)
o
Especiales: setuid/setgid (s), sticky bit (t)
Para: todos(a), grupo(g), usuario(u)
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
17. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Sistema de permisos: chmod, chown, chgrp
chmod (CHange MODe): cambia permisos. Ejemplos:
chmod o-rwx fichero
chmod 664 fichero
chown (CHange OWNer): cambia de due˜o. Ejemplos:
n
chown fran:svn /var/repositorio
chgrp (CHange GRouP). cambia de grupo
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
18. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Herranientas de manejo de archivos
touch: crear un archivo vac´
ıo
cat (conCATenate): une dos archivos en un tercero
cat archivo1 archivo2 ¿ archivo3
split: dividir archivo. Ejemplo: split -b 1000k nombrefichero
more, less, most: visualizador de archivos
head, tail: mostrar las (-n ) n´mero de l´
u ıneas primeras/´ltimas
u
wc: imprime el n´mero de (-l) l´
u ıneas (-w) palabras o (-c)
caracteres
find: busca archivos por (-name) nombre, (-user) due˜o,
n
(-perm) permisos...
grep: busca contenido en los archivos (-r) recursivamente
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
19. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Empaquetado de archivos
Los programas m´s habituales para empaquetar y comprimir, son
a
tar, gzip, bzip2. Algunos ejemplos de uso:
tar -xvf archivo.tar (descomprime guardando la estructura de
directorios)
gzip archivo (genera un archivo.gz)
tar -xjvf archivo.tar.bz2 (descomprime un archivo tar
comprimido con bzip),
zless archivo.gz (lee el contenido del archivo descomprimiendo
bajo demanda)
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
20. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Entrada/salida/error standard, pipes
Hay tres dispositivos b´sicos en la ejecuci´n de programas en Unix:
a o
stdin, stdout, stderr
> A salida standard
< A entrada standard
2 > A error standard
| salida standard de un programa a entrada standard de otro
programa
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
21. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Gesti´n de procesos
o
Unix es un sistema multitarea. El usuario puede ver y gestionar
procesos con estos comandos:
ps muestra los procesos (a todos los del sistema lanzados
desde consola, u indicando los usuarios propietarios, x todos
los lanzados incluso m´s all´ de la consola)
a a
top muestra indicadores de los procesos (tiempo de CPU, etc)
kill -(se˜al) (proceso) manda se˜ales a los procesos
n n
ctrl-z, ctrl-c para o corta el proceso lanzado desde el terminal
proceso & ejecuta el proceso de fondo
bg % (proceso) lanza el proceso a background
fg % (proceso) devuelve el proceso a primer plano
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o
22. Gui´n
o Sesi´n Unix
o Comandos b´sicos
a Tratamiento de ficheros
Archivos de configuraci´n y variables de entorno
o
El int´rprete de comandos bash cuenta con algunos archivos que
e
modifican su comportamiento:
.bash profile usado por int´pretes bajo autenticaci´n
e o
.bashrc usado por int´rpretes lanzados sin autenticaci´n
e o
.bash logout ejecutado al desconectarse
Comando env muestra variables de entorno, export las pone en
funcionamiento
Francisco Javier Tsao Sant´
ın Curso de Introducci´n a sistemas GNU/Linux
o