La Terminal de Linux (II). Comandos para Manejar Archivos y Carpetas

Muy buenas lector, en esta guía quiero centrarme en que aprendas todo lo necesario para manejar ficheros y carpetas en Linux a través de la línea de comandos. Si no tienes experiencia en el uso de la consola, una buena manera de empezar a entrar en materia es aprender a moverte por el sistema de archivos y a manejar archivos y carpetas desde la línea de comandos.

Existen realmente muchísimos comandos en este sentido, de modo que lo mejor será dividirlos en tres grupos para tener un esquema mental y acordarnos mejor de todos ellos. Sin más, te dejo con el índice del post. Espero que lo disfrutes;)

Anuncios

Tabla de contenidos:

  1. Desplazarte a través de los diferentes directorios
    1. Pwd
    2. Cd
  2. Listar el contenido de un directorio, buscar archivos, etc.
    1. Ls
    2. Find
    3. Locate
  3. Crear, borrar y copiar ficheros y directorios
    1. Mkdir
    2. Rmdir
    3. Rm
    4. Cp
    5. Mv
  4. Más información

Comandos para Desplazarte a Través de Directorios

Empezando por el primero grupo, aquí verás todo lo necesario para aprender situarte en un punto de partida ya desplazarte o navegar a través de los diferentes directorios. Si tienes curiosidad, en este post tienes explicada la estructura de directorios de Linux al detalle. Y ya sin más, empecemos por el más sencillo de todos pero no por ello menos importante…

Pwd

El comando pwd te indica la ruta completa del directorio de trabajo en el que se encuentra tu usuario. Su función es meramente informativa, peor muy útil en ciertas ocasiones, como por ejemplo, conocer el nombre del directorio de trabajo actual.

$ pwd

Esta es la única sintaxis que realmente necesitas conocer de este comando. Como explico, te indica la ruta del directorio de trabajo en el que te encuentras logueado en la terminal. Eso significa que cualquier comando de Bash que tenga relación con la gestión de ficheros y directorios, se aplicará referenciado en ese directorio.

Cd

El comando cd te permite cambiar de directorio de trabajo. Sería el equivalente a ingresar o entrar en la carpeta pero desde la consola. Básicamente requiere indicar el nombre del directorio en el que deseas moverte. Acepta rutas absolutas y relativas. A continuación tienes algunos de los múltiples ejemplos de su uso:

$ cd /home/usuario/Documentos

El comando de arriba te llevará al directorio Documentos dentro de la carpeta personal del usuario usuario1. En este caso he utilizado una ruta absoluta, empezando por el directorio raíz /, e indicando el camino completo hasta situarme a Documentos

$ cd

Esta sentencia la puedes utilizar siempre que quieras volver a situarte al directorio principal de usuario, que en este caso seria en /home/usuario1. Muy interesante siempre que queramos volver al punto de partida (ojo, no confundir eso con ir al directorio raíz, que sería el directorio /)

$ cd Documentos

Igual que en el primer ejemplo, con esta sentencia (arriba) te situarás dentro del directorio Documentos, que debe estar dentro del directorio de trabajo actual. La diferencia es que en este caso, aprovechando que estoy dentro del directorio principal de usuario, he utilizando una ruta relativa sin necesidad de indicar el camino completo.

$ cd ..

Esta otra sentencia la puedes utilizar para saltar un directorio hacía atrás respecto del que te encuentres. De este modo, si te encuentras dentro del directorio /home/usuario1/Documentos, saltarás un nivel hacía arriba hasta situarte en /home/usuario1.

$ cd ../..

Esta opción es similar a la anterior, pero ahora te permitirá saltar de golpe dos directorios hacia atrás. Por tanto, si estabas en /home/usuario1/Documentos, ahora saltarás a /home.

Hasta aquí, tienes algunos usos simples para moverte a través de las diferentes carpetas. A continuación, y teniendo claro lo anterior, podemos pasar a aprender a listar archivos y directorios.

Listar el Contenido de un Directorio, Buscar Archivos, etc.

Anuncios

Visto ya como moverte a través de carpetas, que mejor que continuar como poder listar el contenido de un directorio, encontrar o localizar archivos concretos por su nombre o su extensión, etc.

