认识linux中的设备名称
- 格式:doc
- 大小:20.50 KB
- 文档页数:2
学习笔记一.L inux基础(一).Linux文件系统Linux中没有Windows中C盘、D盘的概念,Linux中一切皆文件。
1. 文件类型文件类型有:普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为[-]。
目录文件(directory):就是目录,第一个属性为[d]。
连接文件(link):类似Windows下面的快捷方式,第一个属性为[l]。
设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在/dev 目录。
通常又分为两种:块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。
例如一号硬盘的代码是/dev/hda1等文件。
第一个属性为[b]。
字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。
第一个属性为[c]。
套接字(sockets):这类文件通常用在网络数据连接。
可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。
第一个属性为[s],最常在/var/run 目录中看到这种文件类型。
管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。
FIFO是first-in-first-out(先进先出)的缩写。
第一个属性为[p]。
这里,着重了解普通文件、目录文件和连接文件。
2. 文件结构/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
/bin:bin 就是二进制(binary)英文缩写。
在一般的系统当中,都可以在这个目录下找到linux常用的命令。
系统所需要的那些命令位于此目录。
/boot:Linux的内核及引导系统程序所需要的文件目录,比如vmlinuz initrd.img 文件都位于这个目录中。
在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。
/cdrom:这个目录在刚刚安装系统的时候是空的。
linux硬件种类
Linux操作系统可以运行在各种不同类型的硬件上,包括个人电脑、服务器、嵌入式系统和超级计算机等。
以下是一些常见的Linux硬件种类:
1. 个人电脑,Linux可以安装在各种桌面和笔记本电脑上,支持多种处理器架构,如x86、x86-64、ARM等。
常见的个人电脑硬件包括处理器、内存、硬盘、显卡、网卡等。
2. 服务器,Linux在服务器领域应用广泛,支持各种服务器硬件,包括基于x86架构的服务器、IBM Power Systems、Oracle SPARC等。
服务器硬件通常具有更高的性能和可靠性要求,用于承担网络服务、存储和计算等任务。
3. 嵌入式系统,Linux也被广泛应用于嵌入式系统,如智能手机、平板电脑、路由器、智能家居设备等。
这些设备通常采用ARM 架构或者其他低功耗处理器,并且需要定制化的Linux内核和驱动程序来适应特定的硬件需求。
4. 超级计算机,许多世界顶尖的超级计算机采用Linux作为操
作系统,例如中国的天河系列超级计算机。
这些超级计算机通常由数千甚至数百万个处理器核心组成,需要高度并行的计算能力和大规模的存储系统。
总的来说,Linux可以运行在各种不同类型的硬件上,从个人电脑到超级计算机,覆盖了多个领域的需求。
这种灵活性和可定制性使得Linux成为了一个广泛应用的操作系统。
linux虚拟⽹络之macvlan设备macvlan能将⼀块物理⽹卡虚拟成多块虚拟⽹卡;macvlan 是 Linux kernel ⽀持的新特性,⽀持的版本有 v3.9-3.19 和 4.0+,⽐较稳定的版本推荐 4.0+。
它⼀般是以内核模块的形式存在modprobe macvlan #加载macvlan;可⽤于判断系统是否⽀持macvlanlsmod | grep macvlan #确认是否已加载macvlan对⽐vlan=======================================================================================================macvlan对⽐vlan1.macvlan ⼦接⼝和原来的主接⼝是完全独⽴的,可以单独配置 MAC 地址和 IP 地址;VLAN ⼦接⼝和主接⼝共⽤相同的 MAC 地址。
2.VLAN ⽤来划分⼴播域; macvlan 共享同⼀个⼴播域。
macvlan是⼀个⽹卡的影分⾝;vlan则是携带vlan id的分⾝。
看起来差不多,实际相差很⼤,底层是完全不同的技术,所以也表现出了以下的差异:1.macvlan的不同分⾝,均使⽤不同的mac地址;⽽vlan设备则是共⽤mac地址2.macvlan共享同⼀个⼴播域;VLAN ⽤来划分⼴播域3.macvlan设备直接接⼊到vm或network namespace并进⾏使⽤;vlan 设备接触到的是attach bridge,直接接⼊到vm或network namespace 也是可以的如果将macvlan attach到bridge,相当于将物理交换⽹络拓展到linux内部,但是这种是⽆意义的吧=========================实验:vlan设备直接放⼊到network namespace============================================================= ip link add link eth0 name eth0.888 type vlan id 888ip netns add vlan888_nsip link set eth0.888 netns vlan888_nsip netns exec vlan888_ns ip addr add 88.8.8.8/24 dev eth0.888ip netns exec vlan888_ns ip link set eth0.888 up--------------------------------------------------------------------------------ip link add link eth0 name eth0.888 type vlan id 888ip netns add vlan888_nsip link set eth0.888 netns vlan888_nsip netns exec vlan888_ns ip addr add 88.8.8.88/24 dev eth0.888ip netns exec vlan888_ns ip link set eth0.888 up-------------------------------------------------------------------------------------[root@yefeng ~]# ip netns exec vlan888_ns ping 88.8.8.8 -c1PING 88.8.8.8 (88.8.8.8) 56(84) bytes of data.64 bytes from 88.8.8.8: icmp_seq=1 ttl=64 time=0.205 ms--- 88.8.8.8 ping statistics ---1 packets transmitted, 1 received, 0% packet loss, time 0msrtt min/avg/max/mdev = 0.205/0.205/0.205/0.000 ms###ping包测试,通;###抓包查看,确实携带vlan id 888macvlan对⽐vlanmacvlan流量隔离:macvlan 会根据收到包的⽬的 MAC 地址判断这个包需要交给哪个虚拟⽹卡,虚拟⽹卡再把包交给上层的协议栈处理。
Linux命令行下的硬件信息查看和管理技巧一、概述在Linux操作系统中,通过命令行可以方便地查看和管理硬件信息。
本文将介绍几个常用的命令行工具,以及它们的用法和功能,帮助读者更好地了解和处理硬件相关的问题。
二、查看硬件信息1. lshw命令lshw是一个强大的硬件信息查看工具,可以显示计算机中各个组件的详细信息。
使用以下命令安装lshw:sudo apt-get install lshw安装完成后,运行lshw命令即可显示硬件信息:sudo lshw需要管理员权限才能运行以上命令。
2. lspci命令lspci命令可以列出计算机中所有PCI设备的信息,包括显卡、网卡、声卡等。
运行以下命令可以查看PCI设备列表:lspci如果需要更详细的信息,可以添加-v参数:lspci -v3. lsusb命令lsusb命令用于列出计算机中所有USB设备的信息。
运行以下命令可以查看USB设备列表:lsusb如果需要更详细的信息,可以添加-v参数:lsusb -v4. lscpu命令lscpu命令可以显示CPU相关的信息,包括型号、架构、核心数等。
运行以下命令可以查看CPU信息:lscpu5. df命令df命令用于显示磁盘空间使用情况。
运行以下命令可以查看磁盘空间信息:df -h-h参数可以将磁盘大小以人类可读的方式显示。
三、管理硬件设备1. ifconfig命令ifconfig命令用于配置和管理网络接口。
运行以下命令可以显示网络接口的信息:ifconfig如果需要更详细的信息,可以添加-a参数:ifconfig -a2. iwconfig命令iwconfig命令用于配置和管理无线网络接口。
运行以下命令可以显示无线网络接口的信息:iwconfig3. modprobe命令modprobe命令用于加载和卸载内核模块。
运行以下命令可以加载指定的内核模块:sudo modprobe module_name其中module_name为要加载的内核模块的名称。
Linux 字符设备基础字符设备驱动程序在系统中的位置操作系统内核需要访问两类主要设备,简单的字符设备,如打印机,键盘等;块设备,如软盘、硬盘等。
与此对应,有两类设备驱动程序。
分别称为字符设备驱动程序和块设备驱动程序。
两者的主要差异是:与字符设备有关的系统调用几乎直接和驱动程序的内部功能结合在一起。
而读写块设备则主要和快速缓冲存储区打交道。
只有需要完成实际的输入/输出时,才用到块设备驱动程序。
见下图:Linux 设备驱动程序的主要功能有:● 对设备进行初始化;● 使设备投入运行和退出服务;● 从设备接收数据并将它们送到内核;● 将数据从内核送到设备;●检测和处理设备出现的错误。
当引导系统时,内核调用每一个驱动程序的初始化函数。
它的任务之一是将这一设备驱动程序使用的主设备号通知内核。
同时,初始化函数还将驱动程序中的函数地址结构的指针送给内核。
内核中有两张表。
一张表用于字符设备驱动程序,另一张用于块设备驱动程序。
这两张表用来保存指向file_operations结构的指针,设备驱动程序内部的函数地址就保存在这一结构中。
内核用主设备号作为索引访问file_operations结构,因而能访问驱动程序内的子程序。
从开机到驱动程序的载入系统启动过程中可能出现几种不同的方式检测设备硬件。
首先机器硬件启动时BIOS会检测一部分必要的设备,如内存、显示器、键盘和硬盘等等。
机器会把检测到的信息存放在特定的位置,如CMOS数据区。
而另外某些设备会由设备驱动程序进行检测。
1 开机2 引导部分(,)3 实模式下的系统初始化()4 保护模式下的核心初始化5 启动核心()init函数中函数调用关系如下:main.c init()filesystems.c sys_setup()genhd.c device_setup()mem.c chr_dev_init()至此,驱动程序驻入内存。
设备驱动程序基本数据结构:struct device_struct系统启动过程中要登记的块设备和字符设备管理表的定义在文件中:struct device_struct {const char * name;struct file_operations * fops;};static struct device_struct chrdevs[MAX_CHRDEV];static struct device_struct blkdevs[MAX_BLKDEV];其实块设备表和字符设备表使用了相同的数据结构。
linux 设备名称规则Linux 设备名称规则在Linux 系统中,设备名称是用来标识和区分不同硬件设备的。
每个设备都有一个独特的设备名称,严格遵循一定的规则。
本文将介绍 Linux 设备名称的规则和命名约定,以及其背后的原理。
1. 设备名称的分类根据设备名称的用途和特点,可以将其分为两类:块设备和字符设备。
块设备是指以固定大小的块为单位进行读写的设备,例如硬盘和固态硬盘。
字符设备是指以字符为单位进行读写的设备,例如键盘和鼠标。
2. 主设备号和次设备号每个设备名称由主设备号和次设备号组成,用于标识设备的类型和具体的设备。
主设备号用来区分设备的类型,次设备号则用来区分同类型设备中的不同实例。
3. 设备名称的命名规则Linux 设备名称的命名规则如下:- 块设备的设备名称以字母"sd" 开头,后面跟随一个小写字母表示设备类型(a 表示第一个设备,b 表示第二个设备,以此类推)。
- 字符设备的设备名称以字母"tty" 开头,后面跟随一个数字和一个小写字母表示设备类型(例如 ttyS0 表示串口设备)。
4. 设备名称的分配设备名称的分配是由内核自动完成的。
在启动时,内核会扫描系统中的硬件设备,并为每个设备分配一个设备名称。
分配的规则是根据设备的类型和连接顺序来确定的,保证相同类型的设备具有相似的设备名称。
5. 示例下面是一些常见设备的名称示例:- /dev/sda:表示第一个 SATA 硬盘。
- /dev/sdb:表示第二个 SATA 硬盘。
- /dev/ttyS0:表示第一个串口设备。
6. 使用设备名称在Linux 系统中,可以通过设备名称来访问和操作设备。
例如,可以使用命令行工具 fdisk 来管理硬盘分区,指定设备名称作为参数即可。
7. 设备名称的重要性设备名称在Linux 系统中非常重要,它是系统与硬件设备之间的桥梁。
正确的设备名称可以确保系统能够正确地识别和操作硬件设备,而错误的设备名称可能导致设备无法正常工作。
Linux设备模型之终端设备(tty)驱动架构分析***************************************************** 本文系本站原创,欢迎转载!转载请注明出处: 这里感谢:晓刚的分析和指点,及网上的所有串口资源***************************************************** 一 :前言终端设备在Linux系统中,终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
tty是Teletype的缩写,Teletype是最早出现的一种终端设备,很像电传打字机,是由Teletype公司生产的。
Linux中包含如下几类终端设备:1.串行端口终端(/dev/ttySn)串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。
2.伪终端(/dev/pty/)伪终端(Pseudo Terminal)是成对的逻辑终端设备3.控制台终端(/dev/ttyn, /dev/console)二:终端设备驱动结构1.Tty架构如下所示:Tty_core: Tty核心层Line discipline : 是线路规程的意思(链路层)。
正如它的名字一样,它表示的是这条终端”线程”的输入与输出规范设置.主要用来进行输入/输出数据的预处理Tty_driver: Tty_driver就是终端对应的驱动了。
它将字符转换成终端可以理解的字串.将其传给终端设备。
tty设备发送数据的流程为:tty_core从一个用户获得将要发送给一个tty设备的数据,tty_core将数据传递给Line discipline处理,接着数据被传递到tty_driver,tty驱动将数据转换为可以发送给硬件的格式tty设备接受数据的流程为:从tty硬件接收到得数据向上交给tty_driver,进入Line discipline处理,再进入tty_core,在这里它被一个用户获取尽管大多数时候tty_core和tty_driver之间的数据传输会经历Line discipline的转换,但是tty_core和tty_driver之间也可以直接传输数据2.tty主要源文件关系及数据流向:图二:tty主要源文件关系及数据流向上图显示了与tty相关的主要源文件及数据流向。
linux磁盘命名规则Linux磁盘命名规则在Linux系统中,磁盘命名规则是为了方便用户识别和管理磁盘设备而设计的。
了解和熟悉这些规则对于系统管理员和Linux用户来说是非常重要的。
本文将介绍一些常见的磁盘命名规则,帮助读者更好地理解和应用。
1. 设备文件名在Linux中,每个磁盘设备都对应一个设备文件,设备文件位于/dev目录下。
磁盘设备的命名通常遵循以下规则:- IDE和SATA设备:IDE和SATA设备的命名通常以"hd"开头,然后加上一个字母来表示设备号。
例如,/dev/hda表示IDE设备的第一个磁盘,/dev/sdb表示SATA设备的第二个磁盘。
- SCSI和SAS设备:SCSI和SAS设备的命名通常以"sd"开头,然后加上一个字母来表示设备号。
例如,/dev/sda表示SCSI设备的第一个磁盘,/dev/sdc表示SAS设备的第三个磁盘。
2. 分区命名磁盘上的分区也有自己的命名规则。
分区的命名通常在设备文件名的基础上加上一个数字来表示分区号。
例如,/dev/sda1表示第一个分区,/dev/sdb2表示第二个分区。
3. 文件系统标签为了方便用户管理磁盘,可以给文件系统添加一个标签。
文件系统标签可以通过以下命令来设置:```e2label /dev/sda1 mydisk```其中,/dev/sda1是要设置标签的设备文件,mydisk是标签的名称。
设置了文件系统标签后,可以通过标签来引用设备文件,而不必依赖设备文件名。
4. UUIDUUID(Universally Unique Identifier)是一个唯一的标识符,可以用来标识磁盘设备和文件系统。
UUID的格式通常是一个由数字和字母组成的字符串,例如"f47ac10b-58cc-4372-a567-0e02b2c3d479"。
可以通过以下命令来查看设备文件的UUID:```blkid /dev/sda1```UUID在识别磁盘设备和文件系统时非常有用,因为它不受设备文件名和分区号的影响。
计算机用CPU来运算, 内存来存储程序和数据之外,还有一些设备,如磁盘驱动器, 显示卡, 键盘, 网卡, modem卡, 声卡, 串口和并口,等等.还有电源提供电能, 主板上的各种总线把设备和CPU 连在一起,机箱把它们装起来.
过去, 许多设备都是插卡(印刷线路板). 今天, 除了插卡之外,许多设备已经小到一块芯片被做在主版上. 主版上的插卡也许包含不止一个设备.
计算机要正常工作,每个设备必须在它的驱动程序(它也是操作系统的一部分,在CPU上运行)控制下运行.驱动程序与/dev目录下的特殊文件联系在一起, 尽管他们不是真正的文件. 它们有象hda1, ttyS0, eth1 等这样的名字.
一,硬盘
每个硬盘表现为一个单独的设备文件。
通常只能有2-4个IDE硬盘。
这就是/dev/hda , /dev/hdb , /dev/hdc , 和/dev/hdd 。
SCSI是/dev/sda , /dev/sdb ,等等。
二,软驱
软驱的名字是复杂的,因此Linux有一个特定的软驱设备类型,能自动检测软驱中软盘的种类。
它使用不同的软盘类型试图读取新插入的软盘的第一个扇区,直到找到正确的一个。
这自然要求软盘是已经格式化过的。
自动设备叫/dev/fd0 、/dev/fd1等。
三,scsi设备
当一个新的SCSI 主卡被侦测到时,SCSI 驱动程序会寻找连接著的设备。
请检查系统日志你的设备被正确地侦测到了。
新的SCSI 设备会被指定为第一个可用的SCSI设备文件。
第一个SCSI 硬盘是/dev/sda,第一个SCSI 磁带机是/dev/st0,还有,第一个CD-ROM 会是/dev/scd0。
四,网卡设备
Linux 的以太型网卡界面通常被称做eth0、eth1 等等。
环形卡亦同样地被看待.然而它们被称做tr0、tr1等等。
ifconfig 命令是被用来观看及修改网络界面状态的。
Linux的另一特点是网络界面并不会像其他设备一样地被看成是一个在/dev里头的文件。
所以如果您在/dev 内找不到它们时请不要觉得惊讶。
当一个以太网卡被侦测到时,它会被指定为第一个可用的接口卡名字,通常为eth0。
五,串行设备
Linux 的串行设备都是被经由/dev/cua* 和/dev/ttyS*特殊设备文件来做取用。
ttyS* 的设备被使用在进来的连接,例如直接地连接终端机。
cua* 的设备被使用在往外的连接,比如说调制解调器。
而每一个实体串口都各有ttyS和cua两个设备文件:要使用哪个适当的设备到你的应用上都由您来决定。
当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备。
通常是/dev/ttyS1(cua1) 或/dev/ttyS2 (cua2) ,这完成看原已内建的串口数目。
ttyS*设备会被报告在/var/run/stab内。