Manejar archivos y carpeas desde la Terminal de Linux

Como Manejar Archivos y Carpetas desde la Terminal de Linux

Muy buenas lector, en esta guía quiero centrarme en que aprendas todo lo necesario para manejar archivos y carpetas en Linux a través de la línea de comandos. 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.

Dicho esto, y centrándome ya en lo que nos toca hoy, 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;)

En este post verás:

Comandos para Desplazarte a través de los diferentes directorios

Empezando por el primero grupo, aquí verás todo lo necesario para aprender situarte en un punto de partida ya desplazarte 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.

$ 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. Cualquier comando para manejar archivos y carpetas, se aplicará en ese directorio.

cd

El comando cd te permite cambiar de directorio de trabajo. Sería el equivalente a 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 ejemplos:

$ cd /home/usuario/Documentos

Este comando 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.

$ cd Documentos

Igual que en el primer ejemplo, con esta sentencia 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 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 del sistema de archivos de Linux. A continuación, y teniendo claro lo anterior, podemos pasar a aprender a listar archivos y directorios.

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

Visto ya como moverte a través de carpetas, que mejor que continuar como poder listar el contenido de un directorio, 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

Este 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 los permisos de lectura, escritura y ejecución de cada archivo.

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 elementos 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 directorio de cero, 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 este caso, el comando 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á el directorio de nombre directorio2 dentro de la carpeta 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 terminal. Asimismo, si quieres profundizar más en el uso de este comando, puedas explorar otras muchas opciones a través del comando man mkdir.

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, el comando 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 comando creará 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, el comando 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, el comando te borrará el directorio directorio1 de forma recursiva, esto es, 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.

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 del comando. Con esto 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.

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, 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

Como he dicho al principio, este es el primer post (sin contar el artículo introductorio que ya te he enlazado al principio de la guía) de una serie de artículos enfocados al uso de la línea de comandos en Linux.

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

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;)

Anuncios

18 comments

  1. fernando · noviembre 7

    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

  2. Seo · septiembre 3

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

    Me gusta

  3. Orion · agosto 2

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

    Me gusta

  4. Pingback: Apuntes | memoriasintitulo
  5. carlosseof · abril 27

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

    Me gusta

  6. Bertoldo Suarez Perez · enero 14, 2016

    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

    • Yuri · enero 14, 2016

      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

  7. Adair · octubre 29, 2015

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

    Me gusta

  8. Marta · abril 28, 2015

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

    Me gusta

  9. Valentin Hernandez · marzo 12, 2015

    con que comando se muestra la direccion de un archivo?

    Me gusta

  10. Javier · marzo 11, 2015

    Gracias

    Me gusta

  11. david · septiembre 25, 2014

    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

  12. mrtux · septiembre 16, 2014

    me sirvio gracias

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s