Esta entrada continúa con la serie dedicada a la consola y los comandos del GNU/Linux. Será el penúltimo de la serie, para no cansar a los lectores ya que el mundo de los comandos de la consola es muy amplio y se necesitaría un blog prácticamente para ellos.
Y ahora vamos a empezar con las explicaciones de los comandos de hoy.
Y ahora vamos a empezar con las explicaciones de los comandos de hoy.
- ln (del inglés link): utilizando este comando se pueden crear enlaces entre archivos. Los enlaces son un tipo especial de archivo, más concretamente son archivos que apuntan a otro archivo. Existen dos tipos de enlaces:
- Enlaces duros: es un nuevo nombre (referencia) para un mismo archivo, a los datos físicos. Un archivo puede tener varios enlaces duros, cuando se elimina el último enlace duro se elimina el fichero.
- Enlaces simbólicos: indica un acceso a un archivo o directorio que se encuentra en otro sitio del sistema de archivos. La eliminación del enlace simbólico no implica que se elimine el archivo físico.
$ln [OPCIONES] [OBJETIVO] [NOMBRE DEL ENLACE]
Las opciones principales que admite este comando son:- -d, -F, --directory: permite al superusuario hacer un enlace duro a directorios.
- -f, --force: elimina los ficheros de destino existentes.
- -s: hace un enlace simbólico en vez de un enlace duro.
Con esta orden creamos un nuevo nombre para el archivo archivo.txt. Ahora veríamos que en la salida del comando ls -l aparece un 2 en la columna correspondiente a los enlaces. Si eliminamos el fichero archivo.txt con el comando rm lo que haremos será eliminar uno de los enlaces, pero el fichero físico continuará existiendo hasta que eliminemos el último de los enlaces duros.$ln archivo.txt nuevo_archivo.txt
Con este otro comando creamos un enlace simbólico llamado registro_sistema.log al archivo de registro del sistema syslog que se encuentra en el directorio /var/log.$ln -s /var/log/syslog registro_sistema.log
- mount: monta un sistema de ficheros, generalmente nos referimos a un disco, CD, disquete, memoria USB, etc.
La sintaxis de este comando es la siguiente:
Generalmente será el superusuario el que pueda montar sistemas de ficheros. Sin embargo, hay excepciones. Por ejemplo, un usuario puede montar el CDROM. Una cosa a tener en cuenta es que el directorio de montaje debe estar vacío para poder ejecutar esta orden. Veamos alguna de las opciones de este comando:mount [OPCIONES] [DISPOSITIVO] [DIRECTORIO]- -a: monta todos los sistemas de ficheros especificados en el fichero de sistema fstab. Cuando se utiliza esta opción no se especifica ni el dispositivo ni el punto de montaje.
- -t: sirve para especificar el tipo de sistema de ficheros que se va a montar. Existen muchos tipos, pero los principales son: fat, sistema de ficheros utilizado por Windows conocido como FAT16; vfat, sistema de fichero utilizado por Windows también conocido como FAT32; ntfs, sistema utilizado a partir de Windows XP; ext[2,3,4], sistemas de ficheros utilizados por Unix y sus derivados como el GNU/Linux; reiserfs, sistema utilizado también en GNU/Linux; etc.
- -l: muestra todos los sistemas de ficheros montados.
- -r: monta el sistema de fichero en modo sólo lectura.
- umount: desmonta un sistema de ficheros. Puede especificarse indistintamente el dispositivo o directorio de montaje a la hora de ejecutar esta orden. Su sintaxis es:
Algunas de sus opciones son:umount [OPCIONES] [DISPOSITIVO|DIRECTORIO]- -a: desmonta todos los sistemas de ficheros especificados en el archivo de sistema mtab.
- -r: si la orden de desmontaje falla, trata de volver a montar el sistema de ficheros en modo sólo lectura.
- -t [tipo]: indica que acciones se deberían tomar sólo en los sistemas de ficheros indicados.
- df (del inglés disk free): muestra del espacio en disco utilizado y disponible por el sistema de archivos, todos los discos que se encuentren montados en ese momento. Por defecto, el espacio en disco se muestra en bloques de 1K.
Su sintaxis es la siguiente:
Las opciones principales disponibles para este comando son:df [OPCIONES]- -a, --all: incluye en la lista todos los sistemas de ficheros virtuales montados en el sistema.
- --total: produce una línea adicional con la suma total de las cantidades ocupadas y disponibles.
- -h, --human-readable: muestra las cantidades en un formato legible por los humanos, es decir, en K, M, G...
- -H: igual que el anterior pero usando potencias de 1000 en vez de 1024.
- du (del inglés disk usage): muestra el espacio utilizado estimado. Suma el espacio ocupado para cada archivo y, recursivamente, para los directorios. Algunas de sus opciones son:
- -a: cuenta el espacio ocupado para todos los archivos, no sólo los directorios.
- -h: muestra el resultado en formato legible por los humanos.
- --si: igual que -h, pero utilizando potencias de 1000 en vez de 1024.
- -s: muestra sólo el total para cada uno de los argumentos.
- mv (del inglés move): mueve o renombra archivos. Su sintaxis es:
Algunas de sus opciones son:mv [OPCIONES] [ORIGEN] [DESTINO]- -f: no pregunta antes de sobreescribir el archivo de destino.
- -i: pregunta antes de sobreescribir, se llama también modo interactivo.
- -u: mueve solamente cuando el ORIGEN es más nuevo que el DESTINO, o cuando el DESTINO no existe.
Cambia el nombre de archivo.txt por el de fichero.txt.$mv archivo.txt fichero.txt
Mueve todos los ficheros los ficheros que terminan en .txt al directorio /home/pepito/txt.$mv *.txt /home/pepito/textos - find: busca archivos en la jerarquía de directorios. Este comando tiene muchas opciones, aunque en este artículo se explicarán sólo algunas de ellas.
- Búsqueda de un archivo por el nombre
- Sintaxis:
Esta orden busca a partir de la carpeta especificada ([carpeta inicio]) y de forma recursiva a través del árbol de directorios todos los archivos cuyo nombre sea [nombre archivo], si no se utilizan metacaracteres el nombre del archivo ha de coincidir exactamente con el especificado. Los metacaracteres admitidos son los estándares de Linux (*, ?). El resultado de la búsqueda se muestra por la salida estándar.find [carpeta inicio] -name "[nombre archivo]" - Ejemplos:
Busca todos los archivos de nombre .profile a partir del directorio raíz (/).find / -name ".profile"
Busca todos los archivos de extensión doc a partir del directorio actual (.).find . -name "*.doc"
- Sintaxis:
- Búsqueda de un archivo por una palabra en su contenido
- Sintaxis:
Esta orden busca a partir de la [carpeta inicio] en todos los archivos cuyo nombre coincida con [nombre archivo] los archivos que contengan la palabra o frase especificada en [cadena].find [carpeta inicio] -name "[nombre archivo]" -exec grep "[cadena]" {} /dev/null \; - Ejemplos:
Busca a partir del directorio raíz (/) todos los archivos de extensión txt que contengan la palabra config.find / -name "*.txt" -exec grep "config" {} /dev/null \;
Busca a partir del directorio actual (.) todos los archivos cuya extensión sea doc que contengan la palabra Gerencia.find . -name "*.doc" -exec grep "Gerencia" {} /dev/null \;
- Sintaxis:
- Búsqueda de un archivo por el tipo
- Sintaxis:
Esta orden busca a partir de [carpeta inicio] todos los archivos del tipo especificado ([tipo]). Esta opción se puede combinar con las anteriores.find [carpeta inicio] -type [tipo]
Los tipos que se pueden especificar son:- f: indica que el tipo a buscar es un archivo.
- d: indica que el tipo a buscar es un directorio.
- c: indica que el tipo a buscar es un archivo de dispositivo carácter.
- b: indica que el tipo a buscar es un archivo de dispositivo bloque.
- Ejemplos:
Busca a partir del directorio /home todos los ficheros.find /home -type f
Busca a partir del directorio /home/contratacion todos los directorios que empiecen por la letra A (A mayúscula).find /home/contratacion -type d -name "A*"
- Sintaxis:
- Búsqueda de un archivo por el nombre
Comentarios
Publicar un comentario