计算机硬件组成部分

  • 输入设备:键盘、鼠标、触控屏等
  • 主机设备:主板、中央处理器(CPU)、主存储器(内存)、网卡、声卡、显示卡等
  • 输出设备:屏幕、耳机、打印机、投影仪等
  • 外部存储设备:硬盘、软盘、光盘、U盘等、蓝光光驱
  • 硬盘:传统硬盘(HDD)==固态硬盘(SSD)
  • CPU缓存
  • CPU比较主流的厂商
    • AMD公司
    • Interl公司
  • CPU架构
    • x86架构,8086架构,80286,80386,x86称号
    • 8位、16位、32位、64位,CPU一次可以处理的数据量,
    • 32位CPU一次可以从内存中读取大约3.25G左右的数据量
    • 64位CPU一次可以从内存中读取大约128G左右的数据量
  • CPU核心
    • 单核心,一颗CPU只能有一个运算单元
    • 多核心,一颗CPU里边有两个以上的运算单元
  • 计算机什么最重要?想要让计算机运行起来,足够的电力

Linux系统目录介绍

  • /(根):系统所有数据都存放在根目录下
  • /bin:存放用户和管理员必备的可执行的二进制程序文件
  • /boot:存放Linux系统内核及引导系统程序所需要的文件目录
  • /dev:存放硬件设备的目录,如键盘、鼠标、硬盘、光盘等等
  • /etc:存放服务的配置文件,用户信息文件
  • /root:超级管理员的家目录
  • /home:系统普通用户的家目录
  • /lib:存放系统中的程序运行所需要的共享库及内核模块
  • /opt:额外安装的可选应用程序包所放置的位置
  • /srv:服务启动之后需要访问的数据目录
  • /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
  • /var:存放系统执行过程中经常变化的文件,如随时都在变化的日志文件就存放/var/log/下
  • /mnt、/media :光盘和镜像等预设的挂载点
  • /proc:Linux伪文件系统,该目录下的数据存在于内存当中,不占用磁盘空间
  • /lib64 :存放函式库
  • /run :程序或服务启动后,存放PID的目录
  • /sys:存放被建立在内存中的虚拟文件系统
  • /usr:操作系统软件资源所放置的目录
    • /usr/bin:与/bin目录相同,存放用户可以使用的命令程序
    • /usr/lib:与/lib目录相同,存放系统中的程序运行所需要的共享库及内核模块
    • /usr/etc:用于存放安装软件时使用的配置文件
    • /usr/games:与游戏比较相关的数据放置处
    • /usr/include:c/c++等程序语言的档头(header)与包含档(include)放置处
    • /usr/lib64:与/lib64目录相同,存放函式库
    • /usr/libexec:不经常被使用的执行程序或脚本会放置在此目录中
    • /usr/local: 额外安装的软件存放目录
    • /usr/sbin:该目录与/sbin目录相同,存放用户可执行的二进制程序文件
    • /usr/share: 放置只读架构的杂项数据文件
    • /usr/src:一般软件源代码建议存放该目录下

查看内核信息

  • uname 命令用于显示系统内核信息
  • 命令格式:uname [-选项…]
  • 常用选项:
    • -s :显示内核名称
    • -r :显示内核版本
  1. [root@localhost ~]# uname
  2. Linux
  3. [root@localhost ~]# uname -rs
  4. Linux 3.10.0-957.el7.x86_64
  5. #解释:
  6. Linux #内核名称
  7. 3 #主版本
  8. 10 #次版本
  9. 0 #释出版本
  10. 957 #修改版本
  11. el7 #Enterprise Linux(企业版Linux)
  12. x86_64 #CPU架构
  13. #Linux内核官网
  14. https://www.kernel.org/

