人们常说linux最大有65536个文件描述符,是由于常用linux内核的默认值决定的,实际上是可以通过修改内核突破的。 了解下文件描述符,内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。 文件描述符的有效范围是 0 到 OPEN_MAX。一般来说,每个进程最多可以打开 64 个文件(0 — 63)。对于 FreeBSD 5.2.1、Mac OS X 10.3 和 Solaris 9 来说,每个进程最多可以打开文件的多少取决于系统内存的大小,int 的大小,以及系统管理员设定的限制。Linux 2.4.22 强制规定最多不能超过 1,048,576 。

在VC++编译器中,".o"是目标文件的扩展名。目标文件是编译源代码后生成的中间文件,包含了已编译的二进制代码和相关的符号信息,但还没有被链接为最终的可执行文件。
当你使用VC++编译器编译源代码时,它会将源代码文件(例如.cpp文件)转换为目标文件(.o文件)。这个过程包括将源代码翻译成机器语言,并生成符号表以供后续链接步骤使用。
目标文件是可重定位的,这意味着它们可以被链接器(如VC++的链接器)用于生成最终的可执行文件或共享库。链接器会将所有的目标文件和所需的库文件结合起来,并解决符号引用,生成最终的可执行文件或库。
在Windows环境下,VC++编译器生成的目标文件的扩展名通常是".obj",而不是".o"。".o"是类Unix系统(如Linux)下使用的目标文件扩展名。
总之,".o"代表VC++编译器生成的目标文件,其中包含已编译的二进制代码和符号信息,用于后续的链接步骤。
这个应该不是正则表达式而是linux下面的文件通配符
* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ]中所包含的任何字符。
一般用于cp mv ls 类似的命令,通配文件
像 file*.c 就表示 fileafasf.c 这样类似的文件名,像上面的全部放到一起具体还不知道是什么?
一个很长的包含空格的文件名?
2、在终端中使用touch命令创建一个文件
4、返回到终端中,使用ls -l 查看文件权限
5、使用chmod命令以及+x参数给文件可执行权限
这里的x表示可执行权限(读、写、可执行三种权限分别是用r、w、x来表示);而那个a表示all,就是用户、用户组和其他用户三种身份的权限值都进行修改(如果只修改用户权限(user)、用户组权限(group)、其他用户(others)三种身份其中的一种,可以用u、g或o来代替那个字母a);x前面的加号表示添加权限(如果是去掉某个权限就是英文减号)。
在使用ls -l 命令查看 文件权限属性就有了可执行权限,可以使用文件的绝对路径来运行它