Ls

Con el comando ls podrás listar los diferentes archivos y directorios de la carpeta de trabajo en la que te encuentres. El comando acepta multitud de opciones, algunas de las cuales te mostraré a continuación.

$ ls

El de arriba es el uso más simple del comando ls. Si no le indicas ninguna opción, te enumerará todos los archivos y directorios que se encuentran en la carpeta de trabajo actual, sin tener en cuenta archivos ocultos.

$ ls -a

Con esta opción, el comando te mostrará, en forma de lista, todos el contenido que se encuentre dentro del directorio de trabajo, incluyendo, además, archivos y carpetas ocultos.

$ ls -l

Esta opción es similar al primer caso, pero muestra el contenido en forma de lista e incluye información referente a cada elemento. Se usa muchísimo y es especialmente útil a la hora de conocer el propietario y los permisos de cada fichero.

Estas son sólo algunas de las muchísimas posibilidades de las que disponemos para nombrar o listar el contenido de un directorio, desde la terminal de Linux. Existen muchas opciones más, las cuales puedes explorar en todo momento haciendo uso del comando man ls.

Find

El comando find es muy similar en su función básica a ls, ya que de entrada sirve para listar todo el contenido de un directorio. La diferencia es que, aplicando filtros, te puede servir para buscar archivos de forma más precisa.

$ find

La sentencia más básica te listará todo el contenido del directorio de trabajo actual de forma recursiva. La diferencia respecto a ls es justamente que find no se limitara a mostrar los archivos y directorios de primer nivel, sino que también te mostrará el contenido de estos, y así recursivamente hasta recorrer todos los niveles hacía abajo.

$ find ./Documentos

Con esta opción, find te listará todos el contenido del directorio Documentos (dentro del directorio de trabajo actual) también de forma recursiva, recorriendo todos los niveles hacía abajo.

$ find ./Documentos -name archivo.txt

Si quieres empezar a establecer filtros por nombre, puedes añadir el parámetro -name. En este ejemplo, estamos intentando localizar un archivo concreto dentro de Documentos que su nombre corresponda a archivo.txt.

$ find ./Documentos -name *.pdf

Incluso puedes hacer filtros más concretos gracias al uso de comodines. En el caso de arriba, por ejemplo, estamos buscando en la carpeta Documentos todos los archivos que con la extensión .pdf, al igual que puedes hacerlo con cualquier otro tipo de extensión.

Locate

El comando locate es una alternativa útil a find la hora de localizar archivos o directorios que no recuerdas donde tienes. Aquí tiene algunos ejemplos que te pueden ser de gran utilidad:

$ locate archivo1.txt

En este caso tienes un claro ejemplo de como realizar una búsqueda simple del archivo archivo1.txt directamente por su nombre. Es útil solo si sabes el nombre exacto del elemento que estás buscando.

Crear, Borrar, Copiar y Mover Archivos y Directorios

En esta parte conocerás todos los comandos necesarios a la hora de realizar acciones tales como: crear un nuevo directorio, copiar un archivo y pegarlo en otra ubicación, mover ficheros de una ubicación en otra, etc. Esta es probablemente la parte del post de la que podrás sacar mas jugo, así que vayamos allá;)

Mkdir

El comando mkdir te permitirá crear un directorio con el nombre y la ruta que especifiques. Si no le indicas ninguna ruta, por defecto, te creará la carpeta dentro del directorio de trabajo en el que te encuentres. A continuación tienes algunos ejemplos sencillos.

$ mkdir /home/usuario1/directorio1

En el caso de arria, mkdir te creará el directorio de nombre directorio1, en la ruta que le hayas especificado, en este caso dentro de la carpeta principal de usuario.

$ mkdir directorio2

Con esta sintaxis, el comando te creará una carpeta de nombre directorio2 dentro del directorio de trabajo en la que te encuentres (recuerda utilizar pwd para saber donde estás).

Estos son las dos principales maneras de crear carpetas en Linux desde la consola. Asimismo, si quieres profundizar más en el uso de este comando, puedas explorar otras muchas opciones a través del comando man mkdir. Como ves, crear una carpeta en Linux desde la consola, es igual de fácil que hacerlo desde el menú gráfico del navegador de archivos