查看CPU信息

  • /proc/cpuinfo文件用于存放系统CPU信息
  • lscpu 用于显示CPU架构信息
  • 命令格式:lscpu [-选项]
  1. #查看/proc/cpuinfo文件内容
  2. [root@localhost ~]# cat /proc/cpuinfo
  3. processor :#系统中逻辑处理核的编号。对于单核处理器,则可认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
  4. vendor_id : #CPU制造商
  5. cpu family : #CPU产品系列代号
  6. model   : #CPU属于其系列中的哪一代的代号
  7. model name #CPU属于的名字及其编号、标称主频
  8. stepping  : #CPU属于制作更新版本
  9. cpu MHz  : #CPU的实际使用主频
  10. cache size #CPU二级缓存大小
  11. physical id #单个CPU的标号
  12. siblings :#单个CPU逻辑物理核数
  13. core id :#当前物理核在其所处CPU中的编号,这个编号不一定连续
  14. cpu cores #该逻辑核所处CPU的物理核数
  15. apicid :#用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
  16. fpu #是否具有浮点运算单元(Floating Point Unit)
  17. fpu_exception #是否支持浮点计算异常
  18. cpuid level #执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
  19. wp #表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
  20. flags #当前CPU支持的功能
  21. bogomips #在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
  22. clflush size #每次刷新缓存的大小单位
  23. cache_alignment #缓存地址对齐单位
  24. address sizes :#可访问地址空间位数
  25. power management #对能源管理的支持,有以下几个可选支持功能:
  1. #使用lscpu查看cpu信息
  2. [root@localhost ~]# lscpu
  3.  Architecture: #架构
  4.   CPU(s): #逻辑cpu颗数
  5.   Thread(s) per core: #每个核心线程
  6.   Core(s) per socket: #每个cpu插槽核数/每颗物理cpu核数
  7.   CPU socket(s): #cpu插槽数
  8.   Vendor ID: #cpu厂商ID
  9.   CPU family: #cpu系列
  10.   Model: #型号
  11.   Stepping: #步进
  12.   CPU MHz: #cpu主频
  13.   Virtualization: #cpu支持的虚拟化技术
  14.   L1d cache: #一级缓存(google了下,这具体表示表示cpu的L1数据缓存)
  15.   L1i cache: #一级缓存(具体为L1指令缓存)
  16.   L2 cache: #二级缓存

