您的位置:首页 > 运维架构 > Linux

linux文件以及文件描述符

2012-12-11 15:03 204 查看
Linux中文件可以分为4种:普通文件、目录文件、链接文件和设备文件。

1、普通文件

是用户日常使用最多的文件,包括文本文件、shell脚本、二进制的可执行和各种类型的数据。

ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具... .... 或 cp工具等。这类文件的删除方式是用rm 命令;

2、目录文件

在linux中,目录也是文件,它们是包含文件名和子目录名以及指向那些文件和子目录的指针

当我们在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。

3、链接文件

链接文件类似于Windows中的“快捷方式”。

是通过ln -s 源文件名 新文件名 来创建的。

4、设备文件

包括两种,块设备文件,另一种是字符设备文件。字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。

块设备文件是指数据的读写,它们是以块为单位的设备,如硬盘光驱。

字符设备主要是指串行端口的接口设备,如网卡等。

- -----------------------------------文件描述符---------------------------------------------

内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。

习惯上,标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。尽管这种习惯并非 Unix 内核的特性,但是因为一些 shell 和很多应用程序都使用这种习惯,因此,如果内核不遵循这种习惯的话,很多应用程序将不能使用。 文件描述符的有效范围是 0 到 OPEN_MAX。

在Windows操作系统上,文件描述符被称作文件句柄。

linux下查看文件描述符的使用情况如下:

sysctl -a | grep fs.file

fs.file-nr = 39392 0 372197

fs.file-max = 372197

nr就是已经用的。

==============================================================

file-max & file-nr:

The kernel allocates file handles dynamically, but as yet it

doesn't free them again.

The value in file-max denotes the maximum number of file-

handles that the Linux kernel will allocate. When you get lots

of error messages about running out of file handles, you might

want to increase this limit.

The three values in file-nr denote the number of allocated

file handles, the number of unused file handles and the maximum

number of file handles. When the allocated file handles come

close to the maximum, but the number of unused file handles is

significantly greater than 0, you've encountered a peak in your

usage of file handles and you don't need to increase the maximum.

==============================================================

--------------------------------------------------------------------------------

上面解释了文件描述符的概念。具体还不知道文件描述符是怎么生成并且使用的。后续了解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: