Linux系统文件类型 特殊文件 和 进程间通信机制

Linux主要文件类型:
1:普通文件(第一个属性用“-”表示)
普通文件就是我们通常访问的文件,由ll命令显示出来的属性中,第一个属性为“-”,例如【-rwxr-----】。我们根据文件的内容,又可以将普通文件分为以下几种。
纯文本文件(ASCII):Linux系统中最多的一种文件类型,它的内容我们可以直接读取。文件的内容一般都是字母、数字以及一些符号等。配置文件基本都属于这种文件类型。可以使用cat命令查看文件内容。
二进制文件(Binary):系统其实只认识并且可以执行二进制文件。Linux中的可执行文件就是这种格式,当然脚本、文本方式的批处理文件虽然可执行,但不是二进制文件。例如命令cat就是二进制文件。
数据格式的文件(Data):有些程序在运行过程中会读取某些特定格式的文件,这些特定格式的文件可以称为数据文件。比如,Linux用户在登陆系统时,会将登陆数据记录在/var/log/wtmp文件内,这个文件就是一个数据文件。
2:目录文件(directory)(第一个属性用“d”表示)
目录文件就是目录,相当于windows中的文件夹。
3:符号链接文件(link)(第一个属性用“l”表示)
符号链接相当于windows中的快捷方式。在Linux中有两种链接方式,软链接(符号链接)和硬链接。
4:设备文件(设备文件分为块设备文件和字符设备文件)或称为 虚拟设备文件,用来访问硬件设备,包括硬盘、键盘、光驱、打印机等设备。
块设备文件(block)(第一个属性用“b”表示):块设备是用来存储数据以供系统访问的接口设备,比如硬盘等。
字符设备文件(character)(第一个属性用“c”表示):字符设备就是拥有串行端口的接口设备,比如键盘、鼠标等。
每一硬件至少和一个设备文件相关联。命令或应用程序通过访问设备文件来访问相应硬件设备。 
这个种类的文件,是用mknode来创建,用rm来删除,目前在最新的Linux发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。
特殊文件一般放在/dev下面。这个目录包含所有的设备文件。应用程序和命令读写设备文件的方式和普通文件相同。 这样Linux做到了设备无关性。

--进程间通信机制 Linux有一些机制允许进程间进行通信,叫进程间通信机制,简称IPC。
3种常用的IPC:管道,命令管道(FIFOs),sockets 
****管道是一块内核态内存,允许两个进程进行相互通信。这两个进程运行在同一台计算机上,并且相互关联。
5:管道文件(FIFO,pipe)(第一个属性用“p”表示)

****FIFO是一个文件。允许同一台计算机上的两个进程进行通信,这两个进程不必相互关联
管道文件主要用来解决多个程序同时访问一个文件所造成的错误。
6:套接字文件(sockets)(第一个属性用“s”表示)
****socket是内核态内存上的一个数据结构,运行在不同计算机上的进程可以使用socket进行通信
套接字文件通常用户网络数据连接。我们可以启动一个程序来监听客户端的请求,客户端就可以通过套接字来进行数据通信。通常可以在/var/run/目录中看到这类文件。

 


 

 

转载于:https://www.cnblogs.com/QQ308368388/p/3606646.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux SD卡驱动开发(二) —— SD 卡驱动分析HOST篇

回顾一下前面的知识,MMC 子系统范围三个部分: HOST 部分是针对不同主机的驱动程序,这一部是驱动程序工程师需要根据自己的特点平台来完成的。 CORE 部分: 这是整个MMC 的核心存,这部分完成了不同协议和规范的实现,并为…

MVC应用程序显示RealPlayer(rm)视频

本篇博文是演示MVC应用程序显示RealPlayer视频。 客户端能观看到RealPlayer视频,前提条件是需要安装RealPlayer客户端,就是想看Falsh或理WMV视频一样,均要安装客户端或相关插件等。 Insus.NET实现方法,还是在控制器中Render RealP…

Linux从入门到精通系列之PPTP

Linux从入门到精通系列之PPTP今天我们来说下怎么在linux环境下如何搭建PPTP-,PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用…

Linux SD卡驱动开发(三) —— SD 卡驱动分析CORE篇

废话不多说,直接切进主题: Linux在内核源码的drivers/mmc/core文件夹下为我们的提供了一系列SD卡的接口服务函数。可以查看Makefile如下 可见,core文件夹下有针对总线的服务bus.c,针对主控制器的服务host.c,针对SD卡的…

Python数值计算:一 使用Pylab绘图(1)

Pylab的使用 学习使用Python进行科学计算,然而很难找到简单实用,又循序渐进的例子。正好手边有一本《Matlab可视化大学物理学》,里面的例子非常清晰地解释了Matlab在物理学中的应用。重新使用Python实现这些例子,学习了Python&…