查看系统内存信息

  • /proc/meminfo文件用于存放系统内存信息
  • free 用于查看内存使用情况
  • 命令格式:free [-选项]
  • 常用选项:-h #以人类易读方式显示大小(KB,MB,GB)
  1. #查看/proc/meminfo文件内容
  2. [root@localhost ~]# cat /proc/meminfo
  3. MemTotal: 995896 kB #所有可用的内存大小,物理内存减去预留位和内核使用。系统从加电开始到引导完成,firmware/BIOS要预留一些内存,内核本身要占用一些内存,最后剩下可供内核支配的内存就是MemTotal。这个值在系统运行期间一般是固定不变的,重启会改变。
  4. MemFree: 244196 kB #表示系统尚未使用的内存。
  5. MemAvailable: 435080 kB #真正的系统可用内存,系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer、slab都有一部分可以回收,所以这部分可回收的内存加上MemFree才是系统可用的内存
  6. Buffers: 2132 kB #用来给块设备做缓存的内存,(文件系统的 metadata、pages)
  7. Cached: 314632 kB #分配给文件缓冲区的内存,例如vi一个文件,就会将未保存的内容写到该缓冲区
  8. SwapCached: 0 kB #被高速缓冲存储用的交换空间(硬盘的swap)的大小
  9. Active: 295908 kB #经常使用的高速缓冲存储器页面文件大小
  10. Inactive: 271552 kB #不经常使用的高速缓冲存储器文件大小
  11. Active(anon): 251528 kB #活跃的匿名内存
  12. Inactive(anon): 13044 kB #不活跃的匿名内存
  13. Active(file): 44380 kB #活跃的文件使用内存
  14. Inactive(file): 258508 kB #不活跃的文件使用内存
  15. Unevictable: 0 kB #不能被释放的内存页
  16. Mlocked: 0 kB #系统调用 mlock 家族允许程序在物理内存上锁住它的部分或全部地址空间。这将阻止Linux 将这个内存页调度到交换空间(swap space),即使该程序已有一段时间没有访问这段空间
  17. SwapTotal: 0 kB #交换空间总内存
  18. SwapFree: 0 kB #交换空间空闲内存
  19. Dirty: 4 kB #等待被写回到磁盘的
  20. Writeback: 0 kB #正在被写回的
  21. AnonPages: 15100 kB #未映射页的内存/映射到用户空间的非文件页表大小
  22. Mapped: 7160 kB #映射文件内存
  23. Shmem: 100 kB #已经被分配的共享内存
  24. Slab: 9236 kB #内核数据结构缓存
  25. SReclaimable: 2316 kB #可收回slab内存
  26. SUnreclaim: 6920 kB #不可收回slab内存
  27. KernelStack: 2408 kB #内核消耗的内存
  28. PageTables: 1268 kB #管理内存分页的索引表的大小
  29. NFS_Unstable: 0 kB #不稳定页表的大小
  30. Bounce: 0 kB #在低端内存中分配一个临时buffer作为跳转,把位于高端内存的缓存数据复制到此处消耗的内存
  31. WritebackTmp: 0 kB #FUSE用于临时写回缓冲区的内存
  32. CommitLimit: 22980 kB #系统实际可分配内存
  33. Committed_AS: 536244 kB #系统当前已分配的内存
  34. VmallocTotal: 892928 kB #预留的虚拟内存总量
  35. VmallocUsed: 29064 kB #已经被使用的虚拟内存
  36. VmallocChunk: 860156 kB #可分配的最大的逻辑连续的虚拟内存
  1. #使用free命令查看内存使用情况
  2. [root@localhost ~]# free -h
  3. total used free shared buff/cache available
  4. Mem: 972M 344M 238M 13M 389M 424M
  5. Swap: 2.0G 0B 2.0G
  6. #解释:Mem 物理内存统计信息
  7. total #物理内存总量
  8. used #以使用的内存总量
  9. free #空闲内存总量
  10. shared #共享内存总量
  11. buff/cache #块设备与普通文件占用的缓存数量
  12. available #还可以被应用程序使用的物理内存大小
  13. #解释:Swap 内存交换空间,当物理内存不足时,可以使用硬盘空间充当内存使用
  14. total #交换分区内存总量
  15. used #正在使用的交换分区内存
  16. free #空闲交换分区内存

