Windows Vs. Linux
Servidores gráficos
Gnome, KDE y XFCE
Todo lo que hacemos en el entorno gráfico lo podemos hacer desde la consola...
No todo lo que hacemos desde la consola se puede hacer en el entorno gráfico...
Sencillamente hay tareas y aplicaciones para las que no hay una forma eficiente de realizarlas vía gestión gráfica.
Otras muchas veces, sí existen formas de realizar una tarea mediante una interfaz gráfica, pero decididamente es mucho más eficiente y cómodo realizarlas vía línea de comandos o crearnos un script sencillo que nos automatice el trabajo y lo haga por nosotros... es la esencia de ser un "Vago Bueno": En lugar de trabajar 60 minutos, podemos dedicar 50 a pensar cómo automatizar una tarea que el computador realizará en 10. Nosotros nos podemos dedicar esos 10 minutos a descansar, hacer el vago, leer el correo, visitar barrapunto, o ver vídeos divertidos de Youtube. :D
No siempre tendremos acceso gráfico al sistema...
Lanzar un servicio gráfico consume, lógicamente, muchos más recursos que un acceso vía terminal de texto.
Nos interesará que, generalmente, esos recursos extra sean destinados a proveer de una mayor eficiencia el servicio principal del sistema, en lugar de destinarlos a un servicio puramente administrativo.
Es por ello que la forma habitual para acceder remotamente a un sistema será vía web (lo que limita bastante la cantidad de operaciones a realizar) o vía terminal remota (lo que nos da un margen muy amplio de maniobra en el sistema a un bajo coste en recursos).
Pero siempre podremos acceder desde consola.
EJERCICIO: Los usuarios deberán entrar en cada directorio y listar los archivos, también es interesante que visualicen con cat
alguno de ellos.
En el ejemplo anterior, el propietario del archivo tiene permisos de lectura, edición y ejecución, los miembros de su grupo sólo pueden leer y ejecutar el archivo y el resto de usuarios sólo puede leer el archivo.
Este tipo de listado se obtiene mediante ls -l
y muestra información útil como:
Modo paranoico: no permite iniciar sesión como root directamente.
EJERCICIO: Premio para el que indique por qué es útil no permitir al root logearse directamente en el modo paranoico.
jobs
: Muestra lista de Tareasfg [numtarea]
: Devuelve la tarea [numbarea] a primer planoComo ejemplo, se puede lanzar el comando find / -iname "*"
, pausarlo con Ctr+Z, listarlo con jobs
, volverlo a traer a primer plano y abortarlo.
man [comando o archivo]
: muestra la página del manual del comando o el archivo requerido.apropos [expresión]
: muestra todos los comandos que encuentre que contengan en su descripción la expresión indicada.apt-cache search [expresión]
: busca paquetes que contengan la expresión indicada en su definición.Existen varias
EJERCICIO: Hacer un man man y un man bash, así como man cp y man rm.
EJERCICIO: Aprenderse de memoria el man bash. (¡Que no! ¡Qué es broma!)
EJERCICIO: apt-cache search richard stallman
EJERCICIO: apt-cache search talking cow
EJERCICIO: apt-cache search sucks
EJERCICIO: Crear unos cuantos directorios y archivos en /tmp. Lugo pueden copiarlos, moverlos y borrarlos.
ln
: Crea un enlace DUROln -s
: Crea un enlace BLANDOLos enlaces duros sólo pueden ser creados dentro del mismo sistema de archivos físico, los simbólicos pueden crearse entre distintos dispositivos.
Los enlaces duros asignan una nueva entrada en el sistema de archivos que apunta al i-nodo del archivo original.
Los enlaces blandos son otros archivos que enlazan al archivo original.
Es por ello que si eliminamos en archivo original, si existe un enlace duro, el contenido del archivo no se pierde, mientras que el enlace blando queda roto.
ps -A
: Lista todas los procesos en ejecución.*top
: Lista los procesos interactivamente.*kill -X [ID]
: Envía la señal X al proceso ID* La primera columna muestra el ID (Número de identificación único) del proceso. También se muestra quien lo ejecutó y desde dónde.
* Top permite ver cuanta memoria y CPU está consumiendo un determinado proceso (entre otra mucha información de utilidad).
Para salir de top podemos pulsar la tecla Q o simplemente Ctr+C.
Top es una muy buena herramienta para averiguar la carga del sistema. En el campo LOAD AVERAGE podemos ver valores que indican cuanto tiempo espera un proceso en cola antes de ser enviado a la CPU. Tiempos altos (por encima de varios segundos) pueden ser indicativos de que exita un proceso que esté copando la CPU e impidiendo que otros la tomen, o que la carga general del sistema es excesiva (y va siendo hora de ampliar el hardware).
La señal que generalmente más usaremos será la 9 (KILL), que emplearemos para matar procesos desvocados (¡Sí!, ¡como los caballos!).
Desde top podemos enviar una señal kill -9 a un proceso si pulsamos la tecla K y seguidamente introducimos el ID del proceso.
EJERCICIO: Podemos lanzar de nuevo un find, para ver con ps y top cuanto consume y posteriormente matarlo con kill -9.