Comandos útiles para Terminal (Vol. 1)

Este post tiene intención de ser algo así como una guía por todos los comandos que un usuario normal debería conocer. Todos ellos nos sacarán de un apuro de vez en cuando y puede que incluso sin ellos no podamos realizar una tarea específica. Aunque tengan nombres diferentes o aspectos diferentes, un terminal es una herramienta muy útil y poderosa, desde la que podemos hacer casi cualquier cosa.

  • Carpetas:

  • cd. Significa “change directory”, o sea, cambiar directorio. Su sintaxis es muy sencilla

    cd directorio

    Se puede usar el tabulador para completar los nombres. Para volver atrás se utiliza el símbolo “..”. Para actualizar el directorio actual “.”.

  • ls. Muestra todos los archivos en la carpeta, y los pone de diferentes colores según sus atributos (verdes los ejecutables, amarillos los dispositivos, etc). Su sintaxis es

    ls
  • dir. Tiene la misma función que ls pero no muestra tanta información como él.

  • rm. Elimina el archivo especificado. Este comando sólo es válido para archivos. Su sintaxis es

    rm archivo
  • rmdir. Al igual que rm pero con los directorios. Su sintaxis es

    rmdir directorio
    Conviene tener en cuenta el parámetro –ignore-fail-on-non-empty que borra un directorio aunque no este vacío.
  • chmod. Este comando tiene una sintaxis difícil de recordar, así que tened esto a mano si os hace falta. El comando chmod se utiliza para cambiar los permisos a los diferentes usuarios. Podemos dar permisos de ejecución haciendo

    chmod u+x archivo

    Esta línea le dará permiso de ejecución al usuario dueño del archivo. En definitiva, existen 4 tipos de usuarios:

    u –> dueño
    g –> grupo (grupo de usuarios al que pertenece el archivo)
    o –> otros (los que no son dueños ni pertenecen al grupo)
    a –> todos

    3 tipos de modificaciones:

    + –> Añade un modo
    – –> Quita un modo
    = –> Especifíca un modo (sobreescribe modo anterior)

    y 3 tipos de permisos:

    r –> lectura
    x –> ejecución
    w –> escritura

    Con todas sus mezclas podemos asignar permisos a todos los usuarios. Por ejemplo,

    chmod a+w fichero

    dará permisos de escritura a todos los usuarios para ese fichero.

  • shred. Elimina ficheros completamente. El comando rm no borra del todo los ficheros, sino que los marca como “que se pueden sobreescribir”. Los datos siguen en el disco duro. Con el comando shred borramos los datos definitivamente, haciendolos irrecuperables. Su sintaxis es

    shred -u archivo
  • sh. Este comando se suele utilizar para los ficheros con extensión .sh o .run. Utiliza el shell de linux para ejecutar archivos en consola. Su sintaxis es

    sh archivo
  • cp. Copia uno o varios archivos a la carpeta especificada. Especialmente util para pegar archivos cuando no tenemos permisos. Con este comando, podemos hacerlo como root fácilmente. Su sintaxis es

    cp fichero destino

    Por ejemplo, para copiar el archivo texto.txt a la carpeta /dev/cdu, utilizamos

    sudo cp texto.txt /dev/cdu

    También podemos copiar todos los archivos de una carpeta y pegarlos en otra con

    sudo cp * /dev/cdu
  • mv. Mueve un archivo o carpeta a otro lugar. Su sintaxis es

    mv /carpeta1 /carpeta2

    Lo que hace esto es mover la carpeta1 a la carpeta2, ambas en el directorio raíz.

  • tar. Programa para desempaquetar archivos. Si no tenemos ganas de hacerlo gráficamente, lo podemos hacer mediante terminal escribiendo

    tar zvf archivo.tar
  • Compilación.

    Si alguna vez nos descargamos el código fuente de un programa, necesitaremos compilarlo por nosotros mismos para que funcione. Esta tarea nos requerirá probablemente de gcc y algún que otro paquete extra.

  • Configure. Configure es un script que prepara los archivos para su compilación. Nos informará de si falta alguna dependencia. Debe ejecutarse y por ello se utiliza

    ./configure

    Para ejecutar cualquier archivo ejecutable se utiliza la sintaxis

    ./programa

    siempre y cuando el archivo esté en el mismo directorio en el que estamos nosotros.

  • Make. Cuando llamas a make, compila todo el código fuente y lo deja preparado para instalarlo, ejecutarlo o lo que sea. Tarda bastante, puesto que la compilación siempre es una operación lenta. Su sintaxis es

    make

    en el directorio en el cual está el makefile.

  • Make install. Una vez que termina el make, si hacemos

    sudo make install

    el programa se instalará en nuestro PC. Es importante destacar 2 cosas: hay que ser superusuario y que este también tarda un poco, así que hay que ser pacientes.

  • Sistema:

  • init/telinit. Estos 2 comandos le dicen al kernel linux cual es el runlevel actual. Su sintaxis es

    init num
    telinit num

    num es un número entre 0 y 6. Los diferentes efectos de los números son

    0 —> Detiene el sistema
    1 —> Modo monousuario
    2-5 —> Modo multiusuario
    6 —> Reiniciar

    NOTA: el num puede variar dependiendo de la distribución GNU/Linux que uses. Por ejemplo, en ubuntu, con un telinit 3, nos quedamos igual, puesto que el 3 es un modo gráfico (multiusuario). En cambio, en OpenSUSE, un telinit 3 nos llevará a un terminal gráfico a pantalla completa, cerrando las X.
    Este comando es necesario para instalar los drivers gráficos (por lo menos los de Nvidia) si no se dispone de internet. De ahí lo de cerrar las X.

  • kill. Este programa cierra cualquier proceso que se le indique. Para cerrarlo se necesita su PID, que se obtiene con el comando

    ps aux

    Nos aparecerá una lista con el nombre de los procesos al final. Buscamos el que queramos y vemos la segunda columna (la columna llamada PID). Ahora escribimos

    kill PID

    sustituyendo PID por el PID del programa que queramos y el programa desaparecerá.

