Header Ads Widget

Ticker

6/recent/ticker-posts

Comandos de archivos y directorios de Linux

 

Los episodios de introducción de archivos de Linux hasta ahora han sido excelentes para una introducción suave sobre cómo comenzar a funcionar con Linux usando Ubuntu. Ahora podemos abordar algunos desafíos aún más interesantes. De hecho, así es como está diseñada para funcionar esta serie Linux. Comenzamos con los conceptos básicos absolutos y pasamos a tareas más desafiantes. En este episodio, veremos cómo copiar, mover, crear, eliminar y, en general, manipular completamente los archivos y directorios en nuestro sistema Linux. Para ello haremos uso de los cuatro comandos más utilizados en el sistema operativo Linux. Esos comandos son cppara copiar archivos y directorios, mvmover y renombrar archivos y directorios, mkdircrear nuevos directorios y rmeliminar archivos y directorios. Hagámoslo.


Cree un espacio aislado de archivos de Linux

La mejor manera de acostumbrarse a estos comandos es simplemente ponerlos en uso. Al igual que lo hacemos con nuestros tutoriales de PHP, HTML y JavaScript, crearemos una caja de arena en la que podemos probar lo que aprendemos. Hagámoslo ahora.


vagrant @ homestead: ~ $ mkdir sandbox
vagrant @ homestead: ~ $ cd sandbox
vagrant @ homestead: ~ / sandbox $ mkdir directory1 directory2
vagrant @ homestead: ~ / sandbox $ cp /etc/passwd .
vagrant @ homestead: ~ / sandbox $ ls -l
total 12
drwxrwxr-x 2 vagabundo 4096 2 de febrero 14:19 directory1
drwxrwxr-x 2 vagrant vagrant 4096 2 de febrero 14:19 directorio2
-rw-r – r– 1 vagrant vagrant 1735 2 de febrero 14:20 passwd
vagrant @ homestead: ~ / sandbox $ mv passwd password
vagrant @ homestead: ~ / sandbox $ mv password directory1
vagrant @ homestead : ~ / sandbox $ mv directory1/password directory2
vagrant @ homestead: ~ / sandbox $ mv directory2/password .
vagrant @ homestead: ~ / sandbox $ mv directory1 directory2
vagrant @ homestead: ~ / sandbox $ tree
.
├── directorio2
│ └── directorio1
└── contraseña

2 directorios, 1 archivo
vagrant @ homestead: ~ / sandbox $

En el fragmento de arriba, completamos varias tareas. Primero, usamos el mkdircomando para crear un directorio llamado sandbox . Una vez que hemos creado esa caja de arena, usamos el cdcomando para movernos a ese directorio. Una vez allí, hacemos un uso adicional del mkdircomando. De hecho, creamos dos directorios de una sola vez. Aquí hay solo un ejemplo simple de dónde la línea de comando es más poderosa que la GUI. Usando la GUI, no puede pasar múltiples argumentos a un comando para lograr la creación de múltiples directorios a la vez como lo hacemos aquí. A continuación, usando el cpcomando, copiamos el archivo passwd ubicado en /etcnuestro directorio actual. Recuerde que el .indica eldirectorio de trabajo actual . El uso del lscomando nos verifica que la copia sea exitosa. Ahora podemos probar el mvcomando. Uno debe estar consciente de lo que están haciendo realmente con el mvcomando, ya que en algunos casos simplemente cambiará el nombre de un archivo o directorio, y en otros moverá archivos o directorios. Aquí lo usamos para cambiar el nombre del archivo passwd a contraseña . Luego, usamos el mismo comando, excepto para mover la contraseña al directorio1 . Luego, movemos la contraseña del directorio1 al directorio2 . A continuación, mvse usa para mover la contraseñadesde el directorio2 de nuevo al directorio de trabajo actual, que es sandbox . Por último, mostramos un ejemplo de cómo mover un directorio completo a otro directorio . Finalmente, confirmamos todo esto con el treecomando para ver que en sandbox, tenemos el directorio1 que contiene el directorio2, y vemos que el archivo de contraseña en sí está en el directorio de trabajo actual de sandbox.


mv Referencia de comando

Dado que hay algunas formas de usar el comando mv, puede ser útil tener una referencia para documentar cómo funciona el comando en diferentes situaciones. Tenga en cuenta la tabla aquí.

mv fileone filetwoMueve fileone a filetwo. En el caso de que exista filetwo, se sobrescribirá con el contenido de fileone. Si filetwo no existe, se creará. De cualquier manera, fileone deja de existir.
mv -i fileone filetwoAl agregar el modificador -i a este comando, el usuario recibirá una advertencia o un mensaje antes de que se sobrescriba algo. Si no está seguro, esto es bueno.
mv archivo un archivo dos directorio 1Esto mueve el archivo uno y el archivo dos al directorio directorio1. directorio1 ya debe existir para que esto funcione.
mv directorio1 directorio2El resultado de este comando cambiará dependiendo de si el directorio2 ya existe o no. Si existe, la totalidad del directorio1 se moverá al directorio2. Sin embargo, si el directorio2 aún no existe, se creará y el directorio1 se moverá a él.

