Linux

Presentado por Daniel Moya

Introducción

Generalidades

Linux

Introducción

Descripción

Sistema operativo que permite:

  • Manejar recursos (hardware, procesos, memoria, servicios, etc.).
  • Controlar sistema de archivos (FS).
  • Proveer acceso a usarios e identificación.
  • Extenderse a clusters, virtualización, computación en la nube, real-time, etc.

Linux

Introducción

Distribuciones

  • Basadas en paquetes RPM (RHEL, Fedora, CentOS, OpenSUSE, etc.)
  • Basadas en Debian (Debian, Linux Mint, Ubuntu, etc.)
  • Arch Linux
  • Slackware

Linux

Introducción

Desktop Environment (DE)

  • KDE
  • Cinnamon
  • Unity
  • GNOME
  • MATE
  • Xfce

Linux

Introducción

Desktop Environment (DE)

Windows                  vs                        Linux DEs

Linux

Introducción

Prompt

Linux

Introducción

  • Se encuentra antes de los comandos que sean escritos.
  • Provee información básica sobre la sesión actual: comúnmente se muestra el usuario, el grupo al que pertenece y el directorio actual.

Definición

Linux

Introducción

Delimitador

  • Para usuario común: $

 

  • Para usuario root o privilegiado: #

Linux

Introducción

Editores en terminal

  • Para la mayoría de aspectos simples y rápidos: nano. Sintáxis: nano [archivo].
  • Editores más complicados y poderosos: vim, emacs.

Linux

Introducción

Personalizar el prompt

  • Editar documento de bash  (nano ~/.bashrc).

  • Editar variable PS1 (prompt string).

  • Actualizar prompt (source ~/.bashrc)

Linux

Introducción

Respaldar .bashrc

  • Crear una copia de .bashrc (mv ~/.bashrc ~/.bashrcR)
  • Crear un nuevo archivo .bashrc (touch ~/.bashrc)

 

  • Recuperar respaldo: mv ~/.bashrcR ~/.bashrc

Linux

Introducción

Caracteres especiales

  • Número de comando: \! (global), \# (local).
  • Directorio actual: \w (completo), \W (actual).
  • Tipo de usuario: \$.
  • Información de la sesión: \h (hostname), \u (usuario)
  • Tiempo: \t (hora), \d (fecha)

 

Linux

Introducción

Ejercicio

  • Personalizar prompt para que sea de la forma:

[Número de Comando] Nombre [Directorio] [Delimitador]

 

Linux

Introducción

Búsqueda y navegación

Linux

Introducción

Navegación básica

  • cd (change directory)
  • ls (list)
  • <tab> (autocompletado)

Linux

Introducción

Uso de comandos previos

  • Flechas ↑ ↓

  • Ctrl + R  (Búsqueda inversa incremental)

  • history <#>

  • Ejecución:  !<Número de comando>, !! para comando anterior

Linux

Introducción

Piping

  • Caracter: | (pipe)

  • grep <-i> [expresión regular]

  • less

Linux

Introducción

Búsqueda de archivos

  • locate <-i> [archivo]: corre sobre una BD. Para actualizarla: sudo updatedb
  • find <directorio> <-iname> [archivo]: corre sobre el FS actual.

Linux

Introducción

Ejercicios

  • Encontrar todos los archivos que se llamen .bashrc bajo el directorio ~ (home)
  • Moverse al directorio /etc/ y ejecutar la operación anterior.

Linux

Introducción

Atajos y comandos "alias"

Linux

Introducción

Atajos de teclado

Linux

Introducción

  • Ctrl + A : Regresa el cursor al inicio de la línea.
  • Ctrl + E : Pone el cursor en el final de la línea.
  • Ctrl + L : Limpia la consola (equivalente a <enter>)
  • Ctrl + C : Elimina la línea y cancela el comando
  • Ctrl + Shift + C : Copia el texto
  • Ctrl + Shift + V : Pega el texto

Alias

  • Notación: alias [nombre]='[comando]'
  • Temporales: en terminal, al cerrarla se pierden.
  • Permanentes: editar ~/.bashrc

Linux

Introducción

Comandos útiles

Apagar la computadora:

  • sudo shutdown -h now
  • sudo halt
  • sudo init 0

 

Linux

Introducción

Comandos útiles

Reiniciar la computadora:

  • sudo shutdown -r now
  • sudo init 6

Manejo básico de archivos:

  • touch (crea un archivo)
  • mkdir (crea un directorio)
  • rm <-iR> (elimina un archivo/directorio)

Linux

Introducción

Ejercicios

  • Cambiar el comando rm para que siempre pida confirmación.

  • Crear el alias apagar que apague al sistema.

  • Crear un archivo en /etc/ llamado "p". Corregir dicho comando moviéndose al inicio y al final para ejecutarlo con sudo y con un nombre de archivo "prueba".

Linux

Introducción

Instalación de paquetes y aplicaciones

Linux

Introducción

Con paquetes descargados

Linux

Introducción

  • Paquetes deb: dpkg -i [pkg.deb]

Desde código fuente

Linux

Introducción

  • Siempre buscar archivo readme.
  • Usualmente:
./configure
make
sudo make install

Desde repositorio (deb)

Linux

Introducción

apt-cache <search> [paquete]
sudo apt-get remove [paquete]
sudo apt-get purge [paquete]
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install [paquete]

Ejercicio

Linux

Introducción

  • Instalar Sublime Text (seguir instrucciones en internet)

Procesos en linux

Linux

Introducción

Listar procesos

  • ps -aux (process status)
  • top o htop (similar a administrador de tareas de windows)
  • System Monitor (GUI) 

Linux

Introducción

Eliminar procesos

  • Posibles señales: SIGTERM (15), SIGKILL (9), SIGSTOP (17,19,23)
  • kill [señal] [id]
  • pkill y killall funcionan con nombre:

pkill [señal] [proceso]

killall [señal] [proceso]

Linux

Introducción

Ejercicio

  • Abra algún programa (e.g. firefox), búsquelo por su id y elimínelo. Ahora vuelvalo a abrir y elimínelo por su nombre.

Linux

Introducción

Información del Sistema

Linux

Introducción

Información básica

  • Usuario: whoami
  • HW/SW: uname -a
  • Memoria ram: free -h

Linux

Introducción

Manual para comandos

  • Usualmente los comandos vienen con un manual.
  • Notación: man [comando].
  • Recomendable usar piping.

Linux

Introducción

Ejercicios

  • Revisar información básica de su computadora / sistema operativo.
  • Verificar como el comando grep ignora las mayúsculas (ignore case).

Linux

Introducción

Información

Linux

Introducción

Linux

Introducción

Para más información:

Linux bible by Christopher Negus

 

Linux

Introducción

Taller Linux Introductorio

By Juan Navarro

Taller Linux Introductorio

  • 308