Las habilidades de Linux siempre están en demanda. Desarrolle su conjunto de habilidades aprendiendo a usar los comandos de directorio de Linux y los comandos de archivo de Linux. Esta guía está escrita como un viaje. Un conjunto de instrucciones paso a paso que lo guían a través de la navegación, la creación, la eliminación, el traslado y el cambio de nombre de directorios y archivos. Todo desde la línea de comandos de Linux.
Si está listo para desarrollar habilidades prácticas de Linux en el mundo real, ¡ha venido al lugar correcto!
Requisitos
Para practicar los ejemplos de Linux en esta guía, debe tener una computadora con Linux. La distribución de Linux no importa. Todas las demostraciones de esta guía utilizarán RedHat Enterprise Linux 8 (RHEL).
Ubuntu 20.04 LTS es una excelente alternativa si no desea utilizar RedHat.
Listado y búsqueda de directorios
Si está siguiendo, abra una sesión de terminal en su computadora Linux.
Encontrar el directorio actual con pwd
Cuando navega por un sistema de archivos en una terminal, su indicador siempre está en un directorio determinado llamado directorio actual o directorio de trabajo. Según la configuración de la terminal, es posible que vea o no el directorio de trabajo en el aviso.
El pwd
o imprimir el comando del directorio de trabajo muestra el directorio actual en el que se encuentra. Ingrese el comando como se muestra a continuación:
pwd
De forma predeterminada, el directorio /home/
es su punto de partida en una sesión de terminal, a menos que haya iniciado sesión con la cuenta raíz.
Cuando ejecuta el comando, el directorio de trabajo se devuelve como se muestra a continuación:
A diferencia de Windows, Linux no usa letras de unidad (C:\ , D:\ , etc.) para discos o particiones (una región lógica en un disco). En Linux, los directorios están precedidos por un / .
Lista de archivos y carpetas con el ls
Comando
Dentro de los directorios, encontrará archivos y subcarpetas. El pwd
El comando solo muestra el directorio de trabajo, entonces, ¿cómo ve los subdirectorios y archivos? El ls
comando.
El ls
o el comando list directory es el equivalente al dir
Comando en Windows. Este comando enumera archivos y directorios en el directorio actual o en cualquier ruta alternativa especificada.
El
dir
El comando también existe en Linux. Equivalente a ejecutarls -C -b
. Normalmente,ls
se usa sobredir
a medida que exista más flexibilidad de visualización.
Para buscar archivos y directorios en /home/user directorio, ejecute el ls
dominio. El resultado resultante son los diversos archivos y directorios (carpetas) que contiene.
ls
El ls
El comando también muestra información adicional sobre archivos y carpetas, como permisos, tamaño de archivo (en bytes) y fechas de archivo con el l
opción. Al igual que en Windows, el sistema operativo puede ocultar algunos archivos y carpetas de la vista normal. Ver archivos que no se muestran por defecto con el a
opción.
Dotfiles son archivos de configuración de texto sin formato en los sistemas Unix. Cualquier archivo se puede ocultar cuando el nombre del archivo va precedido de un punto
.
.
ls -la
Puede ver en la siguiente captura de pantalla usando el la
opciones, recibe mucha más información que se muestra en seis columnas diferentes de izquierda a derecha:
- Permisos, en formato POSIX ACL, con el
d
anterior significando un directorio - Recuento de subdirectorios con directorios que contienen solo archivos como
1
- Usuario y grupo al que pertenece un archivo o carpeta
- Tamaño del directorio o archivo en bytes
- Hora de última modificación
- Nombre del archivo o carpeta
Puede encontrar todos los archivos y carpetas en subdirectorios con el -R
opción para mostrar el contenido del directorio de forma recursiva.
ls -R
Si desea mostrar el contenido de un directorio diferente, pase el directorio de destino a ls
. A continuación se muestran los /var/log contenido del directorio sin salir del /home/user directorio.
ls /var/log
Ubicar archivos y carpetas con find
La localización de archivos en un sistema de archivos grande es difícil. Afortunadamente, el find
El comando ofrece varias formas de ubicar los archivos y carpetas que pueda necesitar.
Por ejemplo, desea encontrar el /var directorio. Dado un punto de partida, /
y configurando el tipo como d
para el directorio, busque en el sistema de archivos el var
nombre.
sudo find / -type d -name "var"
Es posible que vea un error de Permiso denegado incluso cuando ejecuta el comando usando
sudo
. Elfind
El comando intenta buscar un sistema de archivos virtual relacionado con Gnome (si usa KDE, este error no se aplicará) al que su usuario no tiene acceso. En su lugar, no descienda directorios en otros sistemas de archivos usando el-xdev
cambiar en su lugar.
¿Qué hay de encontrar todos los archivos con la extensión de registro? Similar a antes, busque en el sistema de archivos raíz, pero esta vez especificando f
para archivos y busque el patrón comodín de *.log
.
sudo find / -type f -name "*.log"
El
find
El comando tiene otras opciones, comoH
,L
yP
, que manejan cómo se tratan los enlaces simbólicos.
Buscar archivos más rápido con locate
Me gusta find
, el locate
El comando busca archivos y carpetas, pero lo hace más rápido al buscar en una base de datos en lugar de en todo el sistema de archivos.
Tal vez tenga un archivo llamado MyTextFile.txt en algún lugar de su computadora. Has olvidado dónde se encuentra y necesitas ayuda para encontrar el camino. Usa el locate
comando para encontrar el archivo, proporcionándole el nombre del archivo como se muestra a continuación.
locate MyTextFile.txt
El
locate
el comando encuentra archivos pero no encontrará archivos nuevos hastasudo updatedb
carreras. Un trabajo cron ejecutaupdatedb
una vez al día, pero puede ejecutar este comando manualmente en cualquier momento.
¿Cómo encontraría todos los directorios llamados tmp
? ? Podrías pasar */tmp
, que le dice a locate
para buscar en la base de datos entradas que terminen en tmp
.
locate */tmp
Cambiando Directorios con el cd
Comando
Hasta ahora, ha operado dentro de un solo directorio en su mayor parte. Operar en Linux a menudo significa cambiar directorios, hecho a través del cd
o cambie el comando de directorio. Usando el ejemplo a continuación, se mueve desde el directorio de inicio actual, /home/user, a /var/log mientras verifica su directorio actual.
# Show that you are in the current home directory
pwd
# Change to the /var/log directory
cd /var/log
# Verify that you are now in the /var/log directory
pwd
Ahora que ha aprendido a cambiar a un directorio específico, ¿cómo sube de directorio? Para subir un directorio, usará dos puntos (..
), pasado al cd
dominio. Una vez que se ejecuta, como se ve a continuación, se mueve hacia arriba en un solo directorio, lo que lo vuelve a ubicar en el /var/
directorio.
# Show that you are currently in the /var/log directory
pwd
# Move up a single directory
cd ..
# Verify that you have moved up to the /var directory
pwd
Cuando desee cambiar a /var/log directorio de nuevo, pase el nombre del directorio para cambiar con un final /
.
# Show that you are currently in the /var directory
pwd
# Change to the /var/log directory
cd log/
# Verify that you are back in the /var/log directory
pwd
Como se ve a continuación, solo ingrese el subdirectorio de destino con un final /
elimina la necesidad de ingresar una ruta absoluta cada vez.
Si no está seguro del nombre de un archivo o directorio al usar
cd
, presione elTAB
tecla dos veces para producir una lista de posibilidades. Ejemplo:cd
Haciendo un nuevo directorio con mkdir
Crear un directorio en Linux es a través del mkdir
o hacer un comando de directorio. Para crear un nuevo directorio llamado MyAwesomeLinuxDir en su directorio de inicio (señalado por la ruta especial ~
), use el siguiente comando.
mkdir ~/MyAwesomeLinuxDir
Si Linux crea el directorio con éxito, Linux no devolverá un mensaje en la consola. Puede enumerar los directorios en su directorio de inicio con el ls
comando para verificar que el directorio, MyAwesomeLinuxDir , existe.
Ahora agregue algo de complejidad y cree múltiples directorios nuevos con un solo comando. Para crear varios directorios, utilice el mkdir
comando y pasar varios nombres de directorio separados por un espacio.
mkdir ~/Directory01 ~/Directory02 ~/Directory03
Una vez más, enumere los directorios con el ls
dominio. Como puede ver a continuación, ahora existen tres directorios más.
Tan útil como usar mkdir
crear una sola carpeta es, ¿qué sucede si necesita crear muchas carpetas a la vez? En lugar de escribir cada directorio, ¡utilice la expansión entre llaves! Esta técnica es poderosa cuando se crean varios directorios con un patrón similar.
La expansión Brace hace que la creación de múltiples directorios basados en un patrón sea más rápida que si se escribiera cada uno a mano. Para demostrar la expansión de llaves, agregue {03..07}
después del nombre Directory
para generar cinco directorios. Puede notar que Directorio03 ya existe porque lo creaste en un ejemplo anterior. Evite un error sobre los directorios existentes con el p
opción.
mkdir -p ~/Directory{03..07}
Como se ve a continuación, Directorio03 no se crea, pero cuatro nuevos directorios que terminan en 04
hasta 07
ahora existen.
Crear un nuevo archivo con touch
Ahora que ha aprendido a crear carpetas, ¿cómo crea un archivo? Usando Linux touch
comando crear un archivo vacío, como se ve en el siguiente ejemplo.
touch ATABlog
Una vez más, enumere los archivos y carpetas en su directorio de inicio, para ver que el nuevo ATABlog el archivo existe.
Recuerda cómo aprendiste que el mkdir
¿El comando puede usar la expansión de llaves para crear múltiples directorios? La misma técnica es útil con el touch
manda también! Crea cinco ATABlog más archivos que terminan del 01 al 05.
touch ATABlog{01..05}
Después de listar los archivos y carpetas con ls
, existen cinco archivos nuevos en su directorio de inicio.
Eliminar directorios y archivos en Linux
En la última sección, aprendió cómo crear directorios y archivos en Linux. Para eliminar directorios y archivos, use el rm
comando para eliminar directorios y su contenido.
Por ejemplo, desea eliminar un archivo llamado ATABlog01. Elimina un archivo pasando el nombre del archivo a rm
dominio. Como se ve a continuación, está eliminando el ATABlog01 archivo del directorio actual.
rm ATABlog01
Puede eliminar varios archivos a la vez agregando un espacio entre cada nombre de archivo en el directorio actual. Eliminar los ATABlog## restantes archivos en un único rm
comando, como se muestra a continuación.
rm ATABlog02 ATABlog03 ATABlog04 ATABlog05
Ahora que ha aprendido a eliminar archivos, es hora de eliminar un directorio. Por defecto, el rm
El comando no elimina directorios. Eliminar un directorio especificando el r
o recursivo opción, como se ve en el siguiente ejemplo.
rm -r Directory01
En la siguiente captura de pantalla, puede ver que Directorio01 fue eliminado.
Puede usar la expansión de llaves con el rm
mando también. Proporcionar el rango de 2 a 7 dentro del rm
El comando informa al comando remove para eliminar todos los directorios llamados Directory02 a través de Directorio07 . Como se muestra cuando lo confirma un ls
comando.
rm -r Directory{02..07}
Para evitar la eliminación accidental de archivos o carpetas incorrectos, use el
i
para solicitar cada archivo. Haz que la opción sea menos onerosa con elI
opción que solo solicita tres o más archivos.
Copiar directorios y archivos en Linux
Copie archivos en Linux con el cp
dominio. No solo puede el cp
comando copiar directorios y archivos en Linux, pero también atributos de archivo y creación de enlaces simbólicos.
Para demostrar cómo copiar un archivo de los ejemplos anteriores, copie el ATABlog
archivo a Documentos/ directorio con el cp
dominio. Añade el v
opción para mostrar más información sobre la operación de copia exacta.
cp -v ATABlog Documents/
Ahora, copie la carpeta, MyAwesomeLinuxDir , a los Documentos directorio. Aquí, como con el rm
comando, asegúrese de agregar el r
o opción recursiva para copiar el directorio, como se ve en el siguiente ejemplo.
cp -r MyAwesomeLinuxDir/ Documents/
Mover directorios y archivos
En la sección anterior, copió archivos y carpetas usando el cp
dominio. Para mover directorios y archivos en Linux, use el mv
dominio. Para mover directorios en Linux, use el mv
dominio. El mv
El comando es similar al del cp
comando que aprendiste en ejemplos anteriores.
mv [options] [source] [destination]
El mv
El comando es como cortar y pegar en Windows, con la ventaja de poder cambiar el nombre de los archivos simultáneamente. Las siguientes secciones le mostrarán cómo usar mv
para ambos escenarios.
Usa el
-i
opción para preguntar antes de cada movimiento o el-f
opción para mover elementos a la fuerza sin preguntar.
Para demostrar, mueva el archivo Documentos/ATABlog al Escritorio directorio con el mv
dominio. Mueva la carpeta, Documentos/MyAwesomeLinuxDir al Escritorio también, como se muestra a continuación.
mv Documents/ATABlog Desktop/
mv Documents/MyAwesomeLinuxDir Desktop/
Sus comandos deben parecerse al ejemplo a continuación. Recuerde, está moviendo el archivo y el directorio (origen) a otro directorio (destino).
Usa el ls
comando para ver que ambos están ahora ubicados en el Escritorio directorio.
Renombrar directorios y archivos
Aunque no hay un comando de cambio de nombre, el mv
El comando juega el mismo papel. En lugar de solo pasar un destino al mv
comando, especifique el archivo o carpeta resultante sin una barra inclinada al final para mover y cambiar el nombre.
Mueva el archivo y la carpeta a su directorio de inicio mientras cambia el nombre del archivo a ATABlog_Renamed . Del mismo modo, haga lo mismo con MyAwesomeLinuxDir y cambie el nombre del directorio a MyAwesomeLinuxDir_Renamed en el directorio de inicio, como se muestra a continuación.
mv Desktop/ATABlog ~/ATABlog_Renamed
mv Desktop/MyAwesomeLinuxDir ~/MyAwesomeLinuxDir_Renamed
Siguientes pasos
En este artículo, ha aprendido muchos de los comandos comunes de directorio de Linux, como por ejemplo, cómo atravesar un sistema de archivos de Linux junto con la creación, el movimiento y la eliminación de archivos.