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:
- Desplazarte a través de los diferentes directorios
- Listar el contenido de un directorio, buscar archivos, etc.
- Crear, borrar y copiar ficheros y directorios
- 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.
To do a search by file names using find, -name is case-sensitive and -iname is case-insensitive.— Unix tool tip (@UnixToolTip) January 19, 2016
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.
Fuente: https://computernewage.com