查看网卡信息

  • 网卡配置文件地址: /etc/sysconfig/network-scripts/网卡名
  • ifconfig 用于显示和设置网卡的参数
  • 命令格式: ifconfig [网卡名]
  1. [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32
  2. TYPE=“Ethernet #网卡类型=以太 ※
  3. PROXY_METHOD=“none #代理方式=关闭
  4. BROWSER_ONLY="no“ #只是浏览器=否
  5. BOOTPROTO=“none“ #获取IP地址的方式=固定IP ※
  6. DEFROUTE=“yes“ #是否设置默认路由=是
  7. IPV4_FAILURE_FATAL=“no“ #是否开启ipv4致命检测=否(如果ipv4配置失败禁用设备)
  8. NAME=“ens32“ #物理网卡设备名字 ※
  9. UUID=“3ef0d258-f9a4-49e5-a9da-7b47bc98daa0 “#网卡UUID
  10. DEVICE=“ens32“ #网卡名字 ※
  11. ONBOOT=“yes“ #开机或重启时是否启动网卡 ※
  12. IPADDR=“192.168.0.210“ #IP地址 ※
  13. PREFIX=“24“ #子网掩码 ※
  14. GATEWAY=“192.168.0.254“ #网关 ※
  15. DNS1=“8.8.8.8“ #dns服务器IP地址 ※
  16. DNS2=8.8.4.4 #备用dns服务器IP地址 ※
  1. #使用ifconfig命令查看网卡信息
  2. [root@localhost ~]# ifconfig
  3. ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  4. inet 192.168.0.29 netmask 255.255.255.0 broadcast 192.168.0.255
  5. inet6 fe80::8d50:c4d5:97b0:9d64 prefixlen 64 scopeid 0x20<link>
  6. ether 00:0c:29:b0:cf:c8 txqueuelen 1000 (Ethernet)
  7. RX packets 3948 bytes 1811465 (1.7 MiB)
  8. RX errors 0 dropped 0 overruns 0 frame 0
  9. TX packets 2538 bytes 459113 (448.3 KiB)
  10. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  11. #解释:
  12. ens32: #网卡名称 ※
  13. flags=4163 #标志
  14. UP #网卡处于活跃状态 ※
  15. BROADCAST #支持广播
  16. RUNNING #网线已接入
  17. MULTICAST #支持组播
  18. mtu 1500 #最大传输单元(字节),表示此网卡一次能传输的最大数据包 ※
  19. inet 192.168.0.29 #IPV4地址 ※
  20. netmask 255.255.255.0 #子网掩码 ※
  21. broadcast 192.168.0.255 #广播地址 ※
  22. inet6 fe80::8d50:c4d5:97b0:9d64 #IPV6地址
  23. prefixlen 64 scopeid 0x20<link> #前缀 64 作用域 0x20
  24. ether 00:0c:29:b0:cf:c8 #网卡MAC地址 ※
  25. xqueuelen 1000 #网卡设置的传送队列长度
  26. (Ethernet) #网卡连接类型
  27. RX packets 3948 #接收正确的数据包 ※
  28. bytes 1811465 (1.7 MiB) #接收的数据量与字节 ※
  29. RX errors 0 dropped 0 overruns 0 frame 0 #接收到的错误包、丢弃的数据包数、由于速度过快而丢失的数据包、发生frame错误而丢失的数据包数 ※
  30. TX packets 100 #发送的正确的数据包数 ※
  31. bytes 8116 (7.9 KiB)#发送的数据量、字节
  32. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 #发送时产生错误的数据包数、丢弃的数据包数、由于速度过快而丢失的数据包数、发生carrier错误而丢失的数据包数、冲突信息包的数目 ※
  33. #只查看指定的网卡
  34. [root@localhost ~]# ifconfig ens32
  35. lo: 本地回环网卡,不是物理网卡,通过软件虚拟出来的一个网卡,127.0.0.1,用于测试本机的联通性
  36. [root@localhost ~]# ping 127.0.0.1
  37. virbr0: 虚拟化的网络接口,通过软件技术虚拟出来的一个网卡,192.168.122.1KVM虚拟化技术的时候

查看主机名及修改主机名

  • /etc/hostname文件用于存放主机名
  • hostname 命令用于显示和设置主机名
  • 命令格式:hostname [-选项] [新名称]
#查看主机名
[root@localhost ~]# hostname
localhost.localdomain

#查看主机名配置文件
[root@localhost ~]# cat /etc/hostname 
localhost.localdomain

#临时修改主机名(立刻生效,服务器重启以后失效)
[root@localhost ~]# hostname test
[root@localhost ~]# hostname
test

#exit/loguot登出系统
[root@localhost ~]# exit
[c:\~]$ ssh 192.168.0.50
[root@test ~]# 

[root@test ~]# hostname fhsd.jhglshdjkghjkdfhgkjhgdsahgjklhdsfjghsdhgjlhsd
[root@test ~]# logout

[root@fhsd ~]# hostname sdhjghsdfjkhgkjdfshkgljhsdjfhgjksdhgjkhsdjgjkl
[root@fhsd ~]# exit

#命令行永久修改主机名(立刻生效,不需要重启系统)
[root@localhost ~]# hostnamectl set-hostname test
[root@localhost ~]# exit