Linux SD卡驱动开发(四) —— SD 控制器之真正的硬件操作

前面对SD卡控制器有了一个基本的介绍。其实SD控制器层更过的意义是为core层提供一种操作SD卡硬件的一种方法,当然不同的控制器对硬件控制的方法不尽相同,但是他们最终都能像core层提交一个统一的封装有操作方法的数据结构,那便是即将闪亮登场…

android 面试总结,后续注意学习

1、数据结构和算法一般情况下,工作中是用不到的,但是就是问,每个公司都问,而且有的公司还问的特别深,还让你手写代码。我觉得这个确实有点恶心,我个人也是很讨厌算法的,但是真是没办法&#xff…

Linux SD卡驱动开发(五) —— SD 卡驱动分析Core补充篇

Core层中有两个重要函数 mmc_alloc_host 用于构造host,前面已经学习过,这里不再阐述;另一个就是 mmc_add_host,用于注册host 前面探测函数s3cmci_probe,现在就来回顾一下这个函数的作用。先简要的概括一下这个函数的功能&#xff…

navicat连接oracle 报 ORA-12737 set CHS16GBK

2019独角兽企业重金招聘Python工程师标准>>> 1首 先,我们打开“工具”-->"选项"菜单,见到如下界面,依据OCI library(oci.dll) 路径,导航到 navicat oci 目录下,备份里面的文件(通过…

Linux SD卡驱动开发(六) —— SD卡启动过程总体分析

一、工作流程 mmc驱动主要文件包括 drivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mmc/core/core.c drivers/mmc/core/host.c drivers/mmc/core/ 内核启动时,首先执行core/core.c的mmc_init,注册mmc、sd总线,以及一个host clas…

svn怎么上传文件 — 百度经验无耻推广

2019独角兽企业重金招聘Python工程师标准>>> svn怎么上传文件 — 欢乐地点进去捧场 PS:觉得笔者太无耻,直接在下方评论抨击 转载于:https://my.oschina.net/cenqingbo/blog/212284

路由器和交换的本质区别解析

面试中经常遇到此类问题,首先我们遇到此类问题必须明白题目所要考察我们的目的是什么: 1:考察点:这类问题主要考察面试者对路由器和交换机的基本概念和工作原理的掌握程度,面试官主要是想了解面试者基础知识是否牢固。…

apache 重写和虚拟目录配置

要求:假如我请求一个地址:www.lxy.com/news-sport-id123.html转成:www.lxy.com/show.php?catenews&classsport&id123步骤:①首先我们需要在apache中启用rewrite模块打开apache的httpd.conf文件,找到#LoadModu…

JavaScript代码片段

简介:本文收集了我常用的JavaScript代码片段,欢迎提意见! 大灰狼边敲门边说:“小兔子乖乖,把门儿开开!” 小兔子听到后,连忙去开门:“来喽!” 兔妈妈对小兔子喊道&#x…

路由器开发(一)—— 路由器硬件结构及软件体系

一、路由器的硬件构成 路由器主要由以下几个部分组成:输入/输出接口部分、包转发或交换结构部分(switching fabric)、路由计算或处理部分。如图所示 图1 路由器的基本组成 输入端口是物理链路和输入包的进口处。端口通常由线卡提供&#…

【pl/sql番外篇】 存储过程 游标

SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中。SELECT INTO语法如下: SELECT [DISTICT|ALL…

路由器开发(二)—— 路由器工作原理

当信息需要在两个网络之间传输时,常用路由器这种互连设备来负责数据的传输。路由器的主要工作是:路径的决定和数据包的转发(从路由器一个接口输入,然后选择合适接口输出);维护路由表。 路由器工作的方式非常…

Android颜色渐变的分隔线(ListView)

2019独角兽企业重金招聘Python工程师标准>>> shape.xml xx <?xml version"1.0" encoding"utf-8"?><shape xmlns:android"http://schemas.android.com/apk/res/android" > <gradient android:startColor&qu…

iOS 层层推进实现代理模式

1.代理模式核心思想&#xff1a;A类委托B类做某件事&#xff0c;然后A类获取B类的执行的返回结果&#xff01; 举例&#xff1a;女孩想去买电影票&#xff0c;但是自己不亲自去而是委托男孩了解电影电影票信息&#xff0c;同时女孩获得男孩买票的结果&#xff0c;代码模拟实现&…

项目实践中Linux集群的总结和思考

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a;作为一名Linux/unix系统工程师、项目实施工程师&#xff0c;这几年一直在涉及到对外项目&#xff0c;经手过许多小中型网站的架构&#xff0c;F5、LVS及Nginx接触的都比较多&#xff0c;我想一种比较通俗…