[ES] Línea de Comandos GNU/Linux
Upcoming SlideShare
Loading in...5
×
 

[ES] Línea de Comandos GNU/Linux

on

  • 289 views

Presentación sobre la línea de comandos en los sistemas GNU/Linux, como parte del Diplomado de Software Libre que se lleva a cabo en la Universidad Abierta para Adultos (UAPA), Santiago de los ...

Presentación sobre la línea de comandos en los sistemas GNU/Linux, como parte del Diplomado de Software Libre que se lleva a cabo en la Universidad Abierta para Adultos (UAPA), Santiago de los caballeros. #Linux #softwarelibre

Statistics

Views

Total Views
289
Views on SlideShare
286
Embed Views
3

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 3

http://www.slideee.com 2
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

[ES] Línea de Comandos GNU/Linux [ES] Línea de Comandos GNU/Linux Presentation Transcript

  • Diplomado en Software Libre Línea de comando GNU/Linux Eudris Cabrera Rodríguez 22 Junio 2014, Santiago de los Caballeros, R. D. @eudriscabrera @eudriscabrera
  • Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios. Su utilización es solamente para fines ilustrativos y no pretendo dar a entender cualquier afiliación con esas empresas. Los conceptos y juicios de valor emitidos en esta presentación son responsabilidad personal y no se puede entender como una posición oficial de alguna empresa con la que he tenido relación laboral. Asuntos Legales
  • Agenda 1- Línea de comandos. ❏ Terminología ❏ Shell disponibles 2- Shell scripts 3- Rutas absolutas y relativas 4- Información del sistema 5- Monitoreo del sistema. ❏ Procesos ❏ Log del sistema
  • Objetivos ❖ Conocer las características más importantes de la línea de comando. ❖ Descubrir el verdadero potencial de GNU / Linux utilizando la línea de comando. ❖ Realizar tareas comunes de administración de sistemas GNU/Linux desde la línea de comando.
  • Línea de comandos
  • Interfaz de Línea de Comandos, en inglés, Command Line Interface (CLI), es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple. Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada (archivo batch), leyendo comandos desde un archivo de scripts. Línea de comandos Las CLI son usadas por muchos programadores y administradores de sistemas como herramienta primaria de trabajo, especialmente en sistemas operativos basados en Unix; en entornos científicos y de ingeniería, y un subconjunto más pequeño de usuarios domésticos avanzados.
  • Los recién llegados al mundo de Unix / Linux se suelen confundir, cuando se trata de la diferencia entre un terminal, una consola y un shell. Desde la perspectiva del usuario, puede haber poca o ninguna diferencia entre ellos, pero en realidad, el usuario utiliza una consola para conectarse a un terminal, con el fin de mirar el shell en ejecución en el equipo. Terminología Los conceptos de Consola, Terminal y Shell no son lo mismo, aunque suelen utilizarse como sinónimos. Console Terminal Shell
  • En los primeros años de la computación, estos tres elementos eran hardware separado. La consola no era más que un monitor y un teclado, que no tenía la capacidad de computación. Era conectado a un terminal, a través de una interfaz en serie, siendo el más común el conector RS-232. Consola
  • Un terminal es similar a un punto final a un mainframe. Por lo general, tenía algunas capacidades de computación y puede comunicarse a través de una red, o alguna forma de conexión especializada, a un mainframe. Terminal
  • Un terminal también proporciona derechos administrativos sobre el sistema, y por eso se mantiene generalmente en un espacio cerrado. Consolas y terminales finalmente se fusionaron en un solo dispositivo, siendo el más notorio de los terminales VT emulados en distribuciones de Linux. Terminal
  • El término genérico shell se utiliza para denominar un programa que sirve de interfaz entre el usuario y el núcleo (kernel ) del sistema GNU/Linux. El shell, como programa, es una utilidad que permite a los usuarios interactuar con el kernel por interpretación de comandos que el mismo usuario introduce en la línea de comandos o en los ficheros de tipo shell script y proporciona el resultado en la pantalla. Shell
  • Características 1. Es capaz de leer la entrada del usuario y proporcionar el resultado en la pantalla. 2. Puede ser textual (como el CLI) o gráfica (como GUI de Windows). 3. En informática de hoy en día, un shell es mucho más que una simple interfaz entre el usuario y el sistema. 4. Es responsable de la gestión de procesos, ventanas, aplicaciones, comandos y otros aspectos del sistema.
  • Una vez iniciado el shell interactivo, se muestra un prompt de cara al usuario, indicándole que puede introducir una línea de comando. Tras la introducción, el shell asume la responsabilidad de validarla y poner los procesos necesarios en ejecución, mediante una serie de fases: ● Leer e interpretar la línea de comandos. ● Evaluar los caracteres “comodín” como $ * ? u otros. ● Gestionar las redirecciones de E/S necesarias, los pipes y los procesos en segundo plano (background) necesarios (&). ● Manejar señales. ● Preparar la ejecución de los programas. Shells interactivos
  • Shells interactivos Normalmente, las líneas de comandos podrán ser ejecuciones de comandos del sistema, comandos propios del shell interactivo, puesta en marcha de aplicaciones o shell scripts. Todos los programas invocados mediante un shell poseen tres archivos predefinidos, especificados por los correspondientes descriptores de archivos (file handles): 1) Standard Input (STDIN) (entrada estándar) 2) Standard Output (STDOUT) (salida estándar) 3) Standard Error (STDERR) (salida estándar de errores) Además, los shells suelen proporcionar los tres mecanismos siguientes: Redirección, Tuberías (pipes) y Concurrencia de programas de usuario
  • La independencia del shell respecto al kernel del operativo (el shell es sólo una capa de interfaz), nos permite disponer de varios de ellos en el sistema. Algunos de los más comunes son: El shell Bash (bash). El shell Linux por defecto. Shells disponibles
  • El shell Bourne (sh). Éste ha sido desde siempre el shell estándar UNIX, y el que todos los UNIX poseen en alguna versión. Normalmente, es el shell por defecto del administrador (root). El sh fue creado por Stephen Bourne en AT&T a finales de los setenta. El indicador (o prompt) por defecto suele ser un ’$’ (en root un ’’#’). Shells disponibles
  • El shell Korn (ksh). Es un superconjunto del Bourne (se mantiene cierta compatibilidad), escrito en AT&T por David Korn (a mediados de los ochenta), en el cual se hizo cierta mezcla de funcionalidades del Bourne y del C, más algún añadido. El prompt por defecto es el $. El shell C (csh). Desarrollado en la Universidad de Berkeley por Bill Joy a finales de los 70's Añade elementos interesantes al Shell Bourne , como un histórico de comandos, alias, aritmética desde la línea de comandos, completa nombres de ficheros y control de trabajos en segundo plano. Shells disponibles
  • El shell C (csh) ● El prompt por defecto para los usuarios es ‘%’. ● Los usuarios UNIX suelen preferir este shell como interactivo, pero los administradores UNIX prefieren utilizar el Bourne, ya que los scripts suelen quedar más compactos, y la ejecución suele ser más rápida. ● Como su nombre indica, su sintaxis está basada en el lenguaje C. Shells disponibles También existen otros shell, como versiones restringidas o especializadas de los anteriores.
  • La mayoría de las distribuciones de Linux, así como MacOSX, usan BASH como shell por defecto. Solaris y OpenIndiana utiliza KornShell por defecto, que es otra variante de BASH. Este shell forma parte del software GNU. Es un intento de combinar los tres shell anteriores (Bourne, C y Korn), manteniendo la sintaxis del shell Bourne original. Bash (Bourne Again Shell) Una forma rápida de conocer bajo qué shell nos encontramos como usuarios es mediante la variable $SHELL, desde una línea de comandos con la instrucción: $ echo $SHELL
  • Algunas variables de sistema útiles que pueden consultarse (con el comando echo), son: HOME Directorio raíz del usuario LOGNAME Id del usuario en el login PATH Ruta SHELL Shell del usuario PS1 Prompt del shell, el usuario puede cambiarlo MAIL Directorio del buzón de correo TERM Tipo de terminal que el usuario utiliza PWD Directorio actual del usuario Las diferentes variables del entorno pueden verse con el comando env. Variables de entorno y variables shell
  • Variables de entorno y variables shell Unset y set: El comando unset sirve para desactivar una variable y quitarla de la lista de variables shell. El comando set es útil para controlar muchos aspectos del modo de trabajo de bash (o de otros shells). Si utiliza el comando set sin ninguna opción, éste le mostrará todas las variables shell y sus respectivos valores (si los hubiera). Puede activar las diferentes opciones de set con un - y desactivarlas con un +.
  • Variables de entorno y variables shell export Se utiliza para transferir el valor de una variable para que pueda ser accesible a todos los subshells (subprocesos). Sintaxis: $ export VARIABLE=valor
  • Shell scripts
  • Shell scripts Son archivos de texto que contienen secuencias de comandos de sistema, más una serie de comandos propios del shell interactivo, más las estructuras de control necesarias para procesar el flujo del programa (tipo while, for, etc.). En cierta manera, podemos ver el shell script como código de un lenguaje interpretado que se ejecuta sobre el shell interactivo correspondiente. Para ejecutarlos, se invoca el shell junto con el nombre del archivo, o bien se dan permisos de ejecución al shell script.
  • Para el administrador, los shell scripts son muy importantes básicamente por dos razones: 1) La configuración del sistema y de la mayoría de los servicios proporcionados se hacen mediante herramientas proporcionadas en forma de shell scripts. 2) La principal forma de automatizar procesos de administración es mediante la creación de shell scripts por parte del administrador. Shell scripts
  • Todos los scripts Bash tienen que comenzar con la línea: #!/bin/bash Esta línea le indica al shell actual usado por el usuario, con qué shell hay que ejecutar el script que aparece a continuación. Ejemplo: #!/bin/bash # Un script simple ls -l > listado.txt Programación de scripts en Bash
  • El script puede ejecutarse de dos modos diferentes: 1) Por ejecución directa desde la línea de comandos, siempre que tenga permiso de ejecución. Si no se da el caso, ponemos el permiso con: chmod +x script. 2) Por ejecución mediante el shell, llamamos al shell explícitamente: bash script. Programación de scripts en Bash
  • Variables Una variable es un nombre al cual se le puede asociar un valor, tal valor puede cambiar durante la ejecución de un programa #!/bin/bash #variables SOURCEDIR=/home/user/Documents/ DESTDIR=/media/diskid/user_backup/Documents/ cp -r $SOURCEDIR $DESTDIR Programación de scripts en Bash
  • Entrada de datos Los scripts también pueden ser interactivos, y nos pueden pedir un dato (por ejemplo, un ruta) para luego tomar esa variable para el resto del script. Si queremos pedir un argumento haríamos lo siguiente: #!/bin/bash echo $1 Y eso aplicándolo a un script sencillo podría resultar en un pequeño script que nos pregunte el nombre: #!/bin/bash echo -e "Escribe tu nombre, por favor: " read nombre echo "Encantado de saludarte, $nombre" Programación de scripts en Bash
  • Entrada de datos En un script puede emplear ciertas variables especiales ($1, $2, ...) para referenciar los parámetros que el usuario empleó al iniciarlo. $1 tendrá el valor del primer parámetro, $2 del segundo y así sucesivamente. El siguiente script ejemplifica su uso: #!/bin/bash echo "Creando $2.tar.gz de $1" mkdir $2 cp -rf $1/* $2 tar cvf $2.tar gzip $2.tar Programación de scripts en Bash
  • Puedes obtener más información sobre este tipo de scripts en Bash Guide for Beginners. http://tldp.org/LDP/Bash-Beginners-Guide/html/ Programación de scripts en Bash
  • Rutas absolutas y relativas
  • Algunos comandos bash están incorporados, mientras otros son externos. Los comandos externos son sólo archivos de su sistema de archivos. En sistemas Linux y UNIX, se puede acceder a todos los archivos como parte de un mismo árbol raíz al que se accede por medio de /. Si usted escribe el nombre de un comando, el bash busca ese comando en su ruta, la cual es una lista de directorios separados por punto y coma en la variable de entorno PATH. Rutas de los comandos del shell
  • Utilice el comando which o type para búsqueda de ubicaciones de comandos. Sintaxis: which [comando] type [comando] El comando whereis también es útil para estos casos. Sintaxis: whereis [comando] Rutas de los comandos del shell
  • Si un comando no se encuentra en la especificación de ruta, usted puede igualmente ejecutarlo especificando una ruta y un nombre del comando. Existen dos tipos de rutas que se pueden utilizar: Rutas Absolutas que son aquellas que comienzan con /, (como /bin/bash, /bin/env, etc). Rutas Relativas varían según el tipo de directorio de trabajo actual, según lo informado por el comando pwd. Ejecución de otros comandos
  • Estos comandos no comienzan con /, pero si contienen al menos una /. Usted puede utilizar rutas absolutas sin importar cuál sea el directorio en el cual está trabajando actualmente, pero probablemente utilizará rutas relativas sólo si un comando se encuentra cerca de su directorio actual. Existen dos nombres especiales que usted puede utilizar en una ruta; un sólo punto (.) se refiere al directorio actual, y un par de puntos (..) se refiere al directorio primario actual. Ejecución de otros comandos
  • Ejemplo: ./hello.sh ../hello.sh Usted puede usar tanto . como .. como parte de una ruta absoluta, aunque un sólo . no es muy útil en tal caso. Usted puede también usar una virgulilla (~) para referirse a su directorio principal ~nombre de usuario para referirse al directorio principal del usuario denominado nombre de usuario. Ejecución de otros comandos
  • Del mismo modo en el que puede ejecutar programas desde varios directorios de su sistema, puede también modificar el directorio que está funcionando actualmente utilizando el comando cd. El argumento para cd debe ser una ruta absoluta o relativa a un directorio. En cuanto a los comandos, usted puede utilizar ., .., ~, y ~nombre de usuario en las rutas. Si utiliza cd sin parámetros, el cambio se realizará en su directorio principal. Un sólo guión (-) como parámetro significa que se debe volver al directorio de trabajo anterior. Modificación del directorio de trabajo
  • Por lo general hablamos de cambiar directorio en lugar de cambiar directorio de trabajo. En cualquier momento quiere saber la ruta en la que está situado, el comando pwd (print working directory), se suele utilizar para saber en que parte de la estructura de directorios te encuentras. Modificación del directorio de trabajo
  • Información de sistema
  • Información de sistema con uname El comando uname imprime información sobre el sistema y su kernel Opción Descripción -s Imprime el nombre del kernel. En el caso de que no se especifique ninguna opción esto sucederá por defecto. -n Imprime el nombre del nodo o del dominio. -r Imprime la actualización del kernel. Esta opción por lo general se utiliza en los comandos de manipulación de módulos. -v Imprime la versión del kernel. -m Imprime el nombre del hardware de la máquina (CPU). -o Imprime el nombre del sistema operativo. -a Imprime toda la información anterior.
  • Historial de comandos El shell bash puede guardar un historial de sus comandos. El historial se encuentra activado por defecto. Usted puede desactivarlo utilizando el comando set +o history y volver a activarlo utilizando set -o history. Una variable de entorno denominada HISTSIZE le dice al bash cuantas líneas del historial guardar. Otra serie de configuraciones controla el modo de trabajo y la administración del historial. Si desea obtener más información diríjase a las páginas del manual del bash.
  • Historial de comandos Comandos que se pueden utilizar mediante las funciones del historial son: history Muestra todo el historial history N Muestra las últimas líneas N del historial history -d N Elimina la línea N de su historial; usted podría hacer esto si la línea contiene una clave, por ejemplo !! Muestra el comando más reciente !N Muestra el N comando del historial
  • Historial de comandos !-N Muestra el comando que se encuentra N comandos atrás en el historial (!-1 es equivalente a !!) !# Muestra el comando que usted está escribiendo actualmente !string Muestra el comando más reciente que inicia con string !?string?
  • La principal (y tradicional) fuente de documentación la constituyen las páginas de los manuales, a las cuales puede acceder utilizando el comando man. Man es una herramienta de sistemas Unix que se utiliza para documentar y aprender sobre comandos, archivos, llamadas de sistema, etc., en un sistema operativo tal como GNU/Linux. La mayoría de las aplicaciones aportan documentación de manual accesible desde el mismo comando: $ man [comando] Página de los manuales(man)
  • Por ejemplo, para saber todo lo relacionado sobre la aplicación man basta con poner en la consola: $ man man Y se mostrará la información necesaria sobre este. En ocasiones el mismo programa posee diversas secciones de manual, cuando esto ocurre suele mostrar un mensaje indicando la sección, como man (1) y man(7), o exit(1) y exit(3). Para acceder a estas secciones basta con indicarlo de la siguiente forma: $ man 3 printf Página de los manuales(man)
  • El manual normalmente está dividido en ocho secciones numeradas, organizadas como sigue (en BSD, Unix y Linux) Página de los manuales(man)
  • Monitoreo del sistema
  • Procesos La más simple definición de un proceso podría ser que es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. Un proceso puede, a su vez, según el sistema operativo, contener elementos paralelos de ejecución, como pueden ser hilos (threads). La ejecución de los procesos se puede ver con el comando ps. ps Lista los procesos con sus datos de usuario, tiempo, identificador de proceso y línea de comandos usada. Una de las opciones utilizada es ps ef, pero hay muchas opciones disponibles (ver manual).
  • Procesos En GNU/Linux, cada proceso puede a su vez, lanzar otros procesos hijos. Estos dependerán del padre, de modo que cuando el proceso padre muera, los procesos hijos recibirán la señal de que deben de finalizar su ejecución. La dependencia de procesos puede verse con el comando: $ pstree
  • Tipos de procesos Los procesos que se encuentren en ejecución en un determinado momento serán, en general, de diferente naturaleza. Procesos de sistema: Son procesos asociados al funcionamiento local de la máquina y del kernel, o bien procesos (denominados daemons) asociados al control de diferentes servicios, ya sean locales, o de red, porque estamos ofreciendo el servicio (actuamos de servidor) o estamos recibiendo el servicio (actuamos de clientes).
  • Tipos de procesos Procesos del usuario administrador: En caso de actuar como root, nuestros procesos interactivos o aplicaciones lanzadas también aparecerán como procesos asociados al usuario root. Procesos de usuarios del sistema: Asociados a la ejecución de sus aplicaciones, ya sea tareas interactivas en modo texto o en modo gráfico.
  • Programas y procesos Programas y procesos son entidades distintas. En un sistema operativo multitarea, múltiples instancias de un programa pueden ejecutarse simultáneamente. Cada instancia es un proceso separado. Linux, es un sistema operativo multitarea y multiusuario. Múltiples procesos pueden operar simultáneamente sin interferirse unos con los otros. Cada proceso tiene la "ilusión" que es el único proceso en el sistema y que tiene acceso exclusivo a todos los servicios del sistema operativo. Por ejemplo, si cinco usuarios desde equipos diferentes, ejecutan el mismo programa al mismo tiempo, habría cinco instancias del mismo programa, es decir, cinco procesos distintos.
  • Programas y procesos Cada proceso que se inicia es referenciado con un número de identificación único conocido como Process ID PID, que es siempre un entero positivo. Prácticamente todo lo que se está ejecutando en el sistema en cualquier momento es un proceso, incluyendo el shell, el ambiente gráfico que puede tener múltiples procesos, etc. Programas y procesos La excepción a lo anterior es el kernel en sí, el cual es un conjunto de rutinas que residen en memoria y a los cuales los procesos a través de llamadas al sistema pueden tener acceso.
  • Procesos y recepción de señales Cada proceso que se ejecuta en el sistema operativo está preparado para recibir una serie de señales y actuar en consecuencia. El comando kill es el empleado de forma cotidiana para enviar de forma manual estas señales. Sintaxis del comando kill $ kill señal id proceso $ kill -9 12123 Esto le dice al sistema operativo que debe de eliminar forzosamente el proceso 12123.
  • Procesos y recepción de señales Las señales que se pueden enviar, en resumen, son: 1 – SIGHUP Hangup. Se indica al programa que debe de salir. Pero es reprogramable para poder usarse en otros comportamientos, como reload. 9 – SIGKILL Kill. Le dice al sistema operativo que debe de terminar de forma forzosa con ese proceso. 15 – SIGTERM Terminación. Es reprogramable para poder realizar tareas específicas antes de salir. 19 – SIGSTOP Stop. Detiene el proceso, pero sin terminarlo, de modo que se pueda volver a reanudar su ejecución. 18 – SIGCONT Continue. Le dice a un proceso parado que continúe su ejecución.
  • Estados de los procesos Un proceso puede tener estados básicos de: S – Sleep Durmiendo. Quiere decir que está en ejecución, pero en ese momento no se encuentra ejecutándose ningún código dentro de la CPU. D – Sleep Es igual que el anterior, pero no es posible interrumpirlo. T – Stopped Detenido. Quiere decir que se ha detenido su ejecución. R – Running En ejecución. Es un proceso que se está ejecutando de forma activa en la CPU. Z – Zombie Es un proceso que debería de haber muerto, pero aún tiene dependencias que no es posible terminar. Hasta que no se eliminen sus dependencias no desaparecerá.
  • Estados de los procesos Un proceso que está en ejecución en primer plano, es decir, en la consola, puede ser detenido mediante la pulsación de ^C (Ctrl+C). Este comando, envía al proceso activo la señal de SIGTERM. Si se presiona la combinación de teclas ^Z (Ctrl+Z), se enviará la señal de SIGSTOP. Para volver a retomar el proceso ejecutar el comando fg.
  • Entorno de ejecución Cuando estamos en una consola (un tty, pts o similar), tenemos a nuestra disposición un intérprete de comandos en el que podemos lanzar procesos en cualquier momento. Estos procesos pueden detenerse mediante la pulsación de ^C, como habíamos dicho antes, pero también pueden detenerse (con ^Z). ¿Qué sucede cuando se detienen?, básicamente, se genera en un entorno de ejecución un identificador (que es informado entre corchetes, justo antes de la palabra Stopped, en el texto que sale nada más pulsar la combinación de teclas). Por ejemplo, si ejecutamos el vim y presionamos ^Z, volvemos a la consola con este mensaje: [1]+ Stopped vim
  • Entorno de ejecución Comando jobs: El comando jobs se utiliza para listar procesos que estés ejecutando en segundo plano o en primer plano. Si la respuesta se devuelve sin información es que no hay procesos presentes. Sintaxis: jobs [opciones] Opciones: -l Informa del identificador del grupo de proceso y la carpeta de trabajo de las operaciones. -n Muestra sólo los trabajos que se han detenido o cerrado desde la última notificación. -p Muestra sólo el identificador de proceso para los líderes de grupo de procesos de los trabajos seleccionados.
  • Entorno de ejecución Comando bg: El comando bg se utiliza para mover un trabajo a segundo plano. El usuario puede ejecutar un proceso en segundo plano añadiendo un símbolo "&" al final del comando. Sintaxis: bg [opciones] [proceso] Opciones: -l Informa del identificador del grupo de proceso y la carpeta de trabajo de las operaciones. -p Informa únicamente del identificador del grupo de proceso de las operaciones. -x Sustituye cualquier job_id encontrado en el comando o argumentos con el identificador de grupo de proceso correspondiente, después ejecuta el comando dándole argumentos. job Especifica el proceso que quiere ejecutarse en segundo plano.
  • Entorno de ejecución Comando fg: El comando fg se utiliza para situar un proceso en primer plano. Sintaxis: fg [proceso] Opciones: No hay opciones para el comando fg.
  • Herramientas para administrar procesos top Una versión que nos da una lista actualizada a intervalos. htop Versión mejorada de top
  • Logs del sistema La mayor parte de los logs se generan en el directorio /var/log, aunque algunas aplicaciones pueden modificar este comportamiento; la mayoría de logs del propio sistema sí que se encuentran en este directorio. Una modificación simple de este método podría ser introducir, desde un terminal, la instrucción siguiente: $ tail -f /var/log/messages El daemon Syslogd es el servicio más importante de obtención de información dinámica de la máquina. El proceso de análisis de los logs nos ayuda a entender el funcionamiento, los posibles errores y el rendimiento del sistema.
  • Comandos relacionados uptime Tiempo que hace que el sistema está activo. last Analiza log de entradas/salidas del sistema (/var/log/wtmp). free Informa sobre el estado global de la memoria. Da también el tamaño de la memoria virtual. vmstat Informa sobre el estado de la memoria virtual, y el uso que se le da.
  • Apagar / Reiniciar un sistema GNU/Linux Para apagar el sistema tenemos tres comandos distintos (halt, poweroff y shutdown). El comando halt detiene el sistema. $ sudo halt El comando poweroff es un enlace simbólico al comando halt, lo que detiene el sistema y luego intenta apagarlo. $ sudo poweroff
  • Apagar / Reiniciar un sistema GNU/Linux El comando shutdown apaga el sistema de una manera segura. Este comando tiene distintas opciones, por ejemplo podemos decirle que lo apague ahora mismo: $ sudo shutdown -h now o en x tiempo, siendo x el número de minutos que tiene que esperar para apagarlo, por ejemplo en 5 minutos: $ sudo shutdown -h +5
  • Apagar / Reiniciar un sistema GNU/Linux También podemos decirle que se apague a una hora determinada (reloj en sistema de 24 horas, es decir, de 0 a 23), por ejemplo a las 22:30: $ sudo shutdown -h 22:30 Para reiniciar el sistema tenemos dos: reboot y shutdown, con todas las opciones mencionadas antes sólo que en lugar de usar el argumento -h (de halt), usaremos el -r (de reboot).
  • Apagar / Reiniciar un sistema GNU/Linux El comando reboot es otro enlace simbólico al comando halt, primero detiene el sistema y luego reinicia. $ sudo reboot Usando el comando shutdown: $ sudo shutdown -r now $ sudo shutdown -r +5 $ sudo shutdown -r 22:30
  • Referencias Libros: GNU/Básico : Antonio Perpiñan http://codigolibre.org/ After the software wars : Keith Curtis http://keithcu.com Administración Avanzada de GNU/Linux http://www.uoc.edu/masters/oficiales/img/871.pdf Enlaces http://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-103-1/ http://altenwald.org/2010/11/27/procesos-en-gnulinux/ http://blog.desdelinux.net/permisos-basicos-en-gnulinux-con-chmod/
  • ¿Preguntas?
  • @eudriscabrera @eudris @ecabrerar @eudriscabrera Eudris Cabrera Rodríguez Ingeniero Telemático Desarrollador de Software / Consultor Informático eudris@gmail.com