Una vez has aprendido a moverte entre carpetas y como listar los contenidos de las carpetas, puedes aprender cómo manipular archivos.
Cómo crear un directorio (mkdir)
El comando mkdir de Make Directory es muy fácil de usar, simplemente escribe delante del comando el nombre del directorio que quieres crear:
mkdir DirectorioInteresante
También puedes crear varios directorios al mismo tiempo.
mkdir DirectorioInteresanteSecretosDeEstado
Cómo crear archivos (touch)
El comando touch funciona igual que el comando mkdir, solo escribe el nombre de los archivos que quieres generar delante del comando.
touch Secreto1Secreto2SecretoSecretario
Cómo copiar archivos (cp)
Para copiar un archivo usando la terminal solo debes escribir el comando cp (cp es de Copy) seguido del nombre del archivo que deseas copiar y, por último, el nombre con el que quieres que se guarde la copia.
La sintaxis para el comando mv (mv es de Move) es igual que la del comando cp. Primero el nombre del archivo que quieres mover y luego a donde se va a mover.
mv [archivoParaMover][destinoDelArchivo]
mv SecretoQueSeHizoPublico../SecretosPublicos/
Cómo eliminar archivos (rm)
Otra vez, la sintaxis es muy sencilla. Solo debes escribir el nombre o la ruta del elemento que quieres eliminar delante del comando rm (rm es de Remove)
rm [nombreDelArchivoParaEliminar]
rm SecretoQueNadieDebeVer
El comando rm tiene varias opciones. Las más usadas son:
-i (de interactive) te pregunta si estás seguro de eliminar el archivo
-r (de recursive) elimina todo lo que esté dentro de una carpeta
-f (de force) fuerza a borrar todo.
Veámoslo en consola:
La opción -f se usa cuando no puedes borrar algún archivo, bien sea porque algo lo está usando o porque se está ejecutando.
Tabla de comandos
Aquí tienes una tabla que te ayudará a recordar todos estos comandos:
Comando
Función
mkdir
Make Directory Crea carpetas
touch
Crea archivos
cp
Copy Copia archivos
mv
Move mueve archivos
rm
Remove elimina archivos o carpetas
Contribución creada por: Miguel Gonzalez.
Gestión de Archivos y Directorios en la Terminal Linux
Si te preguntaste esto es porque seguramente aún no te has dado cuenta de lo peligroso que es eliminar algo. Cuando tú eliminas algo desde la terminal, este archivo/carpeta se elimina... PARA SIEMPRE*chan, chan chan*.
.
Con esto me refiero a que ese archivo que eliminaste NO se va a mover al basurero, sino que directamente se va a eliminar, y la única forma de recuerarlo podría ser con algún programa que lea sector por sector de tu disco duro.
.
He visto por ahí cuando alguien pregunta por cómo eliminar una carpeta, el comando que más comparten es rm -rf carpeta sin saber exactamente qué es lo que hace, ahora ya saben que poner esa "f" como parámetro es muy peligroso. Con poner "r" basta, esto porque el borrado es recursivo básicamente recorrerá cada subcarperta/archivo y las irá borrando uno por uno.
.
#################################
DANGER ZONE
#################################
.
Ahora quiero explicarte por qué este comando es peligroso, tanto que puedes llegar a eliminar tu sistema operativo, NO CORRAS ESTE COMANDO POR NADA DEL MUNDO.
.
Imagina que quieres eliminar alguna carpeta de tu computadora usando la terminal, y por alguna razón decides usar una ruta absoluta:
rm -rf / home/tuUsuario/carpetaAEliminar/
Todo bien.. ¿verdad? Bien, si ejecutaras este comando todo tu sistema operativo desaparecería, ¿por qué? quiero que te fijes cómo entre el / y la palabra home hay un espacio... ¿recuerdas qué significaba esa /? Ya lo vimos 👀... Así es, la carpeta raíz, la carpeta donde vive todo tu sistema operativo, y le estás diciendo que la elimine a la fuerza, ese espacio indica que la a eliminar dos carpetas, primero eliminará / y luego eliminará home/tuUsuario/carpetaAEliminar/.
.
El comando correcto que deberíamos usar es:
rm -rf /home/tuUsuario/carpetaAEliminar/
Aquí ese espacio no existe, por lo que todo iría bien, quiero que te fijes cómo con un pequeño error, puedes eliminar todo. Por esom siempre ten cuidado al usar este comando, y de preferencia... ¡Usa el modo interactivo! :D
Ese comando -i no lo conocia y es muy pro la parte de seleccionar que archivo eliminar y que carpetas eliminar este curso esta muy bueno
El comando rm da más miedo que cuando tu novia te dice que aun no le ha bajado, o cuando haces un delete from sin el where.
Hola. Si a alguno de ustedes no les funciona el comando 'tree' puede que no lo tengan instalado. Primero deben checar si lo tienen con el siguiente comando:
$ tree --version
Si no les da ninguna versión de tree, entonces no lo tienen. Para instalarlo deben de escribir los siguientes comandos en la terminal como sudo:
$ sudo apt-get install tree
Después de la instalación, debemos ingresar la siguiente linea para asegurarnos que tenemos la ultima versión:
$ sudo apt-get update
Y ahora para checar que tienen instalado tree y la versión mas reciente que es la v1.8.0, hay que ingresar de nuevo:
$ tree --version
Espero le haya servido a alguien :)
Me sirvió mucho el aporte. Muchas Gracias.
una pregunta, estoy haciendo el curso en cmder y solo me permite utilizar el comando "tree", pero no "tree -L 2" no se si el comando cambie o tengo que instalar el paquete
Corre el comando tree en la carpeta home
🤣🤣
XD
++Mostrar información del directorio:++
ls :Lista el contenido de los directorios (por defecto ordena la salida alfabéticamente).
++Alguna de sus opciones (argumentos) más útiles son:++
-a :todos los archivos, incluso los que comienzan con punto (.).
-A :Lista todos los ficheros en los directorios, excepto los que comienzan con punto . (.) y los que comienzan con doble punto (..).
-S :clasifica los contenidos de los directorios por tamaños, con los ficheros más grandes en primer lugar.
-r :invierte el orden de la salida.
-R :Lista recursivamente los subdirectorios encontrados.
-t :ordenar por fecha de última modificación.
-u :ordenar por fecha de último acceso.
-x :presenta los ficheros por columnas.
-i :precede la salida con el número de i-node
ejemplos:
ls -lt :muestra los archivos del mas actual al mas antiguo
ls -ltr :muestra los archivos del mas antiguo al mas actual
ls -lh :muestra de forma mas legible el tamaño de los archivos
ls -lhS :muestra de forma ordenada los archivos por su tamaño
ls -la :muestra los atributos de los archivos y los archivos ocultos
Gracias por tu gran aporte, es importante saber sobre ellos.
Pero crees que es indispensable que uno los recuerde siempre?
Hola Joel, Claro que si, por ejemplo, en archivos multimedia (para ver su tamaño en Mb, MB, GB), priorizar los archivos que has editado y cuando trabajas con git, es necesario ver los archivos ocultos como: [".git/ ", ".gitingore", ".dockerignore"], y para eso tendrías que utilizar:
ls -ath
pero para no memorizarte ese comando, yo ocupo los "alias" que se configuran en el archivo: ~/.bashrc
de la siguiente manera:
alias lh='ls -ath'
Manipular archivos
mkdir <nombre_directorio>: crea un directorio también puedes añadir la ruta
touch: crea un archivo, si no indicas la extension por defecto sera .txt
cp <archivo> <ruta>: nos permite duplicar archivos, para duplicar directorios con su contenido añadir el modificador -r que indica recursividad
mv <archivo> <ruta> : mover un archivo hacia un directorio. También se usa para renombrar archivos mv <archivo> <nuevo nombre> no olvidar la extension del archivo
Para mover directorios añadir el modificador -r
rm: elimina archivos, con -i indica un mensaje de confirmación en consola para tener mas control sobre la elección de que archivos queremos eliminar. Para eliminar un directorio añadir -r y -ri para usar el mensaje de confirmación
tree : sirve para visualizar la estructura dentro de una ruta. Para ver cierta cantidad de niveles se utiliza "-L 2", donde el número representa la cantidad de niveles que se va a imprimir, en este caso es 2.
You rock
Un consejo para mayor seguridad y siempre ejecutar el comando iterativo de rm es agregarlo como alias a .bashrc
alias rm ='rm -i'
Reinicias tu terminal y al hacer rm siempre será en modo iterativo.
Es un buen consejo cuando uno esta iniciando con la terminal y no quiere borrar cosas por accidente
Vea pues, que buena idea
Notas :smile:
Manipulando archivos y directorios.
Todo lo que hacemos normalmente en una interfaz gráfica, lo podemos hacer en la terminal 👀.
ls: Algunas variantes:
ls -la: Nos muestra todo, incluso los ocultos.
ls -lS: Los ordena por tamaño.
ls -lr: Los muestra en reversa.
tree: Nos muestra todo, lo que hay dentro de cada carpeta, en forma de arbol 🌲. Podemos elegir el nivel de profundidad con tree -L <numero de niveles>
mkdir <nombre de directorio>: Para crear un directorio nuevo 📁. No es buena idea en general poner espacios en el nombre de los directorios. Si lo quieres hacer, usa comillas "Nombre con espacios".
touch <nombre de archivo>: Para crear archivos vacíos. Puedes crear varios con un solo comando 📄.
cp <archivo a copiar> <nuevo archivo>: Para copiar un archivo. Si no se pone una ruta en el nombre del nuevo, se va a copiar en el directorio donde estés 🖨️.
mv <archivo> <archivo con nueva ruta>: Para mover archivos a otra ruta. También te sirve para renombrarlos 💫, funciona con directorios y con archivos.
rm <archivo>: Elimina archivos. Hay una opción muy útil que es rm -i <archivo>(interactivo) que te pregunta explícitamente si en verdad si quiere borrarlo 😟. Funciona de manera directa para directorios vacíos, pero si hay archivos dentro, debes usar la opción recursiva rm -r <directorio>, que lo que hace es ir borrando todo lo que hay dentro y al final borra el directorio 🔫. Te va preguntando por cada cosa.
Ojo: Lo que borras desde la terminal se borra para siempre 😟.
Para desplegar el contenido de un folder en específico con tree puedes hacer el siguiente comando:
$ tree folderName
!tree
Sí! :D
Con tal de que le pongas una ruta también funciona
Gracias por el dato :)
Si usas “Windows Subsystem for Linux” sobre windows y la instrucción “tree” no te funciona, ejecuta las siguientes instrucciones:
1-Actualiza el listado de repositorios de linux con el comando “sudo apt update”.
2- Actualiza el sistema con “sudo apt upgrade”.
3- instala la instrucción “tree” con el comando “sudo apt install tree”.
Este comentario me salvo, instale el wsl con una distro de ubuntu, pero el sudo apt no fue suficiente por que me salia
"E: Unable to locate package tree"
Con el update y el upgrade si me funciono Gracias!
Sos el mas qenial sea quien seas love you, me salvaste.
Comparto mis notas sobre manipular archivos y directorios en la terminal
Mostar
Ordenar
Desplegar en árbol
Crear directorios
Crear archivos
Copiar
Mover
Borrar
Está muy cool tus apuntes.
¿Qué tool utilizas?
Muchas gracias por las notas, podrías indicarme con que herramienta las hiciste
✨ Los comandos que se dan a conocer son esenciales para gestionar archivos y directorios de nuestro computador.
buen dato
Concuerdo con usted, estimado :)
Apuntes
Comandos
ls -la: Muestra todos los archivos, incluso archivos ocultos
ls -lS: Muestra los archivos ordenados por tamaños
ls -lr: Muestra los archivos en orden descente alphabeticamente
tree: Muestra todos los archivos en forma de arbol
tree -L 2: Muestra los archivos en forma de árbol, especificamente, dos niveles.
mkdir: Permite crear un directorio. Ejemplo: mkdir miDirectorio
mkdir dir1 dir2 dir 3: ****Permite crear varios directorios
touch: Crear un archivo: Ejemplo: touch miArchivo
touch file1 file2 file2: Permite crear varios archivos
cp: Permite copiar archivos. Ejemplo: cp file1 file_bk
mv: Permite mover un archivo. Ejemplo: mv file_bk ..
mv file_bk fileCopy: ****Te permite renombrar un archivo.
rm: Permite borrar un archivo, ejemplo: rm miArchivo
rm -i miArchivo: Permite borrar un archivo de forma interactiva
rm -r: Borra de manera recursiva, ejemplo: rm -r dir1
rm -ri dir1: Borra de manera recursiva e interactiva
rm -rf: Borra de manera recursiva y forzada
Gracias por los apuntes.
Me pareció muy útil el flag para borrar archivos de forma interactiva. Muy seguro y útil en un script, por ejemplo.
rm -i
Si el comando "tree" no funciona es porque no lo tiene instalado, para el caso de ubuntu o alganas de sus distrios deribadas pueden usar el comando:
sudo apt install tree
Para sistemas OSX o computadores mac lo puedes instalar con
brew install tree
Gracias @Julian Pineda ... Ninguna opción me había funcionado
Resumen de la clase
Clase 3 – Manipulando archivos y directorios
¿Para qué nos sirve el comando ls -al?
Lista nuestros archivos y directorios incluidos los ocultos.
¿Cómo sabemos que un archivo o directorio es oculto?
Cuando tiene un punto (.) antes del nombre de dicho archivo o directorio:
.nombre-directorio o .nombre-archivo
¿Para qué nos sirve el comando ls -lS?
o Nos lista nuestros archivos y directorios del más pesado al más liviano.
¿Para qué sirve el comando ls -lr?
Para listar nuestros archivos y directorios de manera alfabética, pero de la Z a la A.
¿Para qué nos sirve el comando tree?
Nos despliega todos nuestros directorios con su contenido a manera de árbol.
¿En caso de no tener instalado el comando tree como lo puedo instalar?
$ sudo pacman -S tree # Arch Linux
$yum install tree -y #Centos y Fedora
$ sudo apt-get install tree # Ubuntu
$ sudo aptitude install tree # Debian
Omitir el numeral y el nombre de la distribución.
¿Para qué nos sirve el comando tree -L 2?
Esto nos permite desplegar nuestros directorios con su contenido, pero únicamente profundizando en 2 niveles.
¿Para qué nos sirve el comando mkdir?
Para crear directorios. El nombre del directorio va seguido del comando:
mkdir dir1
¿Se recomienda que creemos directorios en el que su nombre tenga espacios?
No.
¿Cómo podemos crear directorios que en su nombre contenga espacios?
Usamos el comando mkdir y el nombre de este lo encerramos en comillas dobles.
¿Por qué no se recomienda que creemos directorio que tengan en su nombre espacios?
Porque no podemos manipularnos de manera fácil.
¿Cómo podemos crear un archivo?
Con el comando touch y el nombre del archivo.
¿podemos crear múltiples archivos y directorios con una sola instrucción?
Si.
¿Para qué nos sirve el comando cp?
Para copiar archivos.
¿Cómo podemos usar el comando cp?
Luego de que escribamos el comando debemos escribir el nombre del archivo que queremos copiar y luego el nombre que tendrá el nuevo archivo copia:
cp archivo-original archivo-copia
¿Qué pasa si no escribimos una ruta cuando copiamos un archivo?
La copia se creará en el directorio en el que nos encontramos actualmente.
¿Para qué nos sirve el comando mv?
o Para mover archivos y directorios.
¿Cómo funciona el comando mv?
Luego de que escribamos el comando mv debemos escribir el nombre del directorio o archivo que queremos mover y seguido la ruta al lugar en donde queremos mover dicho archivo o directorio:
mv archivo-a-mover destino-a-mover
¿podemos renombrar archivos y directorios con el comando mv?
Escribiendo el comando mv seguido el archivo o directorio que queremos renombrar y seguido el nuevo nombre.
¿Para qué nos sirve el comando rm?
Para eliminar archivos.
¿Cómo funciona el comando rm?
Escribimos el comando rm seguido de este escribimos el nombre del archivo que queremos eliminar:
rm archivo-a-eliminar
¿Para qué nos sirve el comando rm -i archivo-a-eliminar?
Este comando nos permite eliminar archivos, pero agregándole una opción interactiva. Esta función hará que la Shell nos pregunte si de verdad queremos eliminar el archivo.
¿Cómo podemos confirmar la eliminación de un archivo con el comando rm -i archicho-a-eliminar?
Cuando se nos pregunte debemos escribir la letra “y”.
¿el comando rm funciona para eliminar directorios con archivos?
No.
¿Cómo podemos eliminar directorios que tengan elementos dentro de él?
Lo hacemos con el comando rm -r nombre-directorio.
¿Para qué nos sirve el comando rm -rf nombre-directorio?
Para borrar un directorio por la fuerza.
Genial me esta gustando mas que la version pasada
Tiene mejor forma de ensenar
x2
Buenas no me deja usar el comando tree alguien sabe porque? 😃
Debes instalar tree -> sudo apt install tree
Ahora pide una contraseña??
Para los que tienen problemas con el comando "tree" y les sale este mensaje:
"Command 'tree' not found, but can be installed with:
sudo apt install tree"
Ejecuten ese último comando que les sale en el mensaje "sudo apt install tree".
Si después de eso les sale este otro mensaje de error:
"angel@LAPTOP-ABCDEF:~$ sudo apt-get install tree
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package tree"
Ejecuten este otro comando: "sudo apt update"
Y después vuelvan a ejecutar: "sudo apt install tree"
Eso me sirvió para solucionar mi problema, espero que también les ayude a ustedes.
Muchas gracias Angel por tu aporte, me ayudó a resolver el problema, no había logrado instalar el comando. Saludos desde Colombia!!!
ERES MI HERORE
el -i no seria Ejecutar de manera interactiva?
El comando -i sí es ejecutar de modo interativo pero en este caso lo puse como un parámetro de rm, por eso le puse Borrar y no ejecturar.
Me surgió la duda si cp permitía copiar carpetas también.
Y no, no lo permite.
Les dejo la prueba.
Recuerden no usar rm -rf para eliminar cosas :p
si añades el modificador -r podrás copiar un directorio sin problemas
Agradezco tu respuesta y aclaración respecto a mi comentario.
No se me ocurrió ocupar ese flag y probar.
Un saludo!