Sesión 2 - Linux Básico¶
Revisión y Ampliación de Comandos de Linux¶
En esta sesión, ampliaremos nuestro conocimiento sobre los comandos de Linux y exploraremos características más avanzadas que nos permitirán trabajar de manera más eficiente en el entorno de la terminal.
Permisos de Archivos en Linux¶
En Linux, cada archivo y directorio tiene un conjunto de permisos que determinan quién puede leer, escribir o ejecutar el contenido. Los permisos se dividen en tres categorías:
Usuario propietario (u): La persona que creó el archivo.
Grupo propietario (g): Usuarios que pertenecen al mismo grupo.
Otros usuarios (o): Todos los demás usuarios del sistema.
Para cada categoría, existen tres tipos de permisos:
Lectura (r): Permite ver el contenido del archivo o listar el contenido de un directorio.
Escritura (w): Permite modificar el archivo o crear/eliminar archivos dentro de un directorio.
Ejecución (x): Permite ejecutar el archivo si es un programa, o acceder a los archivos dentro de un directorio.
Visualizando Permisos¶
Cuando utilizamos el comando ls -l, podemos ver los permisos de cada archivo representados por una secuencia de caracteres:
$ ls -l
-rw-r--r-- 1 usuario grupo 4096 Jul 25 10:30 archivo.txt
drwxr-xr-x 2 usuario grupo 4096 Jul 25 10:31 directorio
En este ejemplo:
- El primer carácter indica el tipo de archivo (- para archivos regulares, d para directorios).
- Los siguientes tres caracteres (rw-) representan los permisos del usuario propietario.
- Los siguientes tres (r--) son los permisos del grupo.
- Los últimos tres (r--) son los permisos para otros usuarios.
Cambiando Permisos con chmod¶
El comando chmod (change mode) permite modificar los permisos de archivos y directorios. Existen dos notaciones para utilizar este comando:
Notación simbólica: Utiliza letras y símbolos para representar los permisos.
# Agregar permiso de ejecución al propietario chmod u+x archivo.py # Quitar permiso de escritura a otros usuarios chmod o-w archivo.txt # Dar permisos de lectura y escritura al propietario y solo lectura al grupo y otros chmod u=rw,g=r,o=r archivo.txt
Notación octal: Utiliza números para representar los permisos.
4 = Lectura (r)
2 = Escritura (w)
1 = Ejecución (x)
Se suman los valores para cada categoría de usuario:
# Dar permisos rw- r-- r-- (644) chmod 644 archivo.txt # Dar permisos rwx r-x r-x (755) chmod 755 script.py
Ejemplos comunes de permisos: - 644 (rw-r–r–): Estándar para archivos de texto. - 755 (rwxr-xr-x): Estándar para scripts y ejecutables. - 700 (rwx——): Archivos privados, solo el propietario puede acceder. - 777 (rwxrwxrwx): Todos los permisos para todos (¡usar con precaución!).
Cambio de Propietario con chown¶
El comando chown (change owner) permite cambiar el propietario y/o grupo de un archivo o directorio:
# Cambiar solo el propietario
sudo chown nuevo_usuario archivo.txt
# Cambiar propietario y grupo
sudo chown nuevo_usuario:nuevo_grupo archivo.txt
# Cambiar recursivamente para un directorio y su contenido
sudo chown -R usuario:grupo directorio/
Nota
Los comandos chmod y chown a menudo requieren privilegios de administrador (sudo) para modificar archivos que no te pertenecen.
Atajos y Trucos de Terminal¶
Para trabajar de manera más eficiente en la terminal de Linux, es útil conocer varios atajos de teclado y funcionalidades que ahorran tiempo.
Autocompletado con Tab¶
El autocompletado con Tab es una de las funcionalidades más útiles de la terminal:
Presiona
Tabuna vez para autocompletar un comando o nombre de archivo.Si hay múltiples posibilidades, presiona
Tabdos veces para ver todas las opciones.
Ejemplo:
# Escribe "cd Do" y presiona Tab
cd Do[Tab] → cd Documents/
# Si hay múltiples coincidencias, presiona Tab dos veces
ls p[Tab][Tab] → muestra todas las opciones que comienzan con "p"
Atajos de Teclado Importantes¶
Atajo |
Función |
|---|---|
|
Interrumpir el proceso actual (detiene un programa en ejecución). |
|
Suspender el proceso actual (envía a segundo plano). |
|
Envía la señal EOF (End Of File) y cierra la entrada estándar. |
|
Limpia la pantalla (equivalente a |
|
Mueve el cursor al inicio de la línea. |
|
Mueve el cursor al final de la línea. |
|
Elimina todo desde el cursor hasta el inicio de la línea. |
|
Elimina todo desde el cursor hasta el final de la línea. |
|
Elimina la palabra anterior al cursor. |
|
Búsqueda en el historial de comandos. |
Historial de Comandos¶
La terminal guarda un historial de los comandos ejecutados, lo que facilita repetir o modificar comandos anteriores:
↑(flecha arriba): Navega hacia atrás en el historial de comandos.↓(flecha abajo): Navega hacia adelante en el historial de comandos.history: Muestra una lista numerada de comandos ejecutados anteriormente.!n: Ejecuta el comando númerondel historial.!!: Repite el último comando ejecutado.
Ejecución de Python en Linux¶
Python es un lenguaje de programación interpretado que está disponible en la mayoría de las distribuciones de Linux. A continuación, veremos cómo trabajar con Python desde la terminal.
Verificando la Instalación de Python¶
Antes de comenzar, es importante verificar qué versión de Python está instalada en el sistema:
# Verificar si Python 3 está instalado
python3 --version
# En algunos sistemas, Python 3 puede estar disponible como 'python'
python --version
Intérprete Interactivo de Python¶
Python ofrece un intérprete interactivo, también conocido como REPL (Read-Eval-Print Loop), que permite ejecutar código Python línea por línea:
# Iniciar el intérprete interactivo de Python 3
python3
Una vez dentro del intérprete, verás un prompt >>> que indica que Python está esperando que ingreses código:
>>> print("Hola, mundo!")
Hola, mundo!
>>> 2 + 3
5
El intérprete de Python como calculadora¶
Una de las formas más simples de utilizar el intérprete interactivo de Python es como una calculadora avanzada:
>>> 10 + 5 # Suma
15
>>> 10 - 5 # Resta
5
>>> 10 * 5 # Multiplicación
50
>>> 10 / 5 # División (devuelve un float)
2.0
>>> 10 // 3 # División entera
3
>>> 10 % 3 # Módulo (resto de la división)
1
>>> 10 ** 2 # Potencia
100
Importando módulos en el intérprete¶
Python incluye una biblioteca estándar con muchos módulos útiles. Por ejemplo, el módulo math proporciona funciones matemáticas avanzadas:
>>> import math
>>> math.sqrt(16) # Raíz cuadrada
4.0
>>> math.pi # Valor de π
3.141592653589793
>>> math.sin(math.radians(30)) # Seno de 30 grados
0.49999999999999994
>>> math.log10(100) # Logaritmo base 10
2.0
Para salir del intérprete interactivo de Python, puedes usar la función exit(), quit(), o presionar Ctrl+D:
>>> exit()
Creando y Ejecutando Scripts de Python¶
Aunque el intérprete interactivo es útil para pruebas rápidas, para programas más complejos es mejor crear scripts que se puedan guardar y ejecutar.
Creando un Script de Python¶
Puedes crear un script de Python utilizando cualquier editor de texto. Vamos a crear un script simple:
Abre un editor de texto como
nano:nano hola_mundo.pyEscribe el siguiente código:
#!/usr/bin/env python3 # Este es mi primer script en Python print("¡Hola, mundo!") # Una operación matemática resultado = 5 * 10 print(f"5 x 10 = {resultado}")
La primera línea (shebang) indica al sistema que este script debe ejecutarse con Python 3.
Guarda el archivo presionando
Ctrl+O, luegoEnter, y sal del editor conCtrl+X.
Ejecutando un Script de Python¶
Hay varias formas de ejecutar un script de Python:
Usando el intérprete de Python explícitamente:
python3 hola_mundo.pyHaciendo el script ejecutable:
Primero, debes darle permisos de ejecución al script:
chmod +x hola_mundo.py
Luego, puedes ejecutarlo directamente:
./hola_mundo.py
Esto funciona gracias a la línea shebang que le indica al sistema qué intérprete usar.
Sintaxis Básica de Python¶
Si estás familiarizado con otros lenguajes de programación, notarás algunas diferencias importantes en Python:
No hay punto y coma al final de las instrucciones - Las líneas terminan con un salto de línea, no con un punto y coma.
Indentación en lugar de llaves - Los bloques de código se definen por su indentación, no por llaves o palabras clave.
Tipado dinámico - No es necesario declarar el tipo de una variable antes de usarla.
Orientado a objetos - Todo en Python es un objeto, incluso los tipos de datos simples como números y cadenas.
Ejercicios Prácticos¶
A continuación, se presentan algunos ejercicios para practicar lo aprendido:
Ejercicio 1: Permisos de Archivos¶
Crea un nuevo directorio llamado
scriptsen tu directorio home:mkdir ~/scriptsCrea un script de Python llamado
saludo.pydentro de ese directorio:nano ~/scripts/saludo.pyAgrega el siguiente código:
#!/usr/bin/env python3 nombre = input("¿Cómo te llamas? ") print(f"¡Hola, {nombre}! Bienvenido al curso de Python.")
Haz el script ejecutable y pruébalo:
chmod 755 ~/scripts/saludo.py ~/scripts/saludo.py
Ejercicio 2: Usar Python como Calculadora¶
Inicia el intérprete interactivo de Python:
python3
Realiza las siguientes operaciones: - Calcula el área de un círculo con radio 5 (A = πr²) - Convierte 30 grados Celsius a Fahrenheit (F = C × 9/5 + 32) - Calcula el logaritmo natural de 100 - Calcula el valor de 2⁵
Sal del intérprete.
Ejercicio 3: Crear un Script con Estructura Básica¶
Crea un nuevo script llamado
calculadora.py:nano ~/scripts/calculadora.pyEscribe un programa que: - Solicite dos números al usuario - Muestre un menú con opciones para sumar, restar, multiplicar o dividir - Realice la operación seleccionada y muestre el resultado
Haz el script ejecutable y pruébalo con diferentes valores.
Conclusión¶
En esta sesión hemos ampliado nuestro conocimiento sobre el manejo de permisos en Linux y hemos dado nuestros primeros pasos con Python. Ahora puedes:
Comprender y modificar permisos de archivos con
chmodychownUtilizar atajos de teclado para trabajar más eficientemente en la terminal
Ejecutar Python en modo interactivo y usarlo como una calculadora avanzada
Crear y ejecutar scripts de Python básicos
En las próximas sesiones, profundizaremos en los tipos de datos, estructuras de control y funciones de Python para desarrollar programas más complejos y útiles.