cp Referencia de comando

Del mismo modo cp, querrá saber cuál es el resultado esperado de los comandos que ejecuta.

archivo cp un archivo dosEsto copiaría fileone a filetwo. Si filetwo no existe, se crea. Si existe filetwo, se sobrescribe con el contenido de fileone.
cp -iAgregar el interruptor -i le dará un mensaje antes de sobrescribir cualquier archivo existente.
cp archivo un archivo dos directorio 1Esto copiará tanto fileone como filetwo en el directorio directorio1.
cp directorio1 / * directorio2Al incluir un comodín, todos los archivos del directorio1 se copian en el directorio2. También puede obtener granular, por ejemplo, si solo quisiera archivos html, usaría * .html
cp -r directorio1 directorio2Al agregar el modificador -r, se copiará el directorio directorio y todo lo que contiene, al directorio directorio2. Si el directorio directorio2 no existe, se crea y contendrá el mismo contenido que el directorio directorio1.

Eliminar archivos y directorios con rm

Hemos colocado el comando rm en su propia sección aquí por una buena razón. Es poderoso, especialmente si lo usa con operadores comodín. Cuando decimos que es poderoso, lo que queremos decir es que podría ser poderoso de todas las formas incorrectas si no tienes cuidado. Esto se debe a que, al igual que la programación en C, que también tiene esta idea de acceso directo y potencia, Linux asume que sabe lo que está haciendo. Si escribe algo como rm *. *, Puede eliminar todo de un solo golpe. En Windows, se supone que puede ser tonto, por lo que le dan una Papelera de reciclaje para que, si elimina algo que se suponía que no debía, pueda recuperarlo por así decirlo. ¡No existe tal proceso en Linux! Entonces, si necesita eliminar algo con rm, asegúrese de que sea lo que realmente desea hacer. Por diversión, probémoslo.

vagrant @ homestead: ~ / sandbox $ cp ~/Code/Laravel/*.* .
vagrant @ homestead: ~ / sandbox $ ls
composer.json CONTRIBUTING.md contraseña readme.md
composer.lock directory2 phpunit.xml server.php vagrant
@ homestead: ~ / sandbox $ rm *.*
vagrant @ homestead: ~ / sandbox $ ls
directorio2 contraseña
vagabundo @ homestead: ~ / sandbox $

En el ejemplo anterior, copiamos todos los archivos de la carpeta Laravel en el directorio de trabajo actual. Cuando enumeramos todos los archivos, podemos ver que ahora existen varios archivos nuevos en nuestra caja de arena. Podemos ver composer.json, CONTRIBUTING.md, readme.md, composer.lock, phpunit.xml y server.php. Posteriormente, si simplemente queremos eliminar todos los archivos que acabamos de copiar, usamos el comando rm usando la notación de asterisco punto asterisco para indicar que queremos que se elimine cualquier archivo con cualquier extensión. Un simple lscomando nos confirma que este es realmente el caso.

Sugerencia: en caso de duda al usar elrmcomando con comodines, simplemente use ellscomando primero. Esto le dirá exactamente qué archivos se verán afectados. Una vez que esté seguro de con qué archivos está trabajando, podrá utilizarlos dermforma segura.

Comodines y Globbing

Aquí radica el poder de trabajar con archivos y directorios directamente desde la línea de comandos. Es esta capacidad de usar caracteres comodín lo que tiene un impacto en muchos, a veces en cientos de archivos a la vez. Lo que queremos decir con globbing es la capacidad de apuntar a archivos usando símbolos como el asterisco para múltiples cadenas de caracteres o un signo de interrogación para identificar un solo carácter. También puede ser útil tener una tabla de referencia de combinaciones comunes de caracteres comodín y lo que lograrían.

*

coincide con todos los archivos

Oye*

coincide con cualquier archivo que comience con hey

yo * .html

coincide con cualquier archivo que comience con yo seguido de cualquier carácter y termine con .html

[xyz] *

coincide con cualquier archivo que comience con x , y o z

TONOS. [0-9] [0-9] [0-9]

coincide con cualquier archivo que comience con TONES. seguido de exactamente cuatro dígitos

¿¿increíble??

Coincide con cualquier archivo que comience con impresionante seguido de exactamente dos caracteres

* [[: inferior:] 712]

coincide con cualquier archivo que termine con una letra minúscula o los dígitos 7 , 1 o 2

[![:dígito:]]*

coincide con cualquier archivo que no comience con un dígito

[[:Superior:]]*

coincide con cualquier archivo que comience con una letra mayúscula

Estos patrones comparten similitudes con las expresiones regulares. Para obtener más información sobre cómo funcionan las expresiones regulares, consulte nuestra publicación que describe el aprendizaje sobre las expresiones regulares.

Resumen de comandos de archivos y directorios de Linux

En este episodio, aunque solo investigamos un puñado de comandos para trabajar con archivos y directorios, pudimos realizar una gran cantidad de tareas. Así es como funciona Linux. Si conoce bien estos comandos, podrá aprovecharlos al máximo.



Publicar un comentario

0 Comentarios