--- title: 'Comandos básicos unix' disqus: hackmd --- # Unidad Didáctica de Bioinformática y Proteómica Comándos Básicos Unix === ![downloads](https://img.shields.io/github/downloads/atom/atom/total.svg) ![build](https://img.shields.io/appveyor/ci/:user/:repo.svg) ![chat](https://img.shields.io/discord/:serverId.svg) ## Tabla de Contenido [TOC] ## Pasos antes de comenzar Si es tu primera vez, vamos a comenzar desde aquí. 1. Tener un emulador de terminal *Usuarios Windows:* - Windows power shell [Instalación aquí](https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4) - MobaXterm [Instalación aquí](https://mobaxterm.mobatek.net/) *Usuarios IOS/Mac* - Terminal, viene instalada nativa - iterm2 [Instalación aquí](https://iterm2.com/) 2. Tener un editor de texto plano (No es necesario pero recomendable) Opciones: - SublimeText [Instalación aquí](https://www.sublimetext.com/) - Notepad++ - Bloc de notas 3. Tener una cuenta en el servidor. No te preocupes, la primera clase te asignaremos la cuenta 4. Necesitaremos un software para compartir archivos de mi computadora al servidor - FileZilla [Instalación aquí](https://filezilla-project.org/) 6. **Estamos listos ¡Comencemos!** ## Comándos Básicos de UNIX ### Comando: ssh ```gherkin= Feature: Este comando nos permite conectarnos al servidor #Sintaxis: ssh [OPC] usuario@IP.SERVIDOR # Así nos conectamos al servidor Bioinformatica, solo intercambia tu usuario ## Opción 1 ssh -X -p 265 -o ServerAliveInterval=60 user@201.131.57.37 ## Opción 2 ssh -X -p 265 -o ServerAliveInterval=60 user@bioinformatica.insp.mx ``` > Comando: exit y logout > ```gherkin= Feature: Este comando nos permite desconectarnos al servidor #Sintaxis: exit logout # Combinacion de teclas CTRL + d ``` ### Comando: man ```gherkin= Feature: Obtener los manuales de cada comando man [comando] Feature: Ayuda dentro del mismo comando users --help ``` ### Comando: Print Working Directory: pwd ```gherkin= Feature: ¿dónde estoy? Este comando me permite saber en que directorio me encuentro parado pwd ``` ### Comando: clear ```gherkin= Feature: Limpiar pantalla clear ``` ### Comando: users y w ```gherkin= Feature: ¿Quíen además de mi esta conectado? users w ``` ### Comando: Change Directory: cd ```gherkin= Feature: Este comando nos permite movernos entre los directorios # Sintaxis: cd ubicacion/a/donde/me/quiero/mover # Ejemplo: cd /home/egodoy/data/secuencias # Si solo escribimos el comando solo nos regresa a nuestro home cd # Movernos al directorio superior cd .. ``` ### Comando: ls: Listar archivos dentro de un directorio ```gherkin= Feature: Este comando nos permite listar los archivos que contiene el directorio # Sintaxis: ls [OPS] ## Ejemplo: # solo nos lista los archivos visibles ls # Lista archivos en forma de lista ls -l # Lista archivos en forma de lista incluyendo los archivos ocultos ls -la # Lista archivos en forma de lista incluyendo los archivos ocultos # y ademas los ordena desde el más reciente ls -lta ``` ### Comando: mkdir (make directory) Creación de directorios ```gherkin= Feature: Este comando nos permite crear directorios # Sintaxis: mkdir nombre_del_directorio ## Ejemplo: mkdir test # Creación de varios directorios a la vez mkdir directorio1 directorio2 directorio3 # NOTAS: - No incluir espacios entre los nombres de los directorios. - Si se incluyen espacios, se crearan dos o más directorios. ``` ### Comando: secure copy (scp) ```gherkin= Feature: Este comando nos permite copiar archivos al servidor # Sintaxis: scp que/quiero/copia a/donde/lo/quiero/copias #Ejemplo de copiar a mi computadora archivos del servidor # NOTA: Necesito estar parado en una terminal en la ubicación # en donde quiero copiar la información # Es importante agregar el punto por que le indico que aquí quiero la copia # Cambia el 'user' por tu usuario # Posteriormente te pedira tu passwd scp -P 265 user@201.151.57.108:/data/Murcielagos/ . # Ejemplo: Copiar archivos al servidor # Necesito ubicarme en mi computadora en donde estas los archivos # Cambia el 'user' por tu usuario # Posteriormente te pedira tu passwd scp -P 265 archivo_a_copiar user@201.151.57.108:/home/user/directorio/ ``` ### Comando: remove: rm El comando rm se usa para eliminar objetos como archivos, directorios, ligas simbólicas, etc. del sistema de archivos. Este comando funciona con discreción ya que una vez que borres archivos y/o directorios, no podrás recuperar el contenido de los mismos. ```gherkin= Feature: Borrar archivos # Sintaxis: rm NombreArchivo # Borrar directorios con archivos rm -r NombreDirectorio ``` ### Comando: Soft links: ln > Una liga simbólica, es un apuntador con un nombre que direcciona a un archivo o un directorio. > Es un enlace directo a un directorio o archivo. ```gherkin= Feature: Ligas simbólicas ln -s archivo/carpeta/ ubicacion/nombre_liga # Liga simbólica dentro de un directorio ln -s archivo/carpeta/ . ``` ### Comando: Move: mv > Mover archivos de un directorio a otro. > "mv" es un comando usado para mover o renombrar archivos o directorios del sistema de archivos. ```gherkin= Feature: mover archivos y directorios # Mover archivos mv directorio_o_archivo otra_ubicación # Cambiar nombres mv directorio_o_archivo cambio_de_nombre ``` ### Comando: Copy: cp ```gherkin= Feature: Copiar archivos # Sintaxis: cp directorio_o_archivo otra_ubicacion # Copia dentro de un directorio cp directorio_o_archivo . # Copiar un archivo a un directorio cp archivo.txt directorio # Copiar 2 (o más) archivos a un directorio cp archivo1.txt archivo2.txt directorio # Copiar todos los archivos a un directorio cp * directorio cp *.* directorio # Copiar un directorio completo cp –r directorio1 directorio2 ``` ## Visualizar contenido de archivos ### Comando: less ```gherkin= Feature: Muestra el contenido de un archivo línea a línea # Sintaxis: less [OPCIONES] archivo ``` ### Comando: more ```gherkin= Feature: Muestra el contenido de un archivo de una página a la vez # Sintaxis: more [OPCIONES] archivo ``` ### Comando: head y tail ```gherkin= Feature: Muestra las primeras o las últimas líneas de uno o más archivos # Sintaxis: head [OPCIONES] archivo tail [OPCIONES] archivo # Solo las tres primeras líneas head -n 3 archivo # Seguir la salida de un archivo tail -f archivo ``` ## Búsqueda en archivos ### Comando: grep y egrep ```gherkin= Feature: Hacer una búsqueda global para las líneas que encajen con la expresión regular e imprimirlas en pantalla # Sintaxis: grep [OPCIONES] ‘patron’ archivo # expresiones regulares egrep ‘patron_expresiones_regulares’ archivo ``` ## Modificando archivos ### Comando: catenate: cat ```gherkin= Feature: Sirve para encadenar varios archivos # Sintaxis: cat [OPCIONES] archivo1 archivo2 archivoX # Redireccionar la salida a un archivo nuevo cat [OPCIONES] archivo1 archivoX > archivoNuevo ``` ### Comando: cut ```gherkin= Feature: Extraer segmentos de un texto de un archivo # Sintaxis: cut [OPCIONES] archivo ``` ### Comando: word count: wc ```gherkin= Feature: Permite realizar diferentes conteos desde la entrada estándar # Sintaxis: wc [OPCIONES] archivo ``` ### Comando: paste ```gherkin= Feature: Pegar archivos. Une archivos de manera horizontal # Sintaxis: paste [OPCIONES] archivo1 archivo2 archivoX ``` ### Uso del pipe “|” ```gherkin= Feature: Consiste en generar una cadena de procesos conectados. # La salida estándar de cada comando de la cadena es # la entrada estándar del próximo comando # Sintaxis: comando1 | comando2 | comando3 | comandoX # Cuando queremos guardar en un archivo la salida comando1 | comando2 | comando3 | comandoX > archivo.txt ``` ![Comando 1](https://hackmd.io/_uploads/HJba9q2hR.png) ### Comando: sort ```gherkin= Feature: Ordenando archivos en la terminal # Sintaxis: sort [OPCIONES] archivo ``` ### Comando: uniq ```gherkin= Feature: Sirve para sacar los valores únicos de un archivo # Sintaxis: uniq [OPCIONES] archivo ``` ### Comando: history ```gherkin= Feature: Nos da una impresión en pantalla de los comandos que hemos utilizado en la sesión. # Sintaxis: history # Guardar la historia en un archivo history > miHistoriaDeComandos.txt ``` ## Ejercicios extras :::info [**La Terminal de Unix Software Carpentry**] (https://swcarpentry.github.io/shell-novice-es/) ::: ###### tags: `UD_Bioinfo` `Documentation` `UNIX`