es.phhsnews.com


es.phhsnews.com / ¿Qué significa "Todo es un archivo" en Linux?

¿Qué significa "Todo es un archivo" en Linux?


Una de las características definitorias de Linux y otros sistemas operativos tipo UNIX es que "todo es un archivo". Esta es una Simplificación excesiva, pero entender lo que significa lo ayudará a comprender cómo funciona Linux.

En su sistema de archivos aparecen muchas cosas en Linux, pero en realidad no son archivos. Son archivos especiales que representan dispositivos de hardware, información del sistema y otras cosas, incluido un generador de números aleatorios.

Estos archivos especiales pueden ubicarse en sistemas de archivos virtuales o pseudo como / dev, que contiene archivos especiales que representan dispositivos. y / proc, que contiene archivos especiales que representan información del sistema y del proceso.

/ proc

Por ejemplo, supongamos que desea buscar información sobre su CPU. El directorio / proc contiene un archivo especial - / proc / cpuinfo - que contiene esta información.

No necesita un comando especial que le indique la información de su CPU; solo puede leer el contenido de este archivo usando cualquier comando estándar que funciona con archivos de texto sin formato. Por ejemplo, puede usar el comando cat / proc / cpuinfo para imprimir el contenido de este archivo al terminal, imprimiendo la información de su CPU al terminal. Incluso puede abrir / proc / cpuinfo en un editor de texto para ver su contenido.

Recuerde, / proc / cpuinfo no es en realidad un archivo de texto que contenga esta información: el kernel de Linux y el sistema de archivos proc están exponiendo esta información a nosotros como un archivo. Esto nos permite usar herramientas familiares para ver y trabajar con la información.

El directorio / proc también contiene otros archivos similares, por ejemplo:

  • / proc / uptime - Expone el tiempo de actividad de su kernel de Linux - en otras palabras , cuánto tiempo ha estado funcionando sin apagar.
  • / proc / version - Expone la versión de su kernel de Linux.

/ dev

En el directorio / dev, encontrará archivos que representan dispositivos - así como archivos que representan otras cosas especiales. Por ejemplo, / dev / cdrom es su unidad de CD-ROM. / dev / sda representa su primer disco duro, mientras que / dev / sda1 representa la primera partición en su primer disco duro.

¿Desea montar su CD-ROM? Ejecute el comando mount y especifique / dev / cdrom como el dispositivo que desea montar. ¿Quieres dividir tu primer disco duro? Ejecute una utilidad de partición de disco y especifique / dev / sda como el disco duro que desea editar. ¿Quieres formatear la primera partición en tu primer disco duro? Ejecute un comando de formateo y dígale que formatee /dev/sda1.

Como puede ver, exponer estos dispositivos como parte del sistema de archivos tiene sus ventajas. El sistema de archivos proporciona un "espacio de nombre" consistente que todas las aplicaciones pueden usar para direccionar y acceder a los dispositivos.

/ dev / null, / dev / random, y / dev / zero

El sistema de archivos / dev no funciona solo contiene archivos que representan dispositivos físicos. Aquí hay tres de los dispositivos especiales más notables que contiene:

  • / dev / null - Descarta todos los datos escritos en él - piense en ello como un bote de basura o un agujero negro. Si alguna vez ve un comentario que le dice que envíe quejas a / dev / null, esa es una manera geek de decir "tírelo a la basura".
  • / dev / random - Produce aleatoriedad usando ruido ambiental. Es un generador de números aleatorios al que puedes acceder.
  • / dev / zero - Produce ceros: una secuencia constante de ceros.

Si piensas en estos tres como archivos, no verás un uso para ellos. En su lugar, piense en ellos como herramientas.

Por ejemplo, de forma predeterminada, los comandos de Linux producen mensajes de error y otros resultados que imprimen a la salida estándar, normalmente el terminal. Si desea ejecutar un comando y no le importa su resultado, puede redireccionar ese resultado a / dev / null. Redirigir la salida de un comando a / dev / null lo descarta inmediatamente. En lugar de que cada comando implemente su propio "modo silencioso", puede usar este método con cualquier comando.

comando> / dev / null

Si desea una fuente de aleatoriedad, por ejemplo, para generar una clave de cifrado, no necesitaría escribir su propio generador de números aleatorios; podría usar / dev / random.

Para borrar el contenido de un disco duro escribiéndole 0, no necesita una utilidad especial dedicada a poner en cero una unidad: puede usar utilidades estándar y / dev / zero. Por ejemplo, el comando dd lee desde una ubicación y escribe en otra ubicación. El siguiente comando leería ceros de / dev / zero y los escribiría directamente en la primera partición del disco duro en su sistema, borrando por completo su contenido.

( Warning : Este comando borrará todos los datos de su primera partición si la ejecuta. Solo ejecute este comando si desea destruir datos.)

dd if = / dev / zero of = / dev / sda1

Aquí estamos usando dd con archivos especiales (/ dev / zero y / dev / sda1), pero también podríamos usar dd para leer y escribir en archivos reales. El mismo comando funciona tanto para manipular dispositivos directamente como para trabajar con archivos.

Aclaración

En la práctica, es más exacto decir que "todo es un flujo de bytes" que "todo es un archivo". / Dev / random no es un archivo, pero ciertamente es una secuencia de bytes. Y, aunque técnicamente estas cosas no son archivos, están accesibles en el sistema de archivos: el sistema de archivos es un "espacio de nombre" universal donde todo es accesible. ¿Desea acceder a un generador de números aleatorios o leer directamente desde un dispositivo? Encontrará ambos en el sistema de archivos; no se necesita ninguna otra forma de direccionamiento.

Por supuesto, algunas cosas no son realmente archivos: los procesos que se ejecutan en su sistema no son parte del sistema de archivos. "Todo es un archivo" es inexacto, pero muchas cosas se comportan como archivos.


Cómo obtener un reembolso para una aplicación de Android que compró en Google Play

Cómo obtener un reembolso para una aplicación de Android que compró en Google Play

Google Play le permite reembolsar fácilmente una aplicación, por cualquier motivo, dentro de las primeras dos horas después de haberla comprado. Después de eso, se vuelve un poco más difícil y coyuntural, pero aún hay maneras en que puede obtener un reembolso. No hay una manera automática de solicitar reembolsos por compras en la aplicación desde Google Play.

(how-to)

Las aplicaciones de Android serán increíbles en los Chromebook ... Una vez que se resuelvan los Kinks

Las aplicaciones de Android serán increíbles en los Chromebook ... Una vez que se resuelvan los Kinks

Llegarán a los Chromebook, y ASUS Chromebook Flip es el primer dispositivo en probar lo que está pasando ser como. Tiene sentido, en realidad, es una portátil-tableta portátil convertible ultraportátil que hace que muchos trabajos funcionen bien con y sin el teclado. La verdadera pregunta, sin embargo, es ¿Qué tan práctico es esto?

(how-to)