Este documento presenta una introducción a los comandos y conceptos básicos de Linux. Explica el kernel de Linux y su función, el uso de usuarios y grupos, y comandos como ls, cd y pwd para navegar el sistema de archivos. También cubre temas como permisos de archivos, enlaces simbólicos, y la gestión básica de procesos.
2. Ing. Gerick Toro Rodriguez
● Ubuntu fan desde el 2005
●
Miembro de Software Libre Bolivia
●
Coordinador de desarrollo Android @La_Pesada
●
Traductor en el proyecto Gnome
●
Fundador y administrador del blog K-0-Z
Twitter:
@gerickt
IRC:
gerickt on irc.ubuntu.com
Facebook:
fb.com/gerick.toro
Google+:
gplus.to/gerickt
5. El Kernel
●
Como su nombre indica, el núcleo (kernel) de un
sistema operativo es el corazón con el cual puede
funcionar. Es el núcleo de software que gestiona los
recursos del ordenador:
Se comunica con los dispositivos y las aplicaciones
instaladas, administra la memoria adecuadamente,
reparte tiempo de procesamiento para todos los
programas, se comunica con los dispositivos de
almacenamiento para guardar los archivos, etc.
Workshop de GNU/Linux
6. root
●
El super usuario del sistema.
●
root es el único usuario, capaz de modificar archivos
sensibles del sistema, como tambien acceder a los
directorios protegidos del mismo.
●
Con root podemos realizar instalaciones de software,
configuracion de perifericos avanzados y manipulacion del
hardware.
●
Ser root en Linux, equivale a tener todo el poder en tus
manos... cuidado.
Workshop de GNU/Linux
7. Usuarios & Grupos
●
Toda la información de usuarios y grupos se guarda en los
siguientes archivos:
/etc/passwd: información (nombre, directorio home,
etc.) del usuario.
/etc/group: información sobre los grupos de usuarios.
/etc/shadow: contraseñas cifradas de los usuarios y
configuración para su validez, cambio, etc.
Workshop de GNU/Linux
Cifrado MD5
9. /etc/passwd
●
Ejemplo: cat /etc/passwd
Workshop de GNU/Linux
gerick:x:1000:1000:gerick,,,:/home/gerick:/bin/bash
login Password User ID Group ID Coment Directorio
Interprete
de
comandos
Como usamos el fichero /etc/shadow la contrasñea se almacena alli,
por eso aca el campo se muestra com una X
11. /etc/shadow
●
Ejemplo: sudo cat /etc/shadow
Workshop de GNU/Linux
gerick:$6$bJ0kbtPj$KuOihBUIxyVolhhaCaRps66xy8lraJ6rMSaw799FixMS/HHf/L4DfxMlglRZ8GwAuTLYW74fOibAfszW0FzPa.:15485:0:99999:7:::
Para mostrar el fichero que contiene la contraseña, debemos usar
el comando sudo, y se visualiza cifrada em MD5
login Password Dias desde
1970 hasta
que se creo
Dias que
deben pasar
para
cambiar el
password
Dias que
han de
pasar para
cambiar el
password
Dias antes
que se le
avisara al
usuario
para que
cambie el
password
Dias que
pueden
pasar para
caducar el
password y
deshabilitar
la cuenta
Dias
desde
1970
que la
cuenta
esta
deshab
ilitada
Reserva
do
12. Multiusuario
●
Muchos usuarios conectados al sistema, al mismo
tiempo, realizando distintas tareas o utilizando algun
servicio.
Comando:
Whoami
Who
Workshop de GNU/Linux
13. Multiusuario - ABM
●
Administrar los usuarios:
Comando:
adduser juanperez : añade el usuario juanperez al sistema
usermod juanperez – parametros : modificar el usuario
deluser juanperez : elimina el usuario juanperez del sistema
passwd juanperez : configura una contraseña a el usuario
NOTA: Todos estos comandos deben ejecutarse como root
Workshop de GNU/Linux
14. Grupos - ABM
●
Administrar los grupos:
Comando:
addgroup: permite añadir un grupo al sistema
groupmod: nos permite modificar la información (nombre y GID) de un
determinado grupo
delgroup: elimina un determinado grupo. Si algún usuario todavía lo tiene
como primario, no se podrá eliminar
NOTA: Todos estos comandos deben ejecutarse como root
Workshop de GNU/Linux
15. Comandos y Parametros
●
Un parámetro no es más que una opción determinada de
un comando, que añadimos a continuación del mismo,
precedido por un espacio y, en muchas ocasiones, por un
guión. Por ejemplo, si un comando fuera listar,
podríamos pasarle un parámetro como listar –todo.
Sintaxis:
comando -parametro (s)
Workshop de GNU/Linux
16. Listar y cambiar directorio
●
ls (list directory): lista el contenido del directorio actual.
●
cd (changue directory): cambia el directorio actual por outro
segun parametros
Sintaxis:
ls
cd /home/gerick/Dropbox
cd .
cd ..
pwd
Workshop de GNU/Linux
18. Jerarquia del
Sistema de Ficheros
●
Todo sistema operativo necesita guardar multitud de
archivos: desde los de la configuración del sistema, los
de log, los de los usuarios, etc.
●
GNU/Linux es capaz de leer/escribir archivos con
cualquiera de los sistemas de ficheros que actualmente
existen, aunque para su propia raíz y directorios
principales es necesario un sistema de ficheros que le
permita ciertas operaciones. Generalmente, se suele
utilizar el tipo ext2, ext3.
Compatible con: FAT16, FAT32, NTFS, etc.
Workshop de GNU/Linux
19. Jerarquia del
Sistema de Ficheros
●
Una característica muy importante de todos los
sistemas operativos basados em UNIX es que todos
los dispositivos del sistema se pueden tratar como si
fueran ficheros. Igualmente, cuando queramos
acceder al contenido de un CD, disquete o cualquier
otro dispositivo de almacenamiento, deberemos
montarlo en un directorio ya existente en el sistema y
navegaremos por él como si se tratara de una carpeta
más (el uso de diferentes unidades –A:, B:, C:, D:, etc.
es un esquema existente únicamente en sistemas
operativos tipo WindowsTM).
Workshop de GNU/Linux
20. Workshop de GNU/Linux
Linux – Sistema de Ficheros
●
Lo primero que debemos tener claro es que todo el
sistema de ficheros parte de una misma raíz, a la cual
nos referiremos con el carácter "/". Es el origen de
todo el sistema de ficheros y sólo existe una.
21. Workshop de GNU/Linux
Linux – Directorios del Sistema
●
Tiene la siguiente definicion:
●
/bin/: comandos básicos para todos los usuarios del
sistema.
●
/boot/: archivos estáticos necesarios para el arranque del
sistema.
●
/dev/: dispositivos del sistema.
●
/etc/: archivos de configuración del sistema y de las
aplicaciones instaladas en el mismo.
●
/home/: directorio para poner las carpetas home de los
usuarios.
●
/lib/: librerías esenciales para el núcleo del sistema y
módulos del mismo.
22. Workshop de GNU/Linux
Linux – Directorios del Sistema
●
Tiene la siguiente definicion (continuacion):
●
/mnt/: punto de montaje temporal para dispositivos.
●
/proc/: procesos y variables del núcleo del sistema.
●
/root/: directorio home para el root del sistema.
●
/sbin/: comandos especiales para el root del sistema.
●
/tmp/: archivos temporales. Según la distribución utilizada (o la
configuración que utilicemos) se borran al arrancar el sistema o cada
cierto período de tiempo.
●
/usr/: segunda estructura jerárquica, utilizada para almacenar todo el
●
software instalado en el sistema.
●
/var/: directorio para los spoolers de impresión, ficheros de log, etc.
23. Workshop de GNU/Linux
Linux – Enlaces
●
Un enlace es un puente a un archivo o directorio
perteneciente al sistema; una referencia que podemos
poner em cualquier sitio que nos interese y que actúa
como un acceso directo a cualquier otro.
24. Workshop de GNU/Linux
Linux – Enlaces
●
Vamos a verlo con un ejemplo: imaginemos que somos un
usuario (gerick) que necesita acceder frecuentemente al
directorio /usr/share/man/man3/
●
En lugar de escribir el largo comando que nos situaría en el
directorio en cuestión cada vez que necesitáramos
desplazarnos a él, podemos crear un enlace en nuestro propio
directorio que nos redireccione directamente hacia allí. El
comando ln -s /usr/share/man/man3 mmm nos
crearía este puente, que hemos denominado mmm. El usuario
sólo debería escribir (desde su directorio home) cd mmm y
automáticamente el sistema lo redirigiría hacia
/usr/share/man/man3/
25. Workshop de GNU/Linux
Permisos
●
gerick@ntbk:~$ touch prueba
●
gerick@ntbk:~$ ls -l
-rw-rw-r-- 1 gerick gerick 0 may 27 08:00 prueba
Permisos
d o - Dir
rwx U
rwx G
rwx O
s especial
# de
enlaces
fuertes
login grupo Tamaño
en bytes
Fecha y
hora de
modificaci
on
Nombre
del
archivo o
directorio
26. Workshop de GNU/Linux
Permisos (binario)
●
Decimal del 0 al 7, binario 0 y 1 → rwx
Representacion
Decimal
Representacion
Binaria
Significado
0 000 - - -
1 001 - - x
2 010 - w -
3 011 - w x
4 100 r - -
5 101 r - x
6 110 r w -
7 111 r w x
27. Workshop de GNU/Linux
Permisos
●
10 digitos de identificacion de permiso del fichero
●
r : Read (permiso de leer el fichero)
●
w : Write (permiso de escribir el fichero)
●
x : eXecute (permiso de ejecutar el fichero)
- rwx rwx rwx
7 7 7
111 111 111
fichero Usuario Grupo Otros
28. Workshop de GNU/Linux
Politica de Permisos
●
Responsabilidad exclusiva del propietario sobre los
permisos de los archivos.
●
Responsabilidad exclusiva del root sobre los usuarios
y grupos.
– Si se permitiera a los usuarios cambiar el
propietario de sus ficheros, la seguridad del
sistema quedaría comprometida, ya que se
podrían realizar acciones maliciosas y después
cambiar el propietario de los archivos
utilizados inculpando a otros usuarios.
29. Workshop de GNU/Linux
chmod
●
Chmod (Changue access permissions)
●
U: usuario
●
G: grupo
●
O: outros
Ejemplo:
– chmod go+w prueba
Resultado:
-rw-rw-rw- 1 gerick gerick 0 may 27 08:00 prueba
31. Workshop de GNU/Linux
chown
●
Cambiar el propietario de un fichero o directorio com
el comando chown (Cangue Owner)
Ejemplo: chown usuario fichero
– chown root prueba
●
Resultado:
-rwxr-xr-x 1 root gerick 0 may 27 08:00 prueba
32. Workshop de GNU/Linux
chgrp
●
Cambiar el grupo de un fichero o directorio con el
comando chgrp (Cangue Group)
Ejemplo: chgrp usuario fichero
– chgrp root prueba
●
Resultado:
-rwxr-xr-x 1 root root 0 may 27 08:00 prueba
34. Workshop de GNU/Linux
Manipulacion
●
Ficheros
●
cp : Copiar
●
mv: Mover
●
rm: Borrar
●
ls: Listar
●
Directorios
●
mkdir : Crear directorio
●
rmdir: Borrar directorio
●
cp y mv, con parametro r
(recursividad)
●
cd : cambiar de directorio
35. Workshop de GNU/Linux
Patrones
●
Comodines
– “*” : significa, cualquier cadena de catacteres
– “?” : significa, cualquier caracterer
●
Ejemplo: listar los ficheros y directorios q empiecen con p
ls -l p*
●
Resultado:
NOTA: (usamos el parametro -l, para listar informacion adicional)
gerick@ntbk:~$ ls -l p*
-rwxr-xr-x 1 root root 0 may 27 08:00 prueba
36. Workshop de GNU/Linux
Busquedas
●
Otro tipo de operación muy útil es la búsqueda de
ficheros. Tenemos vários comandos que nos permiten
realizar búsquedas de diferentes tipos sobre todos los
ficheros del sistema.
●
find : el mas versatil sin bd (lento)
●
locate (updatedb) : el mas rapido usa una db
●
whereis: buscar binarios ejecutables
El comando locate, debe usar la base de datos por lo cual
Debemos actualizarla com el comando updatedb
37. Workshop de GNU/Linux
Tipos y Contenidos
●
Los archivos que tenemos en nuestro sistema pueden
ser de muchos tipos diferentes: ejecutables, de texto,
de datos, etc. A diferencia de otros sistemas que
utilizan la extensión del archivo para determinar de
qué tipo son, GNU/Linux utiliza un sistema
denominado magic numbers, que determina con un
número mágico el tipo de fichero según sus datos (se
pasan una serie de tests que intentan determinar de
qué tipo es el fichero). El comando file nos lo indica.
gerick@ntbk:~$ file prueba
prueba: ASCII text
38. Workshop de GNU/Linux
Cat y Reset
●
El comando cat, nos permite ver el contenido de los
ficheros, no es conveniente usarla en ejecutables,
porque como resultado puede darnos caracteres no
imprimibles y dejar la consola con caracteres no
comprensibles. Usar el comando reset si sucede
●
Para ficheros mas extensos podemos usar los
comandos less o more
●
Para ver solo el inicio del fichero (10 lineas) head,
para ver las ultimas del fichero (10 lineas) tail
40. Workshop de GNU/Linux
Gestion de Procesos
●
La gestión de procesos es un aspecto vital en todo
sistema operativo, ya que determina el tiempo de
respuesta de nuestras aplicaciones, la eficiencia con
que se utiliza la memoria y la CPU, etc.
●
El procesador solo gestiona un proceso a la vez, el
hecho de ser multitarea es porque reparte el tiempo
de procesamiento para dar la sensacion de que se
ejecutan todos a la vez.
●
El kernel les asigna un identificado único, llamado
PID
41. Workshop de GNU/Linux
PS KILL TOP
●
PS: muestra los procesos em las terminales, usar
parametros -a y -e
●
TOP: nos informa de manera interactiva de los
procesos del sistema
●
KILL: permite finalizar un proceso identeificado por
el PID que podemos obetner com el comando PS o
TOP, usar los paremtros -9 para matar inmediato o
-15 para procesar un guardado de datos y cerrar
●
PSTREE: muestra el arbol de procesos.
42. Workshop de GNU/Linux
Procesos en consola
●
Cuando tenemos alguna aplicacion en ejecucion,
podemos finalizar el proceso de la misma con el atajo
“Ctrl + C”
●
Cuando tenemos una aplcacion em ejecucion y
queremos “minimizarla” para usar la linea en outras
cosas usamos “Ctrl + Z”, y recuperamos con el comando
fg
●
El manejo de procesos en linux, requiere permisos de
root
43. Workshop de GNU/Linux
Tipos de proceso
●
D: proceso ininterrumpible. Este tipo de proceso generalmente suele pertenecer a la
entrada/salida de algún dispositivo que se dañaría si dejara de ser atendido.
●
R: proceso que en el momento de ejecutar el comando también se está ejecutando, o sea,
todos aquellos que están en cola de ejecución. La cola de ejecución de procesos es donde se
ponen todos aquellos que se van repartiendo el tiempo de la CPU.
●
S: proceso dormido o esperando que ocurra algún tipo de evento para que el sistema lo
despierte y lo ponga en la cola de ejecución.
●
– T: proceso que ha sido detenido por el usuario o el sistema.
●
– Z: proceso zombi. Este estado indica que el proceso ha tenido algún fallo y no funciona
correctamente. Generalmente es mejor eliminar este tipo de procesos.
45. Sobre las diapositivas
Disponible para download en:
http://k-0-z.blogspot.com/files/taller-2012
Autor:
Gerick Toro Rodriguez
gerickt@gmail.com
gtoro@eling.com.ar
Workshop de GNU/Linux