Introducción al entorno de Linux (Ubuntu) - stefano-sosac/arquitectura-de-computadoras GitHub Wiki
LINUX (GNU/LINUX) es un sistema operativo tipo UNIX que cuenta con numerosas distribuciones. Este sistema es de código abierto y cuenta con una comunidad amplia para sistemas de cómputo y sistemas embebidos en general. Tal como sucede con otros sistemas operativos, las distribuciones de LINUX pueden ser utilizadas a través de una interfaz gráfica o por línea de comandos, siendo la segunda de interés para el curso. En esta sección se darán los comandos básicos que permiten una interacción con el terminal a través de Ubuntu, así como los requerimientos mínimos para la compilación y ejecución de programas en C y Python.
Comandos básicos en el terminal
-
pwd: (print working directory) Imprime el directorio de trabajo. En terminos sencillos te muestra la ruta o directorio en la cual te encuentras cuando estás en una terminal linux.
-
cd: (change directory) Si se coloca solo, dirige al directorio raíz. Adicionalmente, se puede combinar con otras rutas para dirigirse a otros directorios:
- cd ~ : ir al directorio home
- cd ~/papers: ir a /home/user/papers
- cd ~arqui: ir a /home/arqui
- cd dir: ir al directorio dir (relativo)
- cd /dir1/dir2/dir3:} ir al directorio dir3 (absoluto)
- cd - }: regresar al último directorio
- cd .. : subir una jerarquía de directorio
-
mkdir nombre-directorio: (make directory) Crea un directorio con el argumento de entrada el que se quiere crear. Ejemplo: \textit{mkdir prueba} crearía el directorio prueba.
-
rmdir nombre-directorio: (remove directory) Borra el directorio.Considerar que antes de borrar un directorio, éste se debe encontrar vacío, de lo contrario se mostrará un mensaje de error. Ejemplo \textit{rmdir prueba} borrará el directorio prueba.
-
tree: Muestra una estructura de árbol de directorios a partir del directorio actual de trabajo.
Manejo de archivos en linux
Linux maneja básicamente archivos ordinarios, directorios y archivos especiales. Linux maneja tres tipos de archivos/directorios: \vspace{3mm}
-
Archivo ordinario: También llamado regular. Consiste en textos, imágenes, instrucciones de programas (código fuente), entre otros.
-
Directorios: Se manejan internamente como si fueran archivos (archivos de directorio), cuyo contenido es conocido por el file system driver [^1].
-
Archivos especiales: Tienen un significado especial y generalmente están asociados a los dispositivos entrada y salida (I/O devices) o de comunicación entre procesos (pipes).
Así mismo, existen comandos de utilidad que permiten interactuar con estos archivos o directorios:
- find: Busca a partir del directorio que se le indique, y en forma descendente, cualquier archivo (por nombre, tamaño, permisos, etc.). Se pueden emplear comodines como el * (cualquier grupo de caracteres de longitud mayor o igual a 0) y el ? (un solo carácter).
Ejemplo:
find / -name ing.h -print
Este comando debería buscar desde el directorio raíz y en forma descendente todos los archivos que contengan los caracteres “ing.h” al final del nombre, y una vez hallados imprime su ubicación.
- cp: Copia archivos
cp <nombre_archivo_original> <nombre_archivo_copia>
- rm: (remove) Elimina archivos.
rm <nombre_archivo>
- ls: (list) Muestra el contenido del directorio de trabajo o de cualquier otro directorio que se le indique. Si se le invoca sin argumentos, muestra los nombres de los archivos sin ninguna otra información:
ls
Pero si se desea una descripción más detallada puede usarse la opción –l:
ls -l
Esta opción muestra un listado de archivos en formato largo, en el directorio actual (a menos que se indique alguno como argumento).
- chmode: (change mode) permite definir los permisos de un archivo respecto a tres tipos de usuario (usuario, grupos, otros). Se suele usar dos formas para expresar los permisos:
- La octal asigna los permisos mediante valores en base 8. Ejemplo: chmod 600 ejemplo. Esto significa que el grupo de usuarios tiene permisos de lectura y escritura, que el grupo no tiene permisos y que otros tampoco tiene permisos.
Número | Permisos | Descripción |
---|---|---|
0 | --- | sin permisos |
1 | --x | ejecución |
2 | -w- | escritura |
3 | -wx | escritura y ejecución |
4 | r-- | lectura |
5 | r-x | lectura y ejecución |
6 | rw- | lectura y escritura |
7 | rwx | todos los permisos |
- Ejemplo: chmod a+rw archivo
Tipo de usuario | u | Usuario |
---|---|---|
g | Grupo | |
o | Otros | |
Operación | + | Añade permiso |
- | Remueve permiso | |
= | Asigna permiso | |
Tipo de permiso | r | (reading) lectura |
w | (writing) escritura | |
x | (execution) ejecución |
-
chown: permite cambiar el usuario o grupo propietarios de un determinado archivo. El uso más directo para asignar la propiedad de un archivo a un usuario es:
chown usuario archivo
. Si además del usuario, se desea también modificar el grupo propietario del archivo, se emplea:chown usuario:grupo archivo
-
mv: Permite renombrar archivos o mover archivos entre directorios.
mv archivo_a_renombrar nuevo_nombre
mv archivo_a_copiar ruta_destino
-
cat: Examina el contenido de un archivo. Ejemplo:
cat prueba.txt
Finalmente, siempre será posible observar todas las funciones de un comando utilizando el comando help. Para ello debe colocar el comando, dejar un espacio, colocar dos guiones y la palabra help. Ejemplo: cat --help
.
[^1]:Software que se encarga de administrar y organizar el contenido de archivos en el sistema operativo.