文件是Linux系统处理数据的基本单位,实际上,Linux系统所有的数据以及其他实体都是按照文件组织的。shell程序使用文件名通配符可以查询符合指定条件的文件名。......
2023-11-19
Linux系统继承了UNIX系统的特点,文件系统的目录有约定的结构,并且每个目录也有约定的功能定义。在Linux系统中,除了根目录(/)以外,所有的磁盘分区和设备都是组织在文件系统里的,根目录(/)是所有文件和目录的开始,如图7.1所示。
图7.1 Linux文件系统目录结构
在Linux系统命令行下使用“ls/-p”可以得到根目录下目录的列表,图7.0是一个示意图。各目录含义如下所述。
/bin:此目录包含普通用户和管理员都可以用到的命令。如bash、csh等shell程序,以及cp、rm、cat、ls等常用命令。bin目录对用户来说是不可缺少的。
/dev:此目录下的文件都是设备文件。确切地说,访问/dev目录下的文件就可以直接访问对应的硬件设备。如/dev/hda1代表了IDE硬盘的第一个分区,使用fdisk程序可以对分区进行操作。其他的如/dev/ttyS0是串口1,输入命令“cat/boot/grub/menu.lst>/dev/ttyS0”可以把menu.lst文件从串口输出。
/home:Linux是一个多用户的系统。每个用户有自己的目录。/home目录下存放了普通用户的工作目录,每个用户名对应/home目录下的一个子目录。
/lost+found:如果系统由于掉电或者其他意外情况突然关机,启动的时候系统会调用fsck进行长时间的文件检查。fsck程序会检测并尝试恢复不正确的文件,被恢复的文件会放在这个目录下。
/proc:这是一个特殊的目录,系统任何一个分区上都不存在这个目录。/proc目录是内核在内存中映射的实时文件系统,存放内核向用户程序提供的信息文件。
/sbin:此目录包含使系统运行的关键可执行文件,以及一些管理程序。通常只有超级用户权限才可以访问该目录下的程序。
/usr:这是系统中很重要的一个目录,包含了所有用户的二进制文件和库文件等。
/boot:此目录包含系统启动的映像文件,如vmlinuz、system.map等文件。LILO和Grub引导管理器的程序也放在该目录下。
/etc:此目录存放系统配置文件。几乎所有系统配置文件以及应用程序的配置文件都存放在/etc目录下。如常见的/etc/vsftpd目录存放了vsftpd应用程序的配置文件。
/lib:此目录存放系统所有应用程序的共享库文件,以及内核的模块文件。
/mnt:此目录用千加载磁盘分区和硬件设备挂载点。用户可以在/mnt目录下建立硬件设备对应的目录,然后把硬件设备挂载到相应的目录上。此目录并不是强制要求,目的是为了系统目录工整。(www.chuimin.cn)
/root:此目录是超级用户root的用户目录。
/tmp:此目录存放系统和应用程序生成的临时文件。
/var:此目录存放假脱机(spooling)数据以及系统日志等。常见的MySQL数据库程序的日志也存放在该目录下。
使用Linux系统的读者会发现,Linux文件系统目录虽然结构工整,但是仍然存在目录层次过深的问题,从shell访问某个文件,如果存放在好几层目录下,访问很不方便。Linux系统提供了文件链接的功能解决了这个问题。
Linux系统有一种特殊的文件,叫做链接文件,链接文件内保存了被链接文件的存放路径,链接文件可以存放在任意路径下。通过链接文件方便了用户访问某个文件,同时也给脚本编写带来便利。在脚本中可以指定访问一个确切的文件名,这个文件是一个链接文件,链接到具体的文件,只需要根据不同情况修改链接文件而不需要修改脚本。链接文件分为符号链接和硬链接2种。
1.符号链接
符号链接也称为软链接,是将一个路径名链接到一个文件。实际上链接是个文本文件,文件内容是它所链接的目标文件的绝对路径名。所有读写链接文件的操作按照链接文件指定的路径操作实际的文件。
符号链接是一个新的文件,它与实际文件有不同的I节点号。符号链接可以连接到目录,也可以在不同文件系统之间做链接。
使用ls命令建立符号链接时,建议用绝对路径名,这样可以在任何工作目录下进行符号链接。使用相对路径时,如果当前路径与软链接文件路径不同就不能进行链接。当删除一个文件的时候,不会删除链接到该文件的符号链接。如果删除文件后,创建的新文件名与被删除文件同名,符号链接继续有效,指向新的文件。
使用ls命令列目录的时候,符号链接显示为一种特殊文件,在文件属性第一个字符显示为“I”,表示符号链接。符号链接的大小是被链接文件的字节数。
2.硬链接
与符号链接不同,硬链接会占用目录文件中的一个目录项,一个文件可以登记在多个目录中。创建硬链接后,已经存在的文件的I节点号会被多个目录文件项使用。文件的硬链接数量在使用ls命令查看文件列表的时候显示。没有建立硬链接的文件,链接数显示为1。
硬链接有一定的限制,由千硬链接更改文件系统的I节点信息,因此硬链接仅能链接到同一个文件系统内的文件。
有关ARM嵌入式系统原理与应用的文章
文件是Linux系统处理数据的基本单位,实际上,Linux系统所有的数据以及其他实体都是按照文件组织的。shell程序使用文件名通配符可以查询符合指定条件的文件名。......
2023-11-19
Linux系统中在访问文件和目录之前需要获取相应权限。图7.2Linux文件权限文件或目录的权限又分为3种:只读、只写、可执行,如表7.1所示。表7.1Linux文件权限表目录和文件访问权限的含义有所不同,区别如下:文件存取权限:读权限仅允许用户读取文件内容而无法进行其他操作;写权限允许用户修改文件内容;执行权限允许文件作为一个可执行程序运行。表示将/home/test01文件修改为所有用户具备执行权限。......
2023-11-19
对一个打开的文件而言,最常用到的就是对文件的读写操作,在Linux系统中,提供了系统调用函数实现文件的读写操作。读取文件数据时,文件的当前读写位置会向后移。以下几种读取文件数据情况下,返回的字节数会小于count值。......
2023-11-19
在Linux系统中,文件系统可以根据需要随时装载。mount-text3/dev/hdal/mnt表示把刚才格式化好的IDE硬盘第一个分区挂载到/mnt目录下,并且指定了分区的文件系统类型是ext3。mount命令通过-t参数指定挂载文件系统的类型,还可以使用-o参数指定与文件系统相关的选项,例如数据的处理方式等。为了保证文件系统的完整性,在关闭文件系统之前,所有挂载的文件系统都必须卸载。umount/mnt表示把挂载在/mnt目录下的文件系统卸载。......
2023-11-19
Linux统按照文件中数据的特点对文件划分不同的类别,称做文件类型。Linux系统提供了一个file命令用来查看文件的类型,执行file<文件名>即可得到指定文件的类型。目录的第一项是目录本身,以“.”作为目录本身的名称。......
2023-11-19
根文件系统挂接在根目录“/”上。再加上其他分区上的所有目录、文件集合,统称为文件系统。图6.12Linux系统主要目录制作root文件系统:●制作root文件系统就是创建系统的各种重要目录和必须使用的文件;●用busybox精简系统应用程序。建立ROOT根文件系统的具体过程:编译安装Busybox,生成/bin,/sin,/usr/bin,/usr/sbin等目录;构建/lib目录;构建/etc目录;构建/dev目录;建立其他目录;制作根文件系统的映像文件。......
2023-11-19
2.开发模式嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。表1.2常用嵌入式开发工具......
2023-11-19
用户应用程序调用设备的功能都是在设备驱动程序中定义的,也就是设备驱动程序中所定义的功能入口点函数。struct file_operations{};struct inode{};struct file{};编写设备驱动程序,很大一部分工作就是“填写”结构体中定义的函数。取得目录入口点,只用于与文件系统相关的设备驱动程序。一般编写设备驱动程序时并不一定要全部定义以上函数,只需定义对设备有意义的接口函数。fie结构主要是与文件系统对应的设备驱动程序使用。......
2023-11-19
相关推荐