Linux系统结构
通过lspci可以查看所有的PCI设备
查看CPU信息 lspci /proc/cpuinfo
外在设备
Linux系统中硬件系统都以文件形式存在,设备文件存在 /dev,下面设备文件的命名方式是主文件号+次设备号
设备号fd是软盘驱动器,
U盘在Linux中主要被识别为SCSI设备,因此对应的设备文件为/dev/sdax,主设备号sd表示SCSI dis,a表示第一块SCSI设备,X(1/2/3/4/...)表示第几个分区
光驱,IDE光驱,hda表示第一个IDE口的IDE光驱,SCSI光驱对应的文件是/dev/srx,x表示SCSI的ID磁带STX,st代表SCSI tape,x是磁带驱动器编号,第一个为0第二个为1.
进程间通信,主要用于控制不同进程之间在用户空间的同步,数据共享和交换。由于不同的用户进程拥有不同的进程空间,因此进程间的通信要通过内核中转来实现。一般情况下,当一个进程等待硬件操作完成时它会被挂起。当硬件操作完成后进程被恢复执行,而协调这个过程的就是进程间的通信机制。
网络接口提供了对各种网络标准的实现和各种网络硬件的支持。网络接口一般分为网络协议和网络设备驱动程序,网络协议部分负责实现每一种网络传输协议。网络设备驱动程序则主要负责与硬件设备进行通信,每种可能的网络硬件设备都有相应的设备驱动程序。
运行机制介绍
Linux初始化init系统
Linux操作系统的启动首先从BIOS开始,接下来Linux引导程序将内核映像加载到内存,进行内核初始化,内核初始化最后一步就是启动PID为1的init进程,这个进程是系统的第一个进程,它负责产生其它所有的用户进程。
将内核运行起来之后我们需要一个系统,来定义、管理、控制init进程的行为,并负责组织很多独立的或相关的初始化工作。原来采用sysvinit,管理系统,现在采用upstart和systemd,堡垒机用的upstart
Linux关机过程
1、shutdown命令,shutdown是由shell编写得到程序,必须超级用户才能执行.
它会向所有用户广播一个即将关机的通知,请保存文档、停止作业、滞销用户。此时login指令被冻结,新用户将不能登录,当所有用户在系统中注销或指定时间已到,shutdown就发送指令给init程序,要求init改变运行级别,如果是关机指令则运行init0级别,如果要重启系统则是init6级别。
2、halt命令是最简单的关机命令,执行halt时将终止所有应用程序,然后调用系统指令sync,sync将所有内存信息通过文件系统写入硬盘,然后停止内核。halt指令在执行时首先检查系统的运行级别,如果运行级别为0或6,则立即关闭系统,如果不是则调用shut down来关闭系统。
3、reboot命令的执行过程与halt类似,不同的时halt用来关机,reboot用来重启
4、init命令,init程序主要用于系统不同运行级之间的转换
压缩与解压zip/unzip
可以对文件和目录进行压缩。
-r 递归压缩,将指定目录下的所有文件以及子目录全部压缩
-d 从压缩文件内删除指定文件
-m 将文件压缩后删除原始文件
-F尝试修复损坏的压缩文件
-T检查压缩文件内的每个文件是否正确无误
gzip/gunzip命令
只能对文件进行压缩,不可以压缩目录。其实gunzip就是gzip的硬链接,gzip -d等价于gunzip,因此压缩与解压缩都可以用gzip
-r 递归式压缩指定目录以及子目录下的所有文件
-l 显示压缩文件的压缩信息
bzip2/bunzip2命令
只能对文件进行压缩,不可以压缩目录。其实bunzip2就是bzip2的软链接,因此压缩与解压缩都可以用bzip2
tar命令
tar [主选项+辅选项] 文件或目录
生成.tar文件
dd命令
dd if ="输入文件“ of="输出文件” bs="block size" count="number"
cpio命令
cpio命令是通过重定向的方式将文件进行打包、备份、还原、恢复的工具,它可以解压以“.cpio"或”.tar"结尾的文件
无法直接读取文件,需要每个文件的或者目录的完整路径名才能识别读取,因此常和find一起使用。
网络设置与维护
ifconfig命令
关闭/打开指定网卡
# ifconfig eth0 down # ifconfig eth0 up
# ifconfig eth0 down //关闭网卡 # ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址 # ifconfig eth0 up //启动网卡 # ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址
启用和关闭ARP协议
# ifconfig eth0 arp //开启 # ifconfig eth0 -arp //关闭
用ifconfig配置的网卡信息会在重启后全都失效,如果想让网卡配置全部生效就需要修改网卡的配置文件了。
scp命令
把文件或目录从一个Linux系统下复制到另一个Linux系统下,使用的是SSH传输协议,确保了数据的安全。
格式如下:
scp 远程用户名@IP地址:文件的绝对路径 本地Linux系统路径(远程复制到本地)
scp 本地Linux系统文件路径 远程用户@IP地址:远程系统文件的绝对路程名(本地复制到远程)
netstat命令
用来显示本机网络连接、运行端口和路由表等信息。
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
tranceroute命令
tranceroute命令用来显示网络数据包传输到指定主机的路径信息。
traceroute 【选项】 【远程主机名或IP地址】 【数据包大小】
-i<网络接口>
-n直接使用IP地址
-v显示详细命令的执行过程
-w<超时秒数>设置等待远程主机回应的时间
-x 开启或关闭对数据包的检查
-s<来源IP地址>
-g<网关地址>
telnet命令
通过telnet远程协议与远程主机通信或获取远程主机对应端口信息
telnet 主机名或IP地址 端口
wget命令
可以直接从网络上下载自己需要的软件
例
wget http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz