La navegación efectiva del sistema de archivos es fundamental para cualquier trabajo en bioinformática. En este módulo aprenderás a moverte con confianza por tu sistema usando la terminal bash.
5.1 ¿Por qué es importante?
En bioinformática trabajamos constantemente con:
Archivos de secuencias (FASTA, FASTQ)
Bases de datos genómicas
Scripts de análisis
Resultados de experimentos
Múltiples directorios de proyectos
5.2 Comandos básicos de navegación
Antes de comenzar, vamos a descargar y descomprimir el siguiente archivo class.zip, el cual contiene los archivos necesarios para esta clase.
# Descarga de archivos de la webwget https://github.com/BioCode-Academy/Unix/raw/refs/heads/dev/class.zip# Descomprimir archivos .zipunzip class.zip
Nota: Estos archivos son propiedad de la (Software Carpetry)[https://software-carpentry.org/] (The Carpentries 2025) un proyecto que enseña habilidades computacionales básicas a investigadores para que puedan trabajar de forma más eficiente y productiva.
5.2.1$ - prompt
El signo $ es un prompt, que nos muestra que la terminal está esperando una entrada; tu terminal puede usar un carácter diferente como prompt y puede agregar información antes de él. Al teclear comandos, ya sea a partir de estas lecciones o de otras fuentes, no escribas el prompt ($), sólo los comandos que le siguen.
(base)david:Unix$# Aquí va el códgio a usar
5.2.2whoami - ¿Qué usuario estoy usando?
La salida del comando whoami es el ID del usuario actual, es decir, nos muestra como quién nos identifica la terminal:
whoami
Resultado esperado:
david
5.2.3pwd - ¿Dónde estoy?
El comando pwd (Print Working Directory) te muestra tu ubicación actual:
Lista el contenido del directorio actual o especificado:
# Listado básicols# Listado detallado con permisos, fechas y tamañosls-l# Incluir archivos ocultosls-la# Ordenar por fecha de modificaciónls-lt# Tamaños legibles para humanosls-lh
Ejemplo:
ls-lh class/
Resultado esperado:
total 72Kdrwxr-xr-x 2 david david 4.0K Nov 17 2015 creaturesdrwxr-xr-x 5 david david 4.0K Nov 17 2015 datadrwxr-xr-x 2 david david 4.0K Nov 17 2015 Desktopdrwxr-xr-x 2 david david 4.0K Nov 17 2015 moleculesdrwxrwxr-x 2 david david 4.0K May 26 14:54 Neucr2drwxr-xr-x 3 david david 4.0K Nov 17 2015 north-pacific-gyre-rw-r--r-- 1 david david 86 Nov 17 2015 notes.txt-rw-r--r-- 1 david david 32 Nov 17 2015 pizza.cfg-rw-r--r-- 1 david david 22K Nov 17 2015 solar.pdfdrwxr-xr-x 6 david david 4.0K Nov 17 2015 writing
Opciones útiles de ls:
-l: formato largo con detalles
-a: mostrar archivos ocultos (empiezan con .)
-h: tamaños legibles (KB, MB, GB)
-t: ordenar por fecha
-r: orden inverso
-S: ordenar por tamaño
5.2.5cd - Moverse entre directorios
Este comando permite cambiar de directorio (Change Directory)
# Ir a un directorio específicocd /home/usuario/proyectos# Ir al directorio padrecd ..# Ir al directorio home del usuariocd ~# o simplementecd# Volver al directorio anteriorcd-
Ejemplo:
# Navegando en un proyecto de análisis de microbiomapwd# /home/david/Documents/Code/courses/BioCode-Academy/Unix/cd class/creatures/pwd# /home/david/Documents/Code/courses/BioCode-Academy/Unix/class/creaturescd ..pwd# /home/david/Documents/Code/courses/BioCode-Academy/Unix/classcdpwd# /home/davidcd-pwd# /home/david/Documents/Code/courses/BioCode-Academy/Unix/classcd ..pwd# /home/david/Documents/Code/courses/BioCode-Academy/Unix/
5.2.6tree - Vista jerárquica
Muestra la estructura de directorios en forma de árbol (tree):
# Instalar tree si no está disponiblesudo apt install tree # Ubuntu/Debianbrew install tree # macOS# Uso básicotree# Limitar profundidadtree-L 2# Solo directoriostree-d# Incluir tamaños de archivotree-h
Ejemplo:
# Estructura típica de un proyecto de bioinformáticatree class/ -L 2 -h
# Verificar archivos presentes en la carpeta pdb## V1ls-lh data/pdb/ |head-n 5## V2cd data/pdb/ |ls-lh|head-n 5
Resultado esperado:
total 208K-rw-r--r-- 1 david david 1.5K Nov 17 2015 aldrin.pdb-rw-r--r-- 1 david david 306 Nov 17 2015 ammonia.pdb-rw-r--r-- 1 david david 1.5K Nov 17 2015 ascorbic-acid.pdb-rw-r--r-- 1 david david 1.1K Nov 17 2015 benzaldehyde.pdb
5.5 Consejos y Buenas Prácticas
Usa autocompletado: Presiona Tab para completar nombres de archivos y directorios
Historial de comandos: Usa las flechas ↑↓ para navegar por comandos anteriores
Nombres descriptivos: Usa nombres claros para directorios (datos_crudos mejor que data1)
Estructura consistente: Mantén una organización estándar en todos tus proyectos
Backup regular: Siempre ten copias de seguridad de datos importantes
5.6 Comando de ayuda
# Obtener ayuda de la mayoría de los comandosman ls |head-n 20
Resultado esperado:
LS(1)User Commands LS(1)NAMEls- list directory contentsSYNOPSISls[OPTION]... [FILE]...DESCRIPTIONList information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is speci‐fied.Mandatory arguments to long options are mandatory for short options too.-a,--alldonot ignore entries starting with .-A,--almost-alldonot list implied . and ..
Ejemplo:
ls--help|head-n 20
Resultado esperado:
Usage: ls [OPTION]... [FILE]...List information about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.Mandatory arguments to long options are mandatory for short options too.-a,--all do not ignore entries starting with .-A,--almost-all do not list implied . and ..--author with -l, print the author of each file-b,--escape print C-style escapes for nongraphic characters--block-size=SIZE with -l, scale sizes by SIZE when printing them;e.g.,'--block-size=M';see SIZE format below-B,--ignore-backups do not list implied entries ending with ~-c with -lt: sort by, and show, ctime (time of lastchange of file status information);with-l: show ctime and sort by name;otherwise: sort by ctime, newest first-C list entries by columns--color[=WHEN] color the output WHEN;more info below