Linux/Unix操作系统 OS 系统软件
用户、应用程序 <-OS-> 硬件:CPU Memory Disk 外设管理
软件测试方向:
被测系统主要的操作系统,监控系统资源、使用系统常用命令搭建SUT.
Andriod系统的内核也是Linux
系统优点:稳定、安全 7*24*365
一、Linux的安装 RedHat9 红帽9
检查需要的安装文件:(*.iso 虚拟光盘镜像压缩文件)
shrike-i386-disc1.iso 638M
shrike-i386-disc2.iso 646M
shrike-i386-disc3.iso 485M
1、Linux的常用的安装方法
1)使用机器直接安装 (PC、小型机、服务器 等裸机)
真实SUT的OS的安装
2)在虚拟机中安装 (学习、工作方便 常见)
学习Linux时,在自己PC中安装
个人PC一般使用Windows,安装VM软件,模拟一台裸机,再安装其它OS。
二、虚拟机的使用
1、新建虚拟机 (好比新建一台物理机)
2、创建并设置虚拟机的硬件 (好比准备好了裸机)
3、安装虚拟机软件 (OS:Linux操作系统 其它应用软件)
三、基本任务
1、先进行图形界面的安装 (使用鼠标)
2、练习基于字符界面的安装方式 (使用键盘)
1、VM中安装好Linux系统(服务器);
2、搭建网络环境;
3、常用系统命令。
新建虚拟机:
File -> New -> Virtual Machine -> 弹出窗口
选择第二项:Custom(advanced) -> Next
Hardware compatibility: 硬件通用性
默认采用:Workstation 6.5-7.x
Compatiable products: 兼容性产品
Limitations: 硬件限制
-> Next
由于没有配置物理硬件,选择第三项
I will install the operationg system later. 一会儿再安装OS
The Virtual machine will be created with a blank hard disk.
虚拟机将会以空硬盘的方式创建
-> Next
Guest opertion system 选择 Linux
版本Version: 选择 Red Hat Linux 红帽Linux
-> Next
Virtual machine name: 虚拟机名 Red Hat Linux(显示名称)
Location: 虚拟机安装文件的路径 (位置)
在E:下新建安装文件的目录 mylinux
将Location改为: E:mylinux
(说明:安装了Linux所有文件,删除文件夹,就可以卸载,
可以拷贝使用。)
-> Next
Processor: 处理器配置 CPU 1个即可
Number of processors: 1 1个CPU
Number of cores per processor: 1 单核
Total processor cores: 1
-> Next
Memory for this virtual machine: 1G 就够 1024MB
(Linux内存,一般配置为物理内存的一半)
四、安装过程:
1、虚拟机内存 --设置为1G (一般配置为物理内存的一半)
-> Next
Network Type 网络类型,常用第1种和第3种:
第1种:Use bridged networking 桥接方式
第3种:Use host-only networking 私有网络
为了相对简单,先选择第3种
2、网络类型:
1)桥接:Linux操作系统的IP(独立网络的IP)和主机的IP是同一网络。网络上其它机器可以访问虚拟机。
2)Host-only(第3种):Linux虚拟机和主机是一个私有网络。网络上其它机器无法访问虚拟机。
-> Next 硬盘类型
Select I/O Controller Types: I/O控制类型
默认选择SCSI Controller: BusLogic(Recommended)
硬盘分为:IDE (大众化)
SCSI (速度比较快、配置好,支持企业应用)
3、硬盘类型:IDE和SCSI两种,后者性能较高,价格较昂贵。
-> Next
Select a Disk 选磁盘
默认创建一个新的虚拟磁盘 Create a new Virtual disk.
-> Next
Specify Disk Capacity 指定磁盘容量(默认)
Maximum disk size(GB): 8.0
说明:不会立即使用8个G,因为不选择:
Allocate all disk space now. (此项不选) 分配所有磁盘空间
默认单选:Store virtual disk as a single file
使用一个单一的文件保存虚拟磁盘数据
4、磁盘:8G
char(30) 定长
varchar2(30) 不定长 可变长
-> Next
Specify Disk File: 磁盘文件 (默认位置)
Red Hat Linux.vmdk
-> Next
Ready to Create Virtual Machine 到总结页面
-> Finish 完成 (好比虚拟了一台裸机)
-> 尝试点击Power on this virtual machine 启动虚拟机
会一直搜索引导盘,找不到
显示:Operating System not found. 操作系统找不到
-> 先结束,点击红色按钮
-> 点击VM -> Settings -> 弹出窗口
准备好3个iso文件(镜像文件),不需要解压缩
shrike-i386-disc1.iso ~ shrike-i386-disc3.iso
安装光盘,选择CD/DVD(IDE) -> Use ISO image file:
-> Browse 先选择第一张盘 shrike-i386-disc1.iso
同时取保选择:Connect at power on 开机时自动连接
-> OK
五、安装过程中的回滚
1、如果安装过程失败,可以使用回滚功能。
2、使用方法:设置Snapshot 快照(最好在开始时就设置一个),如果安装过程中失败,则回滚到该快照即可。
3、安装过程中一般设置1-2个快照即可。
点击VM -> Snapshot -> Take Snapshot 做一个快照
-> 起名字为 Snapshot1-start -> OK
恢复快照:选择Snapshot -> Revert to Snapshot
点击Power on this virtual machine 启动虚拟机
显示以下两项:
To install or upgrade Red Hat Linux in graphical mode.press the <ENTER> key.
想用图形化界面安装Linux,就敲回车
To install or upgrade Red Hat Linux in text mode. type: linux text <ENTER>.
想用字符界面方式安装Linux,输入linux text 回车
-> 直接敲回车 Enter
六、虚拟机和本机之间的切换:
1、从本机进入虚拟机:点击虚拟机界面 或者 ctrl + g
2、从虚拟机回到本机:ctrl + alt
七、安装方式:
1、使用图形界面方式:直接回车 Enter
2、使用字符界面方式:(冒号后)输入linux text 再回车
-> 跳过检查 选择Skip 跳过 (通过Tab键来切换) -> 回车
-> 进入图形界面
-> Next
Language Selection 选择 Chinese(Simplified) 简体中文
-> Next
键盘配置 默认U.S English (识别哪项就默认选择)
-> 下一步
鼠标配置 默认 带滑轮鼠标 (识别哪项就默认选择)
-> 下一步
安装类型 选择定制
个人桌面、工作站、服务器、定制(能熟悉Linux安装细节)
-> 下一步
磁盘分区设置 用Disk Durid 手工分区 (熟悉分区过程)
-> 下一步
弹出警告窗口,点击 是
-> 看到当前磁盘的分布
显示8189MB 相当于8G的磁盘空间
Linux系统将所有设备当做文件管理:
/目录 根目录 是系统唯一的最顶层目录
/dev /目录下的dev子目录 管理了大量的设备文件
设备目录(device)
/dev/sda 文件:表示当前的一块硬盘 一共8G
对该硬盘进行手工分区:
分区设备名 挂载点 类型 大小
/dev/sda1 /boot ext3 100M
/dev/sda2 无 swap分区 2000M 大约2G
/dev/sda3 / ext3 余下的大约6G
swap分区:虚拟内存 属于Linux系统内核管理
系统将磁盘空间模拟成内存使用,虽然可解燃眉之急,但是频繁使用一定会降低系统效率,因为磁盘的读写速度远远慢于内存。
建议:对Linux/Unix服务器的监控要增加虚拟内存,观察其使用率,如果偏高,说明实际物理内存具有瓶颈。
八、磁盘分区
1、自动磁盘分区
2、手动磁盘分区(至少分为2个分区:/分区 和 swap分区)
1)/boot分区:放置启动系统所需的信息 / 根目录
(100M左右)
2)swap分区:Linux中构成虚拟内存的空间
交换分区(虚拟内存) (2G 默认是物理内存的2倍)
本质:使用硬盘的空间,来模拟内存空间
内存看似大了,但速度慢下来,频繁使用不好
原因:内存不够用时,以某种算法借用磁盘,模拟内存效果。
频繁使用,形成系统性能瓶颈。
解决办法,从根源入手,扩内存
3)/分区:余下的磁盘空间
(其它目录可从根开始往下挂载)
点击 新建 -> 挂载点: /boot
文件系统类型:默认ext3
(一种日志文件系统,对ext2系统的扩展,兼容ext2)
默认100MB
-> 确定
设备/dev/sda1 是SCSI的第一块分区
挂载点:就是目录 /boot
-> 点击 空闲 -> 新建 (swap分区没有挂载点)
无需挂载点
文件系统类型:swap -> 自动变为<不适用>
大小(MB): 2000 相当于2G左右
-> 确定
-> 点击 空闲 -> 新建 /
挂载点:/
文件系统类型: ext3
选择 使用全部可用空间
-> 确定
分析:只有swap分区是没有挂载点,后续详细分析。
-> 下一步 引导装载配置程序
-> 下一步 网络配置(后续通过命令配置)
-> 下一步 防火墙配置(默认) 安全级别:中级
九、安装设置
1、网络:安装后随时更改
2、防火墙:中级即可
-> 下一步 附加语音支持
选择默认的语言:Chinese(P.R.fo China)
表示使用Linux时的语言
-> 下一步 时区选择(默认)
亚洲 / 上海
暴力破解:使用穷举法,逐个尝试
123456 abc123
cptbtptp123^^bcptdtptp456@@
横看成岭侧成峰,远近高低各不同
hkclccf1122^^yjgdgbt3344@@
不识庐山真面目,只缘身在此山中
Linux系统管理中设置密码技巧:
1)字母、数字、特殊字符混合组成
2)不少于15位
3)不能写在书面上
4)不能是生活周边的词汇信息
5)不能一码通
6)定期更换
-> 下一步 设置根口令 root口令 (系统登录密码)
强调:root用户是Unix/Linux的最高权限用户 (超级管理员)
根口令:123456 (输入时不回显)
确认:123456
-> 下一步 验证配置(默认)
MD5 数字摘要
特点:能够加密,几乎不能解密
-> 下一步 选择软件包组
全选大概4G,部分选择大概1G多 (浏览软件项)
必选的软件:
X 窗口系统--保证有图形化界面
编辑器--VI 著名的文本编辑器 (Linux/Unix)
取消的软件:
图形化互联网、基于文本的互联网、视频和音频、图形、
打印支持
-> 下一步 -> 下一步 开始安装...
十、请插入第二张光盘:
1、选盘 (VM -> Settings -> CD/DVD)
2、连接复选框(都要选中)
弹出窗口:更换光盘(请插入第二张光盘后继续)
-> 确定
弹出错误窗口:该光盘无法被挂载(将外部设备连接到Linux中)
-> 确定
-> VM -> Settings -> CD/DVD(IDE)
选择第二张盘:shrike-i386-disc2.iso
注意选中两项:
Connected
Connect on power on
-> OK -> 确定 继续安装...
十一、概念
挂载:将Linux设备(光盘、U盘、硬盘等)和Linux系统相连接的过程,有专门的命令控制。(目前界面自动操作,后续也使用命令完成)
提示:请插入第三张光盘 同理
VM -> Settings -> CD/DVD(IDE)
选择第三张盘:shrike-i386-disc3.iso
注意选中两项:
Connected
Connect on power on
-> OK -> 确定 继续安装...
是否创建引导盘 -> 否
-> 下一步 图形化界面(X)配置 (默认)
-> 下一步 显示器配置 (默认)
-> 下一步 定制图形化配置
选择: 文本 登录后是命令行界面
-> 下一步 祝贺页面
-> 退出
开始重新启动,输入用户名、密码(口令)
localhost login: root
Password: 123456 密码不回显
进入到Linux命令行,显示:
[root@localhost root]# (此处可以敲命令)
用户名 用户的主目录: 登录后默认所在的目录
(Home Directory)
普通用户只有在自己的主目录下才有大量权限
特点:root用户拥有所有的权限
常识:要根据命令行的提示符,确定目前所处的环境
不同环境下使用的命令不同
注意:在敲命令前要看提示符,确认所处环境
E:> Windows环境 ipconfig cd dir sqlplus
SQL> Oracle的Sqlplus环境 执行sql命令 desc select
Mysql> Mysql命令行环境 show databases;
[root@localhost root]# Linux的命令行环境
备份:灾备 分布式
两地三中心异地备份
十二、登录Unix/Linux系统方式:
1、本地登录 (Console登录)
1)命令行
2)图形
2、远程登录 (telnet登录)
1)命令行 (常用)无需到服务器本机旁边,使用自己的PC即可
2)图形 需要安装特殊的软件,比较麻烦
补充一个小工具,能够远程登录Linux/Unix:
SSH 或 SecureCRT
先使用SSH: 安装SSHSecureShellClient-3.2.9.zip
(安装时,一路Next)
十三、远程控制Linux/Unix服务器
1、使用工具: SSH 或 SecureCRT
目前问题:Linux主机还未设置Ip地址
十四、为了使用SSH,还需要配置服务器
1、先查看IP地址(让Windows机器和Linux机器相连,需要两个IP)
查看Windows系统IP命令:ipconfig
(或者:网上邻居 -> 右键查看属性)
VMware Network Adapter VMnet1: 192.168.244.1
本地连接 : 172.166.100.55
查看Linux/Unix系统IP命令:ifconfig
回顾:选择第3种 私有网络,要求本机和虚拟机在同一网段
选择私有网络:Windows中VMnet1的IP和Linux的IP在同一网段中;
选择桥接方式:Windows中本地连接的IP和Linux的IP在同一网段中。
2、注意:由于安装Linux时选中第3项,则当前需要查看VMnet1的IP地址:192.168.244.1
3、在Linux系统配置IP (和VMnet1的IP在同一网段)
规律:前3个数字一样,最后一个不一样
192.168.244.1 VMnet1 IP
192.168.244.2 Linux IP 就在同一网段中
原因:子网掩码 255.255.255.0
两个IP地址分别和子网掩码,进行按位与操作,如果结果一致,就在同一网段中。
192.168.244.1 IP1
255.255.255.0 按位与 (有0则0,全1则1)
----------------------
192.168.244.0 结果1
192.168.244.2 IP2
255.255.255.0 按位与
----------------------
192.168.244.0 结果2 和 结果1一样,说明IP1和IP2在同一网段中,可以互相通信。
说明:选择第3项,Linux需要和VMnet1连通
如果选第1项,需要查看本机IP
配置步骤:
1)查看Linux的IP地址: ifconfig 目前还未设置
2)设置Linux的IP地址:netconfig
(设置为192.168.244.2) 前3个数字和VMnet1 IP一样
在Linux中,输入 netconfig -> 出现配置窗口(字符界面)
-> Would you like to set up networking? 是否配置网络
-> Yes 回车 (用Tab键选择)
Use dynamic IP configuration (BOOTP/DHCP) 自动分配IP
不选择,需要自己设置 (用Tab键跳过)
IP address: 192.168.xx.2 回车两下,自动出现后续结果
Netmask: 255.255.255.0 子网掩码
Default getway(IP): 192.168.xx.254 默认网关IP
Primary nameserver: 192.168.xx.1
-> Tab 选择 OK -> 回车
3)重启网络服务:service network restart
# service network restart
# ifconfig 查看固定好的IP地址 192.168.xxx.2
4)使用SSH连接Linux
打开SSH Secure Shell -> Secure Shell Client
-> Quick Connect 快速连接
Host Name: 192.168.xxx.2 主机名
User Name: root 用户名
Port: 22 默认端口 -> 点击Connect
连接不上,原因:服务器是否启动、网络连接是否良好、防火墙是否禁用;
网络防火墙firewall 可能没关,需要关闭防火墙
同时排查网络是否连通:ping命令 (Windows/Unix/Linux通用)
从Windows连Linux: CMD中 ping 192.168.244.2 可以
从Linux连Windows: # ping 192.168.244.1
不可以,考虑关闭防火墙
提示:ctrl + c命令 用于结束当前控制台进程
5)关闭Linux防火墙:iptables -F
# iptables -F
再使用SSH连接Linux ...
输入:192.168.62.2 root
输入密码:123456 即可
方法二:如果还有问题,改为桥接方式
选择第1种:Use bridged networking 桥接方式
(VM -> Settings -> Network Adatper 网络适配器)
Linux IP地址也需要和本机IP处于同一网段
本机IP: 172.166.100.55 (本地连接IP地址)
Linux IP: 172.166.100.101 重新设置 netconfig
再:service network restart 重启网络服务
再:iptables -F 关闭防火墙
SSH字体大小:
Edit -> Settings -> Global Settings -> Appearance
-> Font 比如:Consolas 字体 16或20
十五、Linux/Unix简单命令
含义:通过一些词句、动作让OS执行某些操作,完成某些任务。
命令的基本格式:命令名 [-选项...] [参数 ... ]
command 命令、选项、参数之间至少留一个空格
参数是操作的对象,选项是增加的功能
命令是主要功能,选项和参数 可能不止一个
比如: javac -d . Hello.java
iptables -F
ls -l
ls -al
ls -l 1.txt
cal 2018
cal 3 2018
date
注意:Linux/Unix中命令区分大小写 -F -f 不同
Windows不区分 javac Javac
使用Linux/Unix的命令行窗口(终端、Shell 命令解释器、Console 、控制台)
先解决一个重要的哲学问题:我是谁?我在哪儿?我有什么?想到哪里去?
1、我是谁?查看用户的身份
1)使用who am i 结果root
查看最初登录的身份
# who am i 显示最初用户登录信息
root pts/0 Feb 28 15:50 (192.168.244.1)
用户名 伪终端号 登录时间 从这个IP远程登录
root pts/1 Feb 28 16:45 (192.168.244.1)
区分不同的终端
伪终端号:目的,便于Linux区分不同的登录用户
pts/0 窗口 ls
pts/1 窗口 cal Linux分别将结果发给不同的用户
Linux/Unix特点:典型的多用户系统
2)查看当前用户名:whoami
root
3)查看当前用户详细身份:id
# id
uid=0(root) gid=0(root)
用户id:0 用户名:root 组id:0 组名:root
规律:超级用户root用户的uid都是0、gid都是0
用户名和组名都是root
4)查看当前系统在线用户情况:who
# who 查看当前有哪些在线用户
root tty1 Feb 28 11:46
root pts/0 Feb 28 15:50 (192.168.244.1)
root pts/1 Feb 28 16:45 (192.168.244.1)
命令:exit 退出登录、表示离线
归纳:
查看最初身份:who am i
查看当前详细身份:id
查看谁在线:who
2、我在哪儿? 使用pwd命令
pwd 显示当前的工作目录(Print Working Directory)
# pwd /root /目录 (根目录)下的root目录
目前/root是root用户的主目录(Home Directory)
默认就是登录后所在的目录,具备较多的权限。
普通用户的主目录都在/home目录下,而且主目录名和用户名相同,普通用户只有在自己主目录中才拥有较多权限。
3、我有什么? 使用ls命令
# ls 显示当前目录的内容(包括文件和目录)
只能显示文件、目录的名称
# ls -l 以长列表方式查看 (更详细) list
显示文件、目录的详细属性
文件类型 权限 属主 属组 文件大小 最后一次修改时间
-rw-r--r-- 1 root root 989 2018-02-28 1.txt
硬链接数 文件/目录名
文件的属性:除了文件名、文件内容之外的其它信息
1)文件类型: - 文件 d 目录 Directory
2)权限:rw-r--r--
2)属主:用户名root 该文件属于哪个用户
3)属组:该用户属于哪个组root 用户和组 是从属关系
4)文件大小:989 Byte 单位:字节
5)最后一次修改时间:2018-02-28
4、去别处? cd命令 (Change Directory) 改变目录
cd 目录的路径名
1)路径的表达法
<1> 绝对路径:从/开始表示的路径名
/root 目录名
/etc
/root/1.txt 文件名
<2> 当前路径:当前目录所在的路径名 pwd 查看
比如在 /root下
<3> 相对路径:相对于当前路径表示的路径名
1.txt
2)特殊的目录名: . 表示当前目录
.. 表示上一层目录
比如:目前在/root目录下
想到/ 目录下:
# cd .. 相对路径,相对于当前/root的上一层
或者:
# cd / 绝对路径,直接定位到/下 (从/开始)
# cd . 还是在当前目录
# ls
# ls -l 查看到许多目录
bin目录 常用的系统命令 比如ls pwd ...
etc目录 常用的配置文件
/etc/passwd 用户账户信息配置文件
/etc/group 组信息配置文件
home目录 用户主目录所在目录(每个普通用户对应一个子目录)
root目录 管理员用户主目录
boot目录 启动文件目录
...
想到/home下
# cd /
# cd home 相对路径
或者
# cd /home 绝对路径 (特点:一定从/开始)
技巧:从命令行风格 -> 图形界面风格
服务器、客户端命令行:startx 启动X窗口系统 进程
观察服务器端界面 -> 图形界面 适合PC 个人电脑桌面
桌面: root主目录
如何能练习命令行?
右击 桌面 -> 新建 终端 date cal ls pwd
如何回到字符界面? 适合服务器,省系统资源 更专业
小红帽 -> 注销