Comandos de archivo de Unix con ejemplos
File comprueba cada argumento para intentar clasificarlo. Hay tres conjuntos de pruebas, que se realizan en este orden: pruebas del sistema de archivos, pruebas de números mágicos y pruebas de idioma. El tipo impreso normalmente contendrá una de las palabras texto (el archivo sólo contiene caracteres de impresión y unos pocos caracteres de control comunes y es probablemente seguro para leer en un terminal ASCII), ejecutable (el archivo contiene el resultado de la compilación de un programa en una forma comprensible para algún núcleo UNIX u otro), o datos que significan cualquier otra cosa (los datos suelen ser `binarios’ o no imprimibles).
Las excepciones son los formatos de archivo bien conocidos (archivos core, archivos tar) que se sabe que contienen datos binarios. Al modificar el archivo /usr/share/file/magic o el propio programa, conserve estas palabras clave. La gente depende de saber que todos los archivos legibles de un directorio tienen impresa la palabra `texto’. No haga como Berkeley y cambie “texto de comandos de la consola” por “script de la consola”. Tenga en cuenta que el archivo /usr/share/file/magic se construye mecánicamente a partir de un gran número de pequeños archivos en el subdirectorio Magdir en la distribución fuente de este programa.
Comando de archivo de Unix
Los usuarios de la línea de comandos pueden encontrar útil cambiar y renombrar la extensión de un grupo de archivos en un directorio. Por ejemplo, digamos que tienes un lote de archivos con la extensión “.txt” pero quieres que todos ellos tengan la extensión “.py”. Eso es lo que vamos a demostrar aquí confiando en un simple script de bash para cambiar un grupo de extensiones de archivo en la línea de comandos de Mac OS / OS X, pero esto también funcionará en linux y otros sabores unix también.
Antes de comenzar, tenga en cuenta que esto no es cambiar un tipo de archivo, es sólo cambiar la extensión del archivo. Además, esta guía está intencionalmente usando la línea de comandos y por lo tanto está dirigida a usuarios más avanzados. Sin embargo, la Terminal no es la única manera de hacer esto, y si esto es demasiado avanzado o irrelevante para su conjunto de habilidades de usuario, entonces recuerde que Mac OS ofrece herramientas sencillas tanto para renombrar archivos por lotes en Mac OS como para cambiar las extensiones de los archivos por lotes en el Finder, ninguno de los cuales requiere la línea de comandos en absoluto. ¿DE ACUERDO? De acuerdo con el enfoque de la línea de comandos utilizando un simple script bash de una línea.
¿Escribir un comando unix/linux para mostrar el tipo de un archivo?
La versión original de file se originó en Unix Research Version 4[1] en 1973. El Sistema V supuso una gran actualización con varios cambios importantes, entre los que destaca el traslado de la información del tipo de archivo a un archivo de texto externo en lugar de compilarla en el propio binario.
La mayoría de las principales distribuciones de BSD y Linux utilizan una reimplementación libre y de código abierto que fue escrita en 1986-87 por Ian Darwin[2] desde cero. Fue ampliada por Geoff Collyer en 1989 y desde entonces ha recibido aportaciones de muchos otros, como Guy Harris, Chris Lowth y Eric Fischer; desde finales de 1993 su mantenimiento ha sido organizado por Christos Zoulas. El sistema OpenBSD tiene su propia implementación de subconjuntos escrita desde cero, pero sigue utilizando la colección Darwin/Zoulas de información con formato de archivo mágico.
Las pruebas sensibles a la posición del archivo se implementan normalmente comparando varias ubicaciones dentro del archivo con una base de datos textual de números mágicos (véase la sección Uso). Esto difiere de otros métodos más sencillos como las extensiones de archivo y los esquemas como MIME.
Tipo de archivo Unix
Normalmente, si quieres determinar el tipo de archivo y la codificación de un elemento, puedes simplemente mirar el archivo en el Finder de Mac, comprobar la extensión del nombre del archivo, obtener información sobre el archivo o incluso abrirlo para averiguar rápidamente de qué archivo se trata. Por supuesto, esto se limita al sistema de archivos fácil de usar de Mac OS X, y hay ocasiones en las que puede ser necesario detectar cómo está codificado un archivo o qué tipo de archivo es desde la línea de comandos, a menudo con pistas menos obvias (o sin pistas en absoluto) que una extensión de archivo visible.
Si se encuentra en una situación en la que necesita averiguar qué tipo de archivo es y cómo está codificado, puede utilizar el comando ‘file’ con la bandera i mayúscula para ver rápidamente qué tipo de archivo es y su conjunto de caracteres.
Este enfoque de la línea de comandos para determinar el tipo de archivo y la codificación puede ser útil por muchas razones, ya sea para su uso en un script, para la solución de problemas remotos o el mantenimiento con ssh, la búsqueda de tipos de archivo específicos y formatos de archivo con las funciones de búsqueda incorporadas en Mac OS X, o incluso para sus propios fines de determinar lo que es un archivo misterioso, con qué aplicación abrirlo, y tal vez qué tipo de extensión debe tener si le falta uno.