Linux¶
Introducción¶
GNU/Linux es la denominación técnica y generalizada que reciben una serie de sistemas operativos de tipo Unix, que también suelen ser de código abierto, multiplataforma, multiusuario y multitarea.Estos sistemas operativos están formados mediante la combinación de varios proyectos, entre los cuales destaca el entorno GNU, encabezado por el programador estadounidense Richard Stallman junto a la Free Software Foundation, una fundación cuyo propósito es difundir el software libre (Open source), así como también el núcleo de sistema operativo conocido como «Linux», encabezado por el programador finlandés Linus Torvalds.
Comandos Básicos (por línea de comando)¶
comando pwd¶
Usa el comando pwd para encontrar la ruta del directorio (carpeta) de trabajo actual en el que te encuentras. El comando devolverá una ruta absoluta (completa), que es básicamente una ruta de todos los directorios que comienzan con una barra diagonal (/) Un ejemplo de una ruta absoluta es /home/nombredeusuario
.
!pwd
/Users/franciscoalfaro/PycharmProjects/MAT281_2022/docs/lectures/basic_tools/basic_tools
comando cd¶
Para navegar por los archivos y directorios de Linux, usa el comando cd. Te pedirá la ruta completa o el nombre del directorio, dependiendo del directorio de trabajo actual en el que te encuentres.
Supongamos que estás en /home/nombredeusuario/Documentos
y deseas ir a Fotos, un subdirectorio de Documentos. Para hacerlo, simplemente escribe el siguiente comando: cd Fotos.
Otro escenario es si deseas ir a un directorio completamente nuevo, por ejemplo, /home/nombredeusuario/Peliculas
. En este caso, debes escribir cd seguido de la ruta absoluta del directorio: cd /home/nombredeusuario/Peliculas
.
Hay algunos atajos para ayudarte a navegar rápidamente:
- cd .. (con dos puntos) para ir un directorio hacia arriba
- cd para ir directamente a la carpeta de inicio
Como nota al margen, el shell de Linux distingue entre mayúsculas y minúsculas. Por lo tanto, debes escribir el nombre del directorio de forma exacta.
!cd /home/fralfaro/PycharmProjects && pwd
zsh:cd:1: no such file or directory: /home/fralfaro/PycharmProjects
!cd .. && pwd
/Users/franciscoalfaro/PycharmProjects/MAT281_2022/docs/lectures/basic_tools
!cd && pwd
/Users/franciscoalfaro
comando ls¶
El comando ls se usa para ver el contenido de un directorio. Por defecto, este comando mostrará el contenido de tu directorio de trabajo actual.
Si deseas ver el contenido de otros directorios, escribe ls y luego la ruta del directorio. Por ejemplo, ingresa ls /home/nombredeusuario/Documentos
para ver el contenido de Documentos.
Hay variaciones que puedes usar con el comando ls:
- ls -R también listará todos los archivos en los subdirectorios
- ls -a mostrará los archivos ocultos
- ls -al listará los archivos y directorios con información detallada como los permisos, el tamaño, el propietario, etc.
!ls
archivo.txt lecture_013_ide.ipynb images lecture_014_jupyter.ipynb lecture_000_configuraciones.ipynb lecture_015_git.ipynb lecture_000_intro.ipynb lecture_016_colab.ipynb lecture_011_os.ipynb linux lecture_012_python.ipynb modulo_01.py
!ls -R
archivo.txt lecture_013_ide.ipynb images lecture_014_jupyter.ipynb lecture_000_configuraciones.ipynb lecture_015_git.ipynb lecture_000_intro.ipynb lecture_016_colab.ipynb lecture_011_os.ipynb linux lecture_012_python.ipynb modulo_01.py ./images: Napoleon.png matplotlib.png pca_01.png arrow.png matplotlib_anatomy.webp pca_02.png branches.png mlflow.png pca_03.png cheatsheet.png nba_logo.jpg pca_04.png code-01.jpg numpy.jpeg pep8.png colab.png optimizationw.jpg performance.png flujo.jpg outlier.png preatentivo1.png git-github.jpg over.png preatentivo2.png git-tower.png over2.png pyenv-pyramid.webp gitignore.jpg overfitting_1.png r2.png logo_python.png p1.png sqlite.jpg logo_terremoto.png p2.png table.jpg lr.png p3.png trees.png lr.webp p4.png male_height.jpg pca.jpg ./linux: none
!ls -a
. lecture_011_os.ipynb .. lecture_012_python.ipynb .DS_Store lecture_013_ide.ipynb .ipynb_checkpoints lecture_014_jupyter.ipynb archivo.txt lecture_015_git.ipynb images lecture_016_colab.ipynb lecture_000_configuraciones.ipynb linux lecture_000_intro.ipynb modulo_01.py
!ls -al
total 448 drwxr-xr-x 16 franciscoalfaro staff 512 Jun 28 21:10 . drwxr-xr-x 5 franciscoalfaro staff 160 Jun 26 18:00 .. -rw-r--r--@ 1 franciscoalfaro staff 6148 Jun 26 18:00 .DS_Store drwxr-xr-x 10 franciscoalfaro staff 320 Jun 28 21:10 .ipynb_checkpoints -rw-r--r-- 1 franciscoalfaro staff 13 Jun 26 12:35 archivo.txt drwxr-xr-x 45 franciscoalfaro staff 1440 Jun 26 12:35 images -rw-r--r-- 1 franciscoalfaro staff 4345 Jun 26 12:35 lecture_000_configuraciones.ipynb -rw-r--r-- 1 franciscoalfaro staff 14170 Jun 26 12:35 lecture_000_intro.ipynb -rw-r--r-- 1 franciscoalfaro staff 10836 Jun 28 21:10 lecture_011_os.ipynb -rw-r--r-- 1 franciscoalfaro staff 32366 Jun 27 23:26 lecture_012_python.ipynb -rw-r--r-- 1 franciscoalfaro staff 7728 Jun 27 13:05 lecture_013_ide.ipynb -rw-r--r-- 1 franciscoalfaro staff 17765 Jun 27 13:16 lecture_014_jupyter.ipynb -rw-r--r-- 1 franciscoalfaro staff 10721 Jun 27 13:03 lecture_015_git.ipynb -rw-r--r-- 1 franciscoalfaro staff 98637 Jun 27 13:16 lecture_016_colab.ipynb drwxr-xr-x 3 franciscoalfaro staff 96 Jun 27 19:34 linux -rw-r--r-- 1 franciscoalfaro staff 34 Jun 27 19:34 modulo_01.py
comando cat¶
Se utiliza para listar el contenido de un archivo en la salida estándar (sdout). Para ejecutar este comando, escribe cat seguido del nombre del archivo y su extensión. Por ejemplo: cat archivo.txt.
Aquí hay otras formas de usar el comando cat:
cat > nombredearchivo
crea un nuevo archivo.cat nombredearchivo1 nombredearchivo2>nombredearchivo3
une dos archivos (1 y 2) y almacena la salida de ellos en un nuevo archivo (3)- convertir un archivo a mayúsculas o minúsculas,
cat nombredearchivo | tr a-z A-Z> salida.txt
!cat archivo.txt
Hola Mundo!
comando cp¶
Usa el comando cp para copiar archivos del directorio actual a un directorio diferente. Por ejemplo:
!cp archivo.txt archivo_02.txt
comando mv¶
El uso principal del comando mv es mover archivos, aunque también se puede usar para cambiar el nombre de los archivos.
Los argumentos en mv son similares al comando cp. Debes escribir mv, el nombre del archivo y el directorio destino.
!mv archivo_02.txt linux
Para cambiar el nombre de los archivos, el comando de Linux es mv nombreviejo.ext nombrenuevo.ext
comando mkdir¶
Usa el comando mkdir para crear un nuevo directorio: si escribes mkdir Musica, creará un directorio llamado Musica.
También hay comandos adicionales de mkdir:
- Para generar un nuevo directorio dentro de otro directorio, usa este comando básico de Linux
mkdir Musica/Nuevoarchivo
- Usa la opción p (padres) para crear un directorio entre dos directorios existentes. Por ejemplo,
mkdir -p Musica/2020/Nuevoarchivo
creará el nuevo archivo «2020».
!mkdir Carpeta
!mkdir Carpeta/nueva_carpeta
comando touch¶
El comando touch te permite crear un nuevo archivo en blanco a través de la línea de comando de Linux. Como ejemplo, ingresa touch /home/nombredeusuario/Documentos/Web.html
para crear un archivo HTML titulado Web en el directorio Documentos.
!touch Web.html
!ls
Carpeta lecture_012_python.ipynb Web.html lecture_013_ide.ipynb archivo.txt lecture_014_jupyter.ipynb images lecture_015_git.ipynb lecture_000_configuraciones.ipynb lecture_016_colab.ipynb lecture_000_intro.ipynb linux lecture_011_os.ipynb modulo_01.py
comando rmdir¶
Si necesitas eliminar un directorio, usa el comando rmdir. Sin embargo, rmdir solo te permite eliminar directorios vacíos.
!rmdir Carpeta
rmdir: Carpeta: Directory not empty
!rmdir Carpeta/nueva_carpeta
comando rm¶
El comando rm se usa para eliminar directorios y el contenido dentro de ellos. Si solo deseas eliminar el directorio, como alternativa a rmdir, usa rm -r.
Nota: Ten mucho cuidado con este comando y verifica en qué directorio te encuentras. Este comando elimina todo y no se puede deshacer.
!rm -r Carpeta
!rm Web.html linux/archivo_02.txt