| Trabajando con Archivos en Unix/Linux |
[usuario@maquina usuario]$Estarás pensando "¿y ahora qué?".
Primero, hablemos acerca del shell. El shell es un programa que toma los comandos que tecleas y se los pasa al sistema operativo para que los ejecute. Hay varios tipos de shells disponibles, cada uno de ellos se comporta en forma diferente. Por omisión, el shell que se usa en Linux es Bash, mismo que utilizaremos para los ejemplos aquí presentados. Si quieres saber qué shell estás usando, teclea lo siguiente en la línea de comandos:
echo $SHELL
Si ves algo como "/bin/bash", entonces sabrás que estás usando el shell bash.
Entre los otros shells que hay, están: pdksh, tcsh y zsh.
Para la mayoría de los usuarios, bash es una excelente opción; una de ellas es
la historia de comandos, con la cual, utilizando la tecla flecha arriba podrás recuperar los
comandos tecleados con anterioridad para no tener que teclearlos de nuevo. Bash también tiene lo
que se llama "completar con TAB", lo cual significa que si tecleas parte de una ruta o nombre
de archivo, bash tratará de completarlo por ti si presionas la tecla TAB. Si hay varias opciones
de completado, oprimiendo TAB una segunda vez ocasionará que sean listadas todas ellas.
Otra característica ahorradora de tiempo de bash es su habilidad para usar "comodines" cuando
se teclean nombres de archivo. Los comodines son unos caracteres especiales con un significado
especial para el shell. Veamos algunos ejemplos asumiendo que tenemos los siguientes archivos en
nuestro directorio:
Nótese que el listado no incluyó el archivo ventas33.txt porque la interrogación representa
únicamente a un solo caracter.
El asterisco ("*") representa cualquier cantidad de caracteres, incluyendo cero
caracteres.
Es posible mezclar estos caracteres para formar comandos muy poderosos, haciendo la tarea de trabajar con
archivos mucho más fácil.
Hasta este punto, ya debes tener suficiente información para empezar a trabajar con archivos.
ventas.txt
ventas1.txt
ventas2.txt
ventas33.txt
La interrogación ("?") representa cualquier caracter individual.
[usuario@maquina usuario]$ ls ventas?.txt
ventas1.txt ventas2.txt
[usuario@maquina usuario]$ ls ventas*.txt
ventas.txt ventas1.txt ventas2.txt ventas33.txt
Un par de corchetes ("[ ]") pueden contener lo que es conocido como una "clase
de caracteres". ¿Qué significa esto?. Bien, el shell usará únicamente los caracteres dentro de los
corchetes cuando esté buscando archivos.
[usuario@maquina usuario]$ ls ventas[12].txt
ventas1.txt ventas2.txt
Este comando no incluiría un archivo llamado "ventas12.txt" porque únicamente
incluye archivos que comiencen con "ventas", seguido por un "1" o un "2" y
que termine con ".txt".
[usuario@maquina usuario]$ ls ventas[13]*.txt
ventas1.txt ventas33.txt
Un momento, ¿qué hay acerca de ese comando "ls" que hemos estado utilizando en
los ejemplos?. Bueno, ese es el comando que sirve para listar archivos y puede aceptar una gran
variedad de argumentos (u opciones), los cuales se teclean después del nombre del comando.
Normalmentecomienzan con uno o dos guiones, por ejemplo, aquí tenemos algunos de los argumentos más
usuales del comando "ls":
Es posible utilizar múltiples argumentos al mismo tiempo, por ejemplo:
[usuario@maquina usuario]$ ls -alt
Esto mostraría archivos ocultos y no ocultos en un formato largo, ordenados por la fecha de su
última modificación. Hay muchos más argumentos, teclea "ls --help" para verlos todos.