linux系统接口,linux系统一般用来干嘛

大家好,今天小编来为大家解答以下的问题,关于linux系统接口,linux系统一般用来干嘛这个很多人还不知道,现在让我们一起来看看吧!

linux系统中,有关网络服务的接口,是什么定义的

(1)网络接口的命名

这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的。例如:

eth0: ethernet的简写,一般用于以太网接口。

wifi0:wifi是无线局域网,因此wifi0一般指无线网络接口。

ath0: Atheros的简写,一般指Atheros芯片所包含的无线网络接口。

lo: local的简写,一般指本地环回接口。

(2)网络接口如何工作

网络接口是用来发送和接受数据包的基本设备。

系统中的所有网络接口组成一个链状结构,应用层程序使用时按名称调用。

每个网络接口在linux系统中对应于一个struct net_device结构体,包含name,mac,mask,mtu…信息。

每个硬件网卡(一个MAC)对应一个网络接口,其工作完全由相应的驱动程序控制。

(3)虚拟网络接口

虚拟网络接口的应用范围非常广泛。最着名的当属“lo”了,基本上每个linux系统都有这个接口。

虚拟网络接口并不真实地从外界接收和发送数据包,而是在系统内部接收和发送数据包,因此虚拟网络接口不需要驱动程序。

虚拟网络接口和真实存在的网络接口在使用上是一致的。

(4)网络接口的创建

硬件网卡的网络接口由驱动程序创建。而虚拟的网络接口由系统创建或通过应用层程序创建。

驱动中创建网络接口的函数是:register_netdev(struct net_device*)或者register_netdevice(struct net_device*)。

这两个函数的区别是:register_netdev(…)会自动生成以”eth”作为打头名称的接口,而register_netdevice(…)需要提前指定接口名称.事实上,register_netdev(…)也是通过调用register_netdevice(…)实现的。

2、LINUX中的lo(回环接口)

1)什么是LO接口?

在LINUX系统中,除了网络接口eth0,还可以有别的接口,比如lo(本地环路接口)。

2) LO接口的作用是什么?

假如包是由一个本地进程为另一个本地进程产生的,它们将通过外出链的’lo’接口,然后返回进入链的’lo’接口.具体参考包过滤器的相关内容。

PART2实验:

本地一个进程发起连接,到一个本地的daemon监听的内网IP地址(eth1: 10.1.1.1)的端口(8085),此时在eth1上是抓不到包的,在 lo上抓到,说明使用的是本地回环接口lo,而网络层的IP地址则是内网IP地址.

Linux系统中列出PCI设备和USB设备的命令详解

lspci

NAME

lspci-列出所有PCI设备 [[ ]]

总览 SYNOPSIS

lspci [ options ] [[ ]]

描述 DESCRIPTION

lspci是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。

为了能使用这个命令所有功能,你需要有 linux 2.1.82或以上版本,支持/proc/bus/pci接口的内核。在旧版本内核中,PCI工具必须使用只有root才能执行的直接硬件访问,而且总是出现竞争状况以及其他问题。

如果你要报告 PCI设备驱动中,或者是 lspci自身的 bugs,请在报告中包含 lspci-vvx的输出。

[[ ]]

选项 OPTIONS

-v

使得 lspci以冗余模式显示所有设备的详细信息。

-vv

使得 lspci以过冗余模式显示更详细的信息(事实上是 PCI设备能给出的所有东西)。这些数据的确切意义没有在此手册页中解释,如果你想知道更多,请参照/usr/include/linux/pci.h或者 PCI规范。

-n

以数字形式显示 PCI生产厂商和设备号,而不是在 PCI ID数据库中查找它们。

-x

以十六进制显示 PCI配置空间(configuration space)的前64个字节映象(标准头部信息)。此参数对调试驱动和 lspci本身很有用。

-xxx

以十六进制显示所有 PCI配置空间的映象。此选项只有 root可用,并且很多 PCI设备在你试图读取配置空间的未定义部分时会崩溃(此操作可能不违反PCI标准,但是它至少非常愚蠢)。

-b

以总线为中心进行查看。显示所有 IRQ号和内存地址,就象 PCI总线上的卡看到的一样,而不是内核看到的内容。

-t

以树形方式显示包含所有总线、桥、设备和它们的连接的图表。

-s [[bus]:][slot][.[func]]

仅显示指定总线、插槽上的设备或设备上的功能块信息。设备地址的任何部分都可以忽略,或以*代替(意味着所有值)。所有数字都是十六进制。例如:0:指的是在0号总线上的所有设备;0指的是在任意总线上0号设备的所有功能块;0.3选择了所有总线上0号设备的第三个功能块;.4则是只列出每一设备上的第四个功能块。

-d [vendor]:[device]

只显示指定生产厂商和设备 ID的设备。这两个 ID都以十六进制表示,可以忽略或者以*代替(意味着所有值)。

-i file

使用 file作为 PCI ID数据库而不是使用默认的/usr/share/hwdata/pci.ids。

-p dir

使用 dir作为包含 PCI总线信息的目录而不是使用默认的目录/proc/bus/pci。

