Archivos de Linux, descriptores de archivos y dup () y dup2 ()

  
 

Los archivos A.Linux

se pueden dividir en cuatro tipos: archivos ordinarios, archivos de directorio, archivos de enlace y archivos de dispositivo.


1. Los archivos ordinarios


son los archivos más utilizados por los usuarios, incluidos los archivos de texto, scripts de shell, ejecutables binarios y varios Tipo de datos.


ls -lh para ver las propiedades de un archivo, puede ver algo como -rw-r - r--, vale la pena señalar que el primer símbolo es -, así que El archivo es un archivo normal en Linux. Estos archivos normalmente se crean con aplicaciones relacionadas, como herramientas de imagen, herramientas de documento, herramientas de archivo ... o herramientas de cp. La forma de eliminar dichos archivos es usar el comando rm;


2, archivos de directorio


En linux, los directorios también son archivos, están incluidos Nombres de archivos y nombres de subdirectorios y punteros a esos archivos y subdirectorios


Cuando ejecutamos en un directorio, vemos algo como drwxr-xr-x, que es el directorio. El directorio es un archivo especial en Linux. Tenga en cuenta que el primer carácter es d. Crear un directorio con el comando mkdir, o el comando cp, cp puede copiar un directorio a otro. Borrado con el comando rm o rmdir.


3. Archivos vinculados


Los archivos vinculados son similares a los "accesos directos" en Windows
.


es creado por ln -s nombre de archivo fuente nombre de archivo nuevo.


4, archivos de dispositivo


incluye dos tipos de archivos de dispositivo de bloque, y el otro es archivos de dispositivo de carácter

< Br>

Los archivos de dispositivos de bloque se refieren a la lectura y escritura de datos, son dispositivos basados ​​en bloques, como la unidad de disco duro


Los dispositivos de caracteres se refieren principalmente a dispositivos de interfaz de puerto serie Tales como tarjetas de red.

En segundo lugar, el descriptor de archivo

1, el descriptor de archivo y su papel


kernel (núcleo) mediante un archivo se describe en Descriptor de archivo para acceder al archivo. El descriptor de archivo es un entero no negativo. Al abrir un archivo existente o al crear un nuevo archivo, el núcleo devolverá un descriptor de archivo. Leer y escribir archivos también requiere el uso de descriptores de archivos para especificar qué archivos leer y escribir. Para Linux, todas las operaciones en dispositivos y archivos se realizan mediante descriptores de archivos. Un descriptor de archivo es un entero no negativo que es un valor de índice y apunta a una tabla de registros que abre un archivo para cada proceso en el núcleo. Al abrir un archivo existente o al crear un archivo nuevo, el kernel devuelve un descriptor de archivo al proceso; cuando necesita leer y escribir archivos,


también debe pasar el descriptor de archivo como parámetro Dar la función correspondiente.


Normalmente, cuando se inicia un proceso, abre 3 archivos: entrada estándar, salida estándar y manejo de errores estándar. Estos tres archivos corresponden a los descriptores de archivos 0, 1 y 2, es decir, las macros reemplazan a STDIN_FILENO, STDOUT_FILENO y STDERR_FILENO, y se recomienda a los lectores que usen estas macros en su lugar.


Vea los descriptores de archivo predeterminados para Linux, un total de 1024, que es suficiente para la mayoría de los casos:

# ulimit -n


Ver ID de proceso

#ps aux


Obtener un descriptor de archivo de proceso

cd /proc /[pid] /fd [pid] es el pid del proceso correspondiente.


#cd /proc /1473 /fd




#sysctl -a

Copyright © Conocimiento de Windows All Rights Reserved