Y hasta aquí la primera parte de estos comandos para terminal. La segunda, para cuando tenga un rato libre. Espero que os sean útiles. Un saludo

____________________________________________

Actualizo: Ya está disponible el Vol. 2 de estos comandos útiles para terminal.

Acerca de Alejandro

Usuario de linux y estudiante de Física. Jugador/entrenador de baloncesto, aprecio cualquier cosa científica/tecnológica interesante.

Publicado el 9 abril , 2008 en HowTo[s], Personalización, Programas, Seguridad, Sistema y etiquetado en , , . Guarda el enlace permanente. 9 comentarios.

  1. Muy buena alejandro tio =D

    Me ha gustado un montón, sobre todo porque de la falta de costumbre de usarlos a veces, se olvidan, y realmente son importantes.

    Gracias por currártelo tanto tio.

    Un saludo

  2. Muy guapo el manual tio.Gracias por que yo no sabia la mitad de las cosas que explicas

  3. De nada. La verdad es que siempre conviene tener a mano esto porque para hacer algunas tareas es realmente útil. A ver si un día saco tiempo y hago el Vol. 2….

    Gracias por pasar
    Un saludo

  4. Justo algo como esto es lo que quería.
    Muchas gracias por el post.

  5. No entiendo donde, como , cuando y porque se pones los comandos. Ayuda porfa, soy nuevo en ubuntu

    • Empezando por los comandos de carpetas, estos te permiten manejarte con carpetas como si utilizaras un gestor de ficheros gráfico. Cada comando hace lo que dice la descripción y lleva las operaciones básicas (cambiar de directorio, mover archivos, copiar archivos, etc.).
      Sobre compilar es muy sencillo. «./configure» repasa que no haya ninguna dependencia incumplida y prepara el código fuente para ser compilado. «make» compila directamente (pasa el código fuente a código entendible por el ordenador) y «make install» instala lo compilado anteriormente.
      En cuanto a sistema, telinit es para cosas avanzadas y no se utiliza normalmente. kill mata procesos. Y con mata quiero decir asesina.

      Espero haberte aclarado la mayoría.
      Saludos

  6. espero necesitarlo alguna vez, pero aun no se desde donde tengo que teclear lo de dir etc. GCS

  7. En un terminal. Lo tienes en el menú de aplicaciones, en la parte de accesorios.

Deja un comentario