Rmdir

El comando rmdir te permite eliminar el directorio que le especifiques. Para poder utilizar este comando, el directorio a borrar debe estar vacío. A continuación tienes un par de ejemplos.

$ rmdir /home/usuario1/directorio1

En este caso, rmdir borrará el directorio de nombre directorio1, que se encuentra en la ruta especificada, en este caso dentro de la carpeta de usuario.

$ rmdir directorio2

En este otro ejemplo, el rmdir eliminará el directorio de nombre directorio2, el cual debe encontrarse dentro de la carpeta en el que te encuentres. De lo contrario, indicará que el directorio no existe.

Rm

El comando rm te permite eliminar archivos sueltos y directorios que no se encuentren vacíos. A continuación tienes algunos de los usos principales del comando.

$ rm /home/usuario1/archivo1.txt

En este caso, rm te borrará el archivo de texto archivo1.txt, que se encuentra en la ruta especificada, para este caso dentro de la carpeta de usuario.

$ rm -r /home/usuario1/directorio1

Con esta opción, rm borrará el directorio directorio1 de forma recursiva. Esto significa, incluyendo todos los archivos y subdirectorios que se encuentren dentro de él (pidiéndote, eso si, confirmación para cada archivo).

 rm -rf /home/usuario1/directorio1

Si te quieres saltar el paso de tener que confirmar archivo por archivo que realmente deseas borrarlo, con este comando borrarás todo el contenido del directorio sin advertencias.

Eso si, mucho ojito con rm, puesto que dependiendo de como lo uses, puede dar cabida a situaciones como esta. Se trata de ser consciente de como funciona y de los parámetros que estas introduciendo en cada momento.

Cp

Usando el comando cp, seras capaz de copiar archivos y directorios, así como ubicarlos en otras rutas. A continuación, tienes un par de ejemplos de como se puede utilizar.

$ cp archivo1.txt archivo2.txt

Este es posiblemente el uso más simple de cp. Con esta forma, crearás una copia del archivo archivo1.txt la cual se guardará con el nombre archivo2.txt. En este caso, el archivo de partida debe encontrarse dentro del directorio de trabajo en el que estés.

$ cp /home/usuario1/archivo1.txt /tmp/archivo2.txt

Alternativamente, puedes especificar la ruta en la que se encuentra el archivo de partida, de nombre archivo1.txt, y la ruta del directorio dentro del cual quieres que se guarde la copia, en este caso dentro del directorio tmp.

Como en todos los casos, puedes explorar muchas más opciones tecleando man cp en la consola. Y antes de acabar con cp, te dejo a continuación un par de truquillos que te pueden venir muy bien (esto ya como guindilla del pastel)

Mv

El comando mv te servirá para mover archivos desde la consola. Sería lo equivalente a arrastrar un archivo desde una ubicación a otra. La sintaxis es muy sencilla, solamente debes especificar la ubicación de inicio, incluyendo el nombre del archivo, y la ubicación de destino. También puedes modificar el nombre del archivo en su ubicación de destino.

mv /home/usuario1/Descargas/archivo1.txt /home/usuario1/Documentos/archivo1.txt

En este ejemplo de arriba estamos moviendo el archivo de nombre archivo1.txt desde la carpeta Descargas hacía la carpeta Documentos. Para ello hemos utilizado rutas absolutas.

mv Descargas/archivo1.txt Documentos/archivo1.txt

En este otro ejemplo he hecho exactamente lo mismo pero utilizando una ruta relativa, suponiendo que nos encontramos en la carpeta de usuario dentro de la Home.

Aquí Puedes Consultar el resto de Artículos de esta Serie

Este es nada menos que el segundo post de una serie de artículos dedicados al uso de la línea de comandos en Linux. Puedes echarle un ojo al primer artículo de la serie en el enlace que te acabo de dejar arriba.

Si te animas a continuar, tienes el resto de posts de la serie enlazados justo debajo. Espero que los disfrutes;)

  1. Introducción al uso de la línea de comandos
  2. Manejar archivos y carpetas por consola
  3. Obtener información del sistema
  4. Escanear el contenido de un archivo de texto
  5. Cerrar o finalizar procesos
  6. Comparar archivos de texto
  7. Comprimir y descomprimir ficheros
  8. Comandos para iniciar o detener servicios

