Tutorial Linux

por Juan Felipe Martínez Bedoya

En este documento están los principales comandos para utilizar el comand prompt de Linux.

Comandos básicos

  • Para moverse a través de los archivos se usa cd.
    Si se desea mover hacia un archivo: cd nombreArchivo
    Si se desea mover hacia la carpeta padre (hacia atrás): cd ..
    Si se desea mover hacia una ruta en específico: cd ../carpetaPadre/archivoEjemplo.txt

  • El comando ls se puede utilizar para ver los archivos o carpetas que existen en la ruta en la que se encuentre parado.
    Este archivo no necesita ninguna adición: ls
    Si se añade el argumento de -la se pueden ver los archivos ocultos del sistema. Estos son los que empiezan con un punto (.): ls -la

  • Para ver el contenido de un archivo desde la línea de comandos, sin la necesidad de abrirlo se usa el comando cat: cat archivoEjemplo.txt

  • Para ver en que ruta se está parado en cualquier momento se usa el comando pwd: pwd

  • Para crear un nuevo directorio se utiliza el comando mkdir. Cuando se utiliza este comando, el nuevo directorio se crea vacío: mkdir nombreDirectorio

  • Para crear un nuevo documento vacío se utiliza el comando touch, para editar después el archivo desde la línea de comandos se hace desde el editor de texto vi, el cual tendrá su propio tutorial sencillo en otra pestaña. Con este comando se puede crear cualquier tipo de archivo, ya sea de texto plano como .txt o programas de cualquier lenguaje como .py o .ino.
    Crear el documento vacío: touch archivoEjemplo.txt
    Entrar para editar el archivo: vi archivoEjemplo.txt

  • Para mover un archivo se utiliza el comando de mv. Para este se debe pasar como primer parámetro el archivo que se desea mover y como segundo el destino. Este comando también sirve para renombrar el archivo o directorio.
    Mover un archivo: mv archivoEjemplo.txt destino/
    Mover un directorio: mv directorioEjemplo/ destino/
    En este comando también se pueden mover utiliza rutas más complejas tipo padre/hijo/archivo.txt.

  • Para copiar un archhivo o un directorio se utiliza el comando cp. Para esto se debe pasar como primer argumento el archivo o directorio y luego el nuevo nombre que se le dará.
    Mover un archivo: cp archivoEjemplo.txt nuevoNombre.txt
    Para mover un directorio se debe poner el argumento -r después del comando principal: cp -r directorioEjemplo/ nuevoDirectorio/
    En este comando también se pueden mover utiliza rutas más complejas tipo padre/hijo/archivo.txt.

  • Para eliminar un archivo se utiliza el comando rm: rm archivoEjemplo.txt
    Para eliminar un directorio se debe incluir también el parámtro de -r: rm -r directorioEjemplo/

Comando más complejos

chmod

Cambiar los permisos de un archivo. Los permisos de un archivo muestran quienes puedes acceder a ellos de diferentes maneras: ya sea para escribir en ellos, leer o ejecutarlos si es el caso. Para esto hay diferentes usaurios que lo pueden ejecutar: owner, que hace referencia al que escribio el archivo; group, que hace referencia a un grupo de usuarios que se haya definido y all, que hace referencia a todos los usuarios. Para editar los permisos se tienen diferentes maneras, pero para todos se utiliza el comando chmod. En general todos usan el mismo formato:

chmod argumentos archivoEjemplo.txt

Los argumentos pueden ser:

  • Primer método: especificando que usuario va a recibir el cambio, que se va a hacer y que parámetro se va acambiar. Para los usaurios se debe usar u para el owner, g para los grupos, o para todos y se puede utilizar a para modificar los tres a la vez, o tambipen se puede dejar este campo vacío. Para hacer las modificaciones se puede utilizar + para añadir permisos o - para quitarlos. Ya los permisos se utiliza w para la escritura, r para lectura y x para la ejecución.
    Por ejemplo si se desea quirar los permisos de ejecución para todos los usuarios en el archivo ejemplo.py se utilizaría el comando de:
chmod o-x ejemplo.py
  • O ya sea añadir permisos de escritura, lectura y ejecución a los tres grupos:
chmod +wrx ejemplo.py
  • El otro método es más sencillo, en este se pasan tres carácteres numéricos donde se especifica que tipo de permisos tendrá cada usuario. Los valores númericos se van sumando para cada usuario, donde la escritura tiene un valor de 4, la lectura de 2 y la ejecución de 1, por lo que por ejemplo si queremos añadirle los permisos de escritura y ejecución a un usuario se pone el caracter 5 o si se desea poner los tres se pone el caracter 7. El orden en el que van es: primero el dueño del archivo, después los grupos y por último todos los usuarios.
    Entonces por ejemplo si se desea dejar los permisos: todos para el creador, de lectura y ejecución para los grupos y solo de lectura para todos los usuarios en el archivo ejemplo.py:
chmod 731 ejemplo.py


bash

Los archivos bash son aquellos que contienen código que se puede correr normalmente en la línea de comandos. Es equivalente al bat de windows, que se puede ver en la ejecución para poner a correr el servidor de la página de Ares. Este tipo de archivos tendrá su propia sección que se puede encontrar aquí.

grep

En todo comando se puede aplicar un filtro para que se muestre solo lo que se necesita, para esto se utiliza la función grep y por ejemplo si se desea mostrar solo los archivos terminados en .py con el comando ls se ejecutaria: ls | *.py
Es muy importante utilizar el caracter | antes del comando, para que así Linux no lo condunda como un argumento de otro caracter.

variables de entorno

Las variables de entorno son valores que se afectan la ejecución de algunos programas o de algunos procesos en computador, en mejor detalle guarda rutas para archivos que se ejecutan al llamar un programa, por ejemplo, donde se guarda el archivo de ejecución de python. Para ver todas las variables de entorno se utiliza el comando export, pero por ejemplo queremos buscar solo algunas en específico se puede utilizar el filtrado mencionado anteriormente.

export | grep ros


Para modificarlas se hace de la siguiente manera:

export ejempplo = "Hola"

Procesos del sistema

Normalmente en linux existen dos tipos de procesos: los foreground, que son aquellos que necesitan estar corriendo en un terminal, necesitan que un usuario este conectado y no empiezan cuando el sistema inicia; el otro tipo son los background, los cuales no se conectan directamente a un terminal y no necesitan una entrada del usuario. Para ver los procesos activos se tienen dos comandos diferentes htop que muestra una información más completa o ps faux.

Para terminar un proceso y dejar que se termina con su debida ejecución se utiliza la combinación de teclas ctrl+c.

Para enviar un proceso del foreground al background se utiliza la combinación de teclas ctrl+z. Este proceso es pausado. Luego para traer nuevamente el proceso al foreground se puede utilizar el comando bg con el nombre del proceso o el identificador PID.

Para matar procesos en el background se puede utilizar el comando htop para verificar un identificador que tienen todos los procesos conocido como PID y luego utilizar el comando kill. También se puede utilizar el nombre del proceso.

kill nombreDelProceso o identificador PID