Linux Structure: Manage files & folders, desde la terminal

En este artículo aprenderéis (- esa es la idea -) todo lo necesario para manejar archivos y carpetas en Linux a través de la línea de comandos. Este es el segundo artículo dedicado al – “uso de la línea de comandos en Linux. Puedes dar un vistazo al primer artículo desde el siguiente enlace.

M.A.Y.Carp (d.l.term) - BLOG - 2

Si careces de experiencia en el uso de la terminal, 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 cuatro grupos.


Comandos para moverte a través de los diferentes directorios

M.A.Y.Carp (d.l.term) - BLOG - 3

Comenzando por el primero grupo, aquí verás todo lo necesario para aprender a situarte en un punto de partida y a desplazarte a través de los diferentes directorios. Empezaremos por el más sencillo de todos pero no por ello menos importante

M.A.Y.Carp (d.l.term) - BLOG - 4

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, pero muy útil en ciertas ocasiones.

$ pwd

Esta es la única sintaxis que realmente necesitas conocer de este comando. Te indica la ruta del directorio de trabajo en el que te encuentras conectado (login) en la terminal. Cualquier comando para manejar archivos y carpetas, se aplicará en ese directorio.

M.A.Y.Carp (d.l.term) - BLOG - 5

El comando cd te permite cambiar de directorio de trabajo. Generalmente requiere que le indiques el nombre del directorio en el que deseas moverte. Acepta rutas absolutas y relativas. A continuación tienes algunos ejemplos de su uso.

$ 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.

M.A.Y.Carp (d.l.term) - BLOG - 6

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, todo 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 más opciones, las cuales puedes explorar en todo momento haciendo uso del comando man ls.

M.A.Y.Carp (d.l.term) - BLOG - 7

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 lses 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á todo 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.

M.A.Y.Carp (d.l.term) - BLOG - 8

El comando locate es una alternativa útil a find la hora de localizar archivos o directorios que no recuerdas donde tienes. Aquí tienes un ejemplo 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.

Comandos para crear, copiar y borrar archivos y carpetas

Comenzando por el primer grupo, aquí verás todo lo necesario para aprender situarte en un punto de partida ya desplazarte a través de los diferentes directorios.

M.A.Y.Carp (d.l.term) - BLOG - 9

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 nombredirectorio1, 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 nombredirectorio2 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 un directorio desde la terminal de Linux. Asimismo, si quieres profundizar más en el uso de este comando, puedas explorar otras muchas opciones a través del comando man mkdir.

M.A.Y.Carp (d.l.term) - BLOG - 10

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 nombredirectorio1, 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 nombredirectorio2, el cual debe encontrarse dentro de la carpeta en el que te encuentres. De lo contrario, indicará que el directorio no existe.

M.A.Y.Carp (d.l.term) - BLOG - 11

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 textoarchivo1.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.

M.A.Y.Carp (d.l.term) - BLOG - 12

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.

Para terminar, espero que hayáis disfrutado de este artículo y nos vemos en el siguiente… 😉

Salu2


TonyHAT - 163

Anuncios

Un comentario en “Linux Structure: Manage files & folders, desde la terminal”

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

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