Y ya para acabar, solo me queda decir que espero que hayas disfrutado la entrada, te haya sido útil, y ya sabes que como siempre me encantara leer tus dudas o sugerencias en la sección de comments debajo.

Así que, ya sin más, me despido con un fuerte abrazo y esperando verte en el próximo post. Hasta la próxima;)

Categorías LinuxEtiquetas

31 comentarios en “La Terminal de Linux (II). Comandos para Manejar Archivos y Carpetas

  1. miller casablanca 21 Oct 2020 — 21:01

    Gracias, muy ilustrativa tu explicación.
    Te pregunto algo por si alguien me puede ayudar, cómo puedo seleccionar la última carpeta creada en un archivo, es con el fin de terminar de construir un código para realizar un backup automático.

    Muchas gracias de antemano

    Me gusta

  2. Gràcies tocaio, un 10 en pedagogia.

    Me gusta

    1. Sr, esto es un Super humilde gesto para los que comenzamos,cuando se comienza abunda el temor, otros al explica hacen este plato inaccesible , muchas gracias por trabajar para los mas relegados, Dios te bendiga

      Me gusta

  3. hola. quiero hacer un mv de una carpeta, pero renombrando su contenido, es decir si los ficheros que hay dentro tienen espacios, reemplazar el espacio con un _

    Como lo podemos hacer?

    Me gusta

  4. Miguel Ángel Chavez 24 Abr 2018 — 00:37

    Hola Orio, un aporte muy básico para los que estamos empezando a usar Linux, Ubuntu y sus derivados. Yo soy nuevo en el entorno de Linux y tengo que crear un directorio activo (lo que se conoce en Windows como Active Directory) y espero poder lograrlo. Saludos…

    Me gusta

  5. Buenas,
    Gracias por tu página,
    Soy muy nuevo en esto de Ubuntu, y estoy pasándolo realmente mal. La última actualización de mi Ubuntu 16.04 LTS hizo crash. Me he quedado sin poder acceder a todos los documentos de un curso que estoy haciendo. Estoy intentando instalar de nuevo Ubuntu, pero solo logro instalar un usb bootable. Mi pregunta es si desde ahí (USB) puedo recuperar los archivos. He usado photorec y creo que he recuperado los documentos pero ahora no se sacarlos a un disco duro que tengo… Ayuda, por favor.

    Me gusta

    1. Hola Kiko,

      Lamento tu reciente experiencia con Ubuntu 16.04. En teoría, si no tenías el disco duro cifrado, con cualquier USB bootable o Live CD, debes ser capaz de ver todo el contenido del disco (por lo que comentas, imagino que ya es el caso).

      A partir de ahí, si has entrado con el sistema mediante el USB bootabe, debes poder recuperar todos los archivos a que tengas acceso. Puedes, por ejemplo, conectar otro pendrive USB, y desde el entorno Live, pasar los archivos del disco duro al nuevo pendrive. ¿Has probado con esto?

      Me gusta

  6. Daniel Morillo Torres 21 Jun 2017 — 03:17

    Hola, muchas gracias por el manual básico del bash. Quería comentarte sobre un error tipográfico:
    Cuando mencionas el comando:
    ———————————————————————————————————–
    $ rmdir directorio2
    En este otro ejemplo, el comando «creará» el directorio de nombre directorio2, el ….
    ———————————————————————————————————-
    Creo que la palabra «creará» debe ser «eliminará».

    Gracias de nuevo por tu post, soy novato en linux y quiero aprender a manejarlo.

    Me gusta

    1. Muchísimas gracias Daniel!
      Lo acabo de corregir;)

      Nos vemos!

      Me gusta

  7. Hola Oriol
    Dentro de mi equipo tengo una partición en Windows, y he creado un directorio sin nombre. ¿Cómo puedo acceder a este directorio desde la terminal?
    Muchas gracias y buen blog

    Me gusta

    1. Disculpad, la pregunta va dirigida a Yuri, no a Oriol

      Me gusta

      1. Hola Javier, disculpa la tardanza.

        Si tienes una partición con Windows y quieres acceder a ella desde GNU/Linux, primero la tienes que montar (lo puedes hacer con el navegador de archivos fácilmente). Normalmente suelen montarse dentro del directorio media.

        Para acceder a su contenido, primero de todo puedes dirigirte dentro de media con el siguiente comando:

        cd /media

        Una vez hecho esto, puedes consultar el contenido con este comando:

        ls -l

        Generalmente te aparecerá un directorio con tu nombre de usuario (los volúmenes de montan en una carpeta, dentro de medi, específica de cada usuario).

        cd nombre-usuario

        Si te has situado dentro, puedes consultar su contenido, que serán todos los volúmenes que tienes montados desde tu cuenta de usuario actual en GNU/Linux.:

        ls -l

        Aquí podrás identificar el nombre del volumen referente a la partición Windows. Puedes situarte dentro de él con:

        cd nombre-volumen

        Hecho esto, si conoces la ruta exacta donde se encuentra el directorio, la pones directamente en el siguiente cd. Si no, puedes hacerlo por pasos como hasta ahora. Si la tienes dentro de Documentos, por ejemplo, la ruta típicamente sería:

        cd Users/nombre-usuario/Documents

        Lo que no me queda claro es como has creado un directorio si nombre en Windows. En cualquier caso, puedes probar de introducir dos comillas dobles sin nada entre ellas, al final de la ruta donde indicarías el nombre del directorio final.

        Espero que te haya servido de ayuda, sino dime;)

        Me gusta

  8. Que curso tan bueno este, vi unos videos pero no se si es que me va mejor la lectura o es la forma de enseñar que muestra aquí Oriol, gracias de verdad, eres una buena persona, recibiras muchas cosas buenas por ayudar a otros amigo

    Me gusta

  9. Estoy tratando de montar una partición de un disco rigido, probé con los tutoriales que encontré y uno de ellos es bastante sencillo además que está repetido el mismo procedimiento en otra dirección. El problema que tengo es que al ejecutar la linea del montaje me sale : /media/RESPALDO es un directorio, a pesar de que seguí todos los pasos que propone el tutorial.
    Bueno alguna aclaración me seria de gran ayuda, gracias.

    Me gusta

  10. No tengo ni puta idea sobre linux voy aprendiendo de apoco esto me fue util muchas gracias saludos !!

    Me gusta

    1. Jeje, me alegro!!

      Gracias!

      Me gusta

  11. Demasiado útil el articulo, ademas que es fácil de comprender. Gracias

    Me gusta

  12. Hola, gracias por el articulo y animo para seguir adelante.

    Me gusta

  13. Bertoldo Suarez Perez 14 Ene 2016 — 06:26

    Hola Oriol y blog.
    Me doy cuenta que al intentar abrir una unidad móvil cuyo nombre le había puesto «LG Interna», no me deja cambiar a ese directorio desde Terminal, ¿es por el espacio sin caracter?:
    cd /media/vortex-mint/LG INTERNA
    bash: cd: /media/vortex-mint/LG: No existe el archivo o el directorio

    Me gusta

    1. Hola Bertoldo,
      Si, efectivamente es por el espacio. Si pruebas de indicar la carpeta entre comillas te debería funcionar. Seria asi:

      cd /media/vortex-mint/"LG INTERNA"

      Me gusta

  14. Está de lujo y mejor explicado no se puede, gracias

    Me gusta

    1. Gracias por el comment Adair:)

      Me gusta

  15. Muchas gracias!!! por fin empiezo a entender….

    Me gusta

    1. De nada Marta,
      Me alegro mucho!!

      Me gusta

  16. Valentin Hernandez 12 Mar 2015 — 08:36

    con que comando se muestra la direccion de un archivo?

    Me gusta

  17. Gracias

    Me gusta

  18. Muchísimas gracias amigo, un tutorial hecho para gente que se está iniciando en linux como yo =) fácil y claro. Sigue así.

    Me gusta

    1. Me alegra oírlo:))
      Y gracias a ti por escribir;)
      Saludos!

      Me gusta

  19. me sirvio gracias

    Me gusta

    1. De nada, gracias a ti por pasarte;)

      Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.