-m

以机器可读的方式转储 PCI设备数据(支持两种模式:普通和冗余),便于脚本解析。

-M

使用总线映射模式,这种模式对总线进行全面地扫描以查明总线上的所有设备,包括配置错误的桥之后的设备。请注意,此操作只应在调试时使用,并可能造成系统崩溃(只在设备有错误的时候,但是不幸的是它们存在),此命令只有 root可以使用。同时,在不直接接触硬件的 PCI访问模式中使用-M参数没有意义,因为显示的结果(排除 lspci中的 bug的影响)与普通的列表模式相同。

--version

显示 lspci的版本。这个选项应当单独使用。

[[ ]]

PCILIB选项 PCILIB OPTIONS

PCI工具使用 PCILIB(一种可移植的库,提供平台独立的函数来访问 PCI配置空间)来和PCI卡交互。下面的选项用来控制库参数,特别是所用访问模式的指定。默认情况下,PCILIB使用第一种可用的访问模式,不会显示任何调试信息。每一个开关选项都列出了一组它所支持的硬件/软件列表。

-P dir

使用 linux 2.1风格的配置,直接访问目录 dir而非/proc/bus/pci目录。(只能在 linux 2.1或以上版本中使用)

-H1

通过 Intel架构 1来实现直接硬件访问。(只能用于 i386及其兼容机)

-H2

通过Intel架构 2来实现直接硬件访问。警告:此模式只能寻址任何总线上的前16个设备,并且在很多情况下相当不可靠。(只能用于 i386及其兼容机)

-S

使用 PCI系统调用访问。(只能用于 Alpha和 Ultra-Sparc上的 Linux)

-F file

从所给的包含 lspci-x命令输出的文件中获取相关信息。这在分析用户提交的错误报告时很有用,因为你可以用任何方式来显示硬件配置信息而无需为了获取更多信息打扰用户。(可用于所有系统)

-G

增加库的调试等级。(可用于所有系统)

例:

a,列出所有PCI设备

代码如下:

[root@localhost zhangy]# lspci-tv#列出所有PCI设备

b,查看网卡型号

代码如下:

[root@localhost zhangy]# lspci|grep-i eth

05:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8039 PCI-E Fast Ethernet Controller(rev 14)

lsusb

lsusb作用:

列出所有usb设备

lsusb语法:

lsusb [参数]

lsusb参数:

-D设备路径不扫描/proc/bus/usb,而以指定的设备路径取代

-p内核路径使用其他USB设备在内核的路径,默认为/proc/bus/usb

-t将USB设备以树状架构输出

-v列出较详细的运行过程

-vv列出完整的运行过程

-V显示版本信息

例:

代码如下:

[root@localhost zhangy]# lsusb   #列出所有usb设备

Linux 操作系统是什么

Linux也是众多操作系统之一,要想知道 Linux是什么,首先得说一说什么是操作系统。

计算机是一台机器,它按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频等)。计算机由硬件和软件组成:

硬件是计算机赖以工作的实体,包括显示器、键盘、鼠标、硬盘、CPU、主板等;

软件会按照用户的要求协调整台计算机的工作,比如 Windows、Linux、Mac OS、Android等操作系统,以及 Office、QQ、迅雷、微信等应用程序。

操作系统(Operating System,OS)是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁(或者说接口、中间人、中介等)。

操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序,例如:

文件系统

提供计算机存储信息的结构,信息存储在文件中,文件主要存储在计算机的内部硬盘里,在目录的分层结构中组织文件。文件系统为操作系统提供了组织管理数据的方式。

设备驱动程序

提供连接计算机的每个硬件设备的接口,设备驱动器使程序能够写入设备,而不需要了解执行每个硬件的细节。简单来说,就是让你能吃到鸡蛋,但不用养一只鸡。

用户接口

操作系统需要为用户提供一种运行程序和访问文件系统的方法。如常用的 Windows图形界面,可以理解为一种用户与操作系统交互的方式;智能手机的 Android或 iOS系统,也是一种操作系统的交互方式。

系统服务程序

当计算机启动时,会自启动许多系统服务程序,执行安装文件系统、启动网络服务、运行预定任务等操作。打个比方,操作系统就好像是一个政府,其它软件都会被它管控;操作系统在给其他软件提供各种便利的同时,还会约束其他软件不能为所欲为。

目前流行的服务器和 PC端操作系统有 Linux、Windows、UNIX等,手机操作系统有 Android、iOS、Windows Phone(简称 WP),嵌入式操作系统有Windows CE、PalmOS、eCos、uClinux等。这套《Linux入门教程》主要讲解 Linux这种操作系统的应用,并不想过多涉及操作系统的类型和功能等理论性的知识,本节的目的是让读者明白,操作系统也是软件的一种,只不过它是位于硬件和应用程序之间的底层的软件,它除了会为应用程序保驾护航,还会“杀死”不听话的应用程序,具有双面性。以上对操作系统的认知虽然只是“皮毛”,但它足以让我们学习 Linux了。

阅读剩余
THE END