Uso Básico de la consola Unix
El uso de software gratuito y libre junto a un sistema operativo transparente, estable, multiplataforma y seguro como Linux ha dado lugar a lo que podríamos denominar un Sistema Linux. El uso de la consola es una de las competencias necesarias para tener soltura en cualquier Unix (Linux, Solaris, Mac OS X, Windows cygwin, etc)
Objetivos
- Aprender a trabajar con comandos (terminal Unix o consola)
- Realizar tareas de usuario bajo Linux (o Unix en general)
Clases
- Introducción (El kernel y las GNU Core Utils)
- ¿Qué es el kernel y donde está (/boot)?
- La consola (Línea de Comandos/CLI)
- ¿Que es? Interpreta comandos
- ¿Como la uso? Es un software (terminal):
- Unix (Linux, Mac): lo traen de serie (terminal)
- Windows: instalar Cygwin (Lifehacker Guide) o UnixTools
- Los Comandos:
- Sintaxis de los comandos. Por ejemplo ls -l --file directorio1 directorio2
- Nombre del Comando: por ejemplo ls
- Opciones. Se pone un - antes (cortas) o dos -- (largas): por ejemplo -l ó -lR ó --list --recursive
- Argumentos (separados por espacios): por ejemplo directorio1 directorio 2 (dos argumentos)
- Las opciones y argumentos son opcionales y puede haber varios
- Ayuda sobre un comando (conocer descripción y sintaxis):
- Ayuda Corta/Rápida:Opción -h ó --help. Por ejemplo ls --help
- Ayuda más completa. Comando man o comando info. Por ejemplo man ls ó info ls
- Algunas opciones comunes: --help, --version
- Sintaxis de los comandos. Por ejemplo ls -l --file directorio1 directorio2
- Ser eficientes en el uso de la consola
- Utilizar la función de autocompletar (con tecla TAB).
- Utilizar el histórico de comandos (Flechas del cursor)
- Utilizar Shift+RePag/AvPag para moverse más allá de la pantalla
- Utilizar Trucos librería readline (puede no estar instalada): Inicio de Línea (C-a), Fin de línea (C-e), Carácter Atrás (C-b), Carácter Adelante (C-f), Palabra Adelante (Alt-F), Palabra Atrás (Alt-B), Borrar carácter (C-d), Borrar Palabra (Alt-d)
- Utilidades Básicas Linux: GNU Core Utils
- Situarse en el Sistema:
- Datos sobre el sistema y el intérprete de comandos
- ¿Quien soy y donde estoy?:
- Usuario y Grupo: whoami, groups, logname
- Máquina (host): hostname, hostid, uname
- Terminal: tty
- Cambiar de Usuario: su
- Concepto de Archivo y Ruta (path)
- Todo en Unix es un archivo (que depende de /):
- Está en un directorio (dirname)
- Tiene un nombre (basename)
- Ruta absoluta y relativa.
- Cambiar de Directorio: cd (Change Directory)
- Directorios Especiales:
- actual (un punto) o anterior (dos puntos)
- de trabajo (pwd, Path Working Dir)
- Todo en Unix es un archivo (que depende de /):
- Escribir en Consola
- Uso de Comillas dobles, Comillas simples, y caracteres especiales
- Enviar texto a Consola y salir (echo)
- Enviar texto a Consola sin parar (yes)
- Variables de Entorno.
- Definidas previamente
- Para Mostrar el valor anteponer $ (echo $USER)
- Ejemplos: USER, PWD, LANG, TERM, IFS, SHELL
- Comandos: env, printenv
- Gestionar Archivos:
- ¿Qué es un archivo?
- Secuencia de bytes. Nombre y Atributos
- Tipos: texto y binarios
- Formatos de Archivo (ojo NO es lo mismo que la extensión): Ofimática, Audio, Video, Compresión, etc
- Tipos MIME: codificar cualquier tipo de archivo en formato ASCII
- Lista de Tipos MIME: text/plain, image/jpeg, video/mpeg, application/zip ,
- Gestionar archivos:
- Ver archivos y directorios: ls (LiSt), dir , vdir, dircolors (DIR colors)
- Crear, Copiar, Mover, Borrar: touch (crear), cp (CoPy), mv (MoVe), mkdir (MaKe DIRectory), rm (ReMove), rmdir (ReMove DIR), shred (borrar)
- Ver tipo de archivo: file
- Enlaces:
- Un archivo apunta a otro (acceso directo)
- Diferencia entre simbólico (ln -s) y enlace duro
- Comandos: ln y unlink
- Privilegios en Unix (File System Permissions):
- Cada Archivo tiene un usuario propietario y un grupo propietario
- Permisos para usuario propietario (u), grupo (g) y el resto (o de Others)
- Los permisos (Modos) básicos son: lectura (Read), escritura (Write) y ejecución (eXecute)
- Gestionar Permisos:
- Se utilizan letras, números binarios o números octales.
- Ejemplos (letras ó binario u octal)
- Sólo lectura: r-- ó 100 ó 4
- Lectura y Escritura: rw- ó 110 ó 6
- Ver permisos y atributos de los archivos: ls -l. Ejemplos
drwx--x--x 5 cesareo staff 176 2005-08-17 15:22 evaluacion -rw------- 1 cesareo usuarios 71 2005-12-19 10:56 tiempo_encendido.txt brw-rw---- 1 root disk 3, 0 2006-02-06 21:57 /dev/hda
- Comandos: chown (CHange OWNer), chmod (CHange MODe), chgrp (CHange GRoup)
- ¿Qué es un archivo?
- Archivos de Texto:
- Importancia: archivos de configuración (99% de archivos son texto)
- Ver Contenido Archivo: cat (todo), head (desde el principio), tail (desde el final)
- Contar información: wc (Word Count), nl (Number Line)
- Ordenar información: sort
- Extraer Información:
- Estructura Física y Lógica de un Archivo de Texto
- Uso de Campos y Caracteres Separadores (IFS)
- Operar sobre campos de una línea de texto: cut
- Para ver sumas de comprobación: sum, cksum, md5sum (Algoritmo MD5)
- Para dividir y juntar archivos: split y paste
- Más Comandos:
- Fechas y Horas
- Formato ISO (inglés): 1997-07-16T19:20:30.45+01:00
- Zonas Horarias. Hora UTC (Universal Time Coordinated) y Hora Local (localtime)
- Horario de Verano: DST (Daylight Saving Time).
- Diferencias Horarias: ¿Qué son? , Formato ISO (inglés)
- Usar opciones para formato de fechas con comando date. Por ejemplo: date +'Mes de %B del %Y' ó date +'Fecha: %d/%m/%Y'
- Sistemas de archivos (ocupación): df (Disk File), du (Disk Usage)
- Para hacer sustituciones: tr
- Para hacer cálculos (sencillos): expr
- Secuencias: seq (SEQuence)
- Retardos: sleep (tiempo)
- Copiar Imágenes (dd)
- Fechas y Horas
Actividades
- Introducción
- Abrir una la consola y moverse
- Usar el comando ls ls --help
- Ver ayuda corta (-h) y larga (--help)
- Situarse
- ¿Quien soy? ¿En qué máquina estoy?
- Escribir "Hola soy yo"
- Moverse por los Directorios
- Utilizar rutas absolutas y relativas
- Ver variables de Entorno, mostrar alguna
- Trabajar con Archivos:
- Ver Archivos en diferentes difectorios
- ¿Qué tipo de archivo es?
- Crear un archivo, moverlo, copiarlo y borrarlo
- Crear un archivo y un enlace simbólico
- Cambiar permisos a -rwxr-xr-x
- Trabajar Con texto:
- Ver el contenido de un archivo
- Ver las 3 primeras líneas. Y las 3 últimas
- ¿Cuantos caracteres tiene?
- Ver la suma md5
- Otros Comandos
- ¿Qué hora es en Caracas? ¿Qué hora en San Francisco, USA? ¿Cual es nuestra zona horaria?
- ¿Qué hora es en el sistema? ¿En que GMT está?
- ¿Está lleno el disco?
- ¿Cuanto es 5 + 8? ¿Y 56 / 34?
- Trabajo con comandos: 100 ejercicios básicos sobre linux
Duración del Curso
El esfuerzo estimado del curso es de 1 crédito ECTS. Unas 30 horas de dedicación.
Recursos a Utilizar
- Comenzando con Linux:
- GNU CoreUtils (Utilidades Básicas) (inglés)
- Ejemplos de Comandos:
- Ejemplos de Comandos Unix
- 100 Ejercicios básicos sobre linux
- Ejercicios en archivo PDF
- Curso sobre consola unix avanzada