linux 笔记达内01

一、软件测试课程关系:
测试理论、手工测试项目、编程语言Python、数据库SQL、Web功能自动化 Selenium、Linux操作系统、性能测试、接口测试、手机测试   全栈

Linux操作系统:Operating System  系统软件
    用户界面 --  OS -- 管理大量硬件:CPU、Memory、Disk、外设
    图形、命令行                   中央处理器  内存       磁盘  键盘、显示器
    运行应用程序

目的:搭建测试环境  大部分服务器OS: Linux、Unix   
            银行、金融、电信、电商
            稳定(7*24)、安全、高效(多任务并发执行)
       学会常用的系统管理命令
       Linux是许多系统的基础:Android、IOS等的内核
                             (Linux内核+Java)
       学习计算机原理好途径:学习Linux

二、今天主要任务:
1、安装Linux系统    使用VM模拟裸机、再安装系统
2、配置网络环境     客户端 --网络--  服务器系统
3、使用基本命令     常用命令:结构、用法、特点

三、安装Linux系统
1、方式:
1)使用裸机直接安装:早期服务器、PC常用;
2)使用虚拟机:VMware软件 模拟一台或多台机器   
           多机集群、分布式、云计算,通过虚拟化,模拟多台机器
    目前:通过虚拟机模拟一台机器,安装OS:Red Hat Linux  红帽
           便于工作和学习   环境相对独立、互不影响
区分软件版本:版本不是越高越好,而是越适合越好
 Windows64位:VMware12    15适合Windows10使用 
 Windows32位:VMware8

准备:Linux系统的安装包-- iso文件  虚拟光盘镜像文件
  shrike-i386-disc1.iso    638MB
  shrike-i386-disc2.iso    646MB
  shrike-i386-disc3.iso    485MB
<1> 文件File -> 新建虚拟机 New Virture Machine
<2> 自定义  Custom
<3> 硬件兼容性:Workstation 6.5-7
<4> 稍后安装操作系统
       install  OS
  原因:目前未配置硬盘,先以空白硬盘方式创建
<5> 选择系统类型:Linux
   版本:Red Hat Linux
<6> 建议建立独立的文件夹,保存虚拟文件资源:
  E:\mylinux
<7> 虚拟机名:Red Hat Linux
 位置:E:\mylinux
<8> 处理器配置:CPU、Processor
 数量: 1个
 内核数:1个  单核
 总内核数:1个
<9> 虚拟机内存:1G  就是1024MB
 建议:不要超过物理机内存一半
<10> 网络连接:
 如果选第1项:桥接方式   --未来搭建局域网的建议配置
         局域网内的其他机器能够访问到该虚拟机
         要求不同机器的IP地址要区别开
 如果选第3项:仅主机模式(私有) -- 目前先选择
         仅自己物理机能访问该虚拟机
<11> I/O控制器类型: 就是磁盘控制器
   就是输入Input/输出Output
       磁盘读      磁盘写
           Read        Write
   主语是内存(主存)
      内存从磁盘读数据,称为输入
      内存向磁盘写数据,称为输出

  默认:SCSI风格 BusLogic 总线逻辑
        (性能高)
<12> 虚拟磁盘类型:SCSI
<13> 创建新虚拟磁盘
<14> 指定磁盘大小:8GB
   将虚拟磁盘存储为单个文件
<15> 指定磁盘文件:Red Hat Linux.vmdk
  虚拟磁盘文件 
<16> 完成   目前具备一台裸机(没有安装OS的电脑)
查看配置是否符合要求
后续可更改:虚拟机 菜单 -> 设置 Settings

3)开机 Power on
如何在物理机 和 虚拟机 之间切换?
   物理机 -> 虚拟机: 鼠标点入
   虚拟机 -> 物理机: ctrl + alt 
问题:Operating System not found
      操作系统找不到
4)先关机  Power off
5)虚拟机->设置 选择CD/DVD
  选择shrike-i386-disc1.iso 文件
  好比:将disc1光盘放入到光驱中
6)再次开机,遇到提示框一般确定
  立刻鼠标点入VM内部,立刻敲回车 Enter
区别:希望以图形化界面方式安装系统,直接回车 (建议)
              install or upgrade  Linux   graphical
               安装      更新               图形化
    希望以文本字符界面方式安装,输入linux text再回车  Enter
    (默认也是)  text mode 
                    文本模式
7)选择:Skip 跳过  回车 
技巧:Tab 切换选择单元格
    或 左右方向键
8)欢迎界面 -> Next 下一步
9)安装提示语言:简体中文  -> Next
10)键盘配置 默认  -> 下一步
           US.English  美式键盘
  以系统默认识别的为准
11)鼠标配置  默认  -> 下一步
  带滑轮鼠标(PS/212)安装类型:定制
  建议自己配置细节
13)磁盘分区设置:
  改为:手工分区   -> 下一步
14)警告:选是
  重新分区会格式化,清除之前数据
15)磁盘设置:           根目录/ 下的dev子目录  device 设备
目前只有一块硬盘,名称:/dev/sda (设备文件名,代表一块硬盘)
需要进行分区:
 设备分区名:  挂载点(目录名):     类型:       大小:
 /dev/sda1       /boot                 ext3          100M
 /dev/sda2       无 <不适用>          swap          2G  2000MB
 /dev/sda3       /                      ext3         余下6G 使用全部可用空间
                                                           
注意:选中“空闲” 再新建

swap分区:交换分区、虚拟内存      归系统内核直接指挥
  当系统的物理内存不够用时,会将硬盘的部分空间模拟成内存使用;
  原理:内存的读写速度远远大于磁盘
  偶尔使用虚拟内存,能够救急,如果频繁使用会导致效率明显降低;
  建议:在系统的性能测试过程中,要适当关注虚拟内存的使用率 top 
         如果较高,说明物理内存不足,存在性能瓶颈;
-> 下一步

16)引导转载程序配置   默认  -> 下一步
17)网络配置  默认 -> 下一步
   后续重点配置IP地址等
18)防火墙配置  默认 -> 下一步
19)附加语言支持  默认 中文-> 下一步
20)时区选择  默认 -> 下一步
21)设置根口令:123456
                   123456
        root 用户 登录密码    
                   login
Linux/Unix中超级管理员、超级用户:root   拥有系统的最高权限、所有权限

123456    abc123   暴力破解(穷举法、蛮力法)  通过工具
cptbtptp123@@bcptdtptp456^^
谐音记忆法:
横看成岭侧成峰,远近高低各不同
hkclccf1122@yjgdgbt3344
不识庐山真面目,只缘身在此山中
 
如何设置服务器的密码才安全?
<1> 必须由字母、数字、特殊字符组合而成;
<2> 位数不能少于15位;
<3> 不能是生活中常用词,比如人名、单词、电话;
<4> 不能写在书面上;
<5> 不能一码通;  不同主机设置不同的密码
<6> 要定期更换;  比如一周一换、一月一换

二战:计算机科学之父、人工智能之父  艾伦.图灵    图灵奖
       数学家、密码学家   打造计算机破解 超级密码

-> 下一步

22)验证配置: 默认   -> 下一步
 启用MD5口令:MD5加密算法   明文 -> 密文   几乎不能破解
 启用屏蔽口令:登录时输入密码不回显   包括位数 
                  
23)选择软件包组:
哪些必须要选?
桌面:X窗口系统     后续有办法使用系统的图形界面
应用程序:编辑器  vi

 -> 下一步
24)即将安装   -> 下一步   -> 下一步
走进度条,持续10分钟左右,安装disk1

软件=程序+文档  安装软件是由大量目录、文件构成
                    将目录、文件按照特定的结构安放(部署)到磁盘某位置;
                    同时需要对系统进行环境的设置,比如系统环境变量;
程序=数据结构+算法
   整体结构设计 具体步骤实现(计算方法)

后续会提示请插入第2张光盘; 先等下,不急着操作!

25)ctrl+alt 切换到物理机: 虚拟机 -> 设置
选择:CD/DVD  选择disc2
注意:设备状态  都要打钩
         已连接、启动时连接
   选择ISO映象文件:shrike-i386-disc2.iso
26)进入VM中,点击确定  
后续会提示请插入第3张光盘
27)ctrl+alt 切换到物理机: 虚拟机 -> 设置
选择:CD/DVD  选择disc3
注意:设备状态  都要打钩
         已连接、启动时连接
   选择ISO映象文件:shrike-i386-disc3.iso
28)创建引导盘: 否 不创建   -> 下一步
29)图形化界面(X)配置:默认   -> 下一步
30)显示器配置:默认  -> 下一步
31)定制图形化配置:需要更改!
 请选择您的登录类型:文本    后续登录系统后,使用命令行风格
-> 下一步
32)祝贺页面  -> 退出  会重新启动Linux系统

四、Linux系统的登录
1、登录的方式
1)本地登录    主机面前直接操作
 图形化:比如Windows系统
 命令行:当前Linux字符界面

显示登录界面:
localhost login:  root   用户是超级用户
 本地主机 登录  密码:123456
注意:密码不回显   无法看到输入密码的占位符
登录成功后,显示提示符:   通过exit 退出登录
[root@localhost root]#  后续可敲命令   
          比如:  date  系统日期、时间
                   cal    本月日历
                   exit   

思路:在不同环境中,显示的命令行提示符不同
      要通过不同提示符区分不同环境
Windows cmd:   D:\> ipconfig
Python环境: >>>  print("Hello")
Mysql环境:  mysql> select * from emp;
Oracle环境: SQL> select * from emp;
Linux环境:  [root@localhost root]#  date

2)远程登录    通过客户端工具,借助网络远程控制、管理服务器
 图形化:需要客户端安装特殊软件才能支持   一般较少用
 命令行:更常用  远程命令行方式管理系统 (目前推荐使用)

建议安装一个客户端小工具:SSH   或 SecureCRT
  SSHSecureShellClient-3.2.9.exe    5.26MB
安装步骤:都是默认的  下一步Next、是Yes、 Finish完成
如何打开?
  所有程序 -> SSH Secure Shell   安全的shell(命令行)

          或SecureCRT
目前关系:SSH是客户端工具 --网络--  Linux系统 作为服务器
                    Client        Network        Server
                        date                         内核程序处理 访问底层硬件

SSH如何修改字体、大小:
  Edit -> Settings -> Global Settings -> Appearance -> Font
  编辑    设置         全局设置             外观             字体
  字体:Consolas      大小:16左右

Quick Connect:
 快速   连接
  Host Name:      服务器主机名,就是IP地址,需要查证
  User Name: root   登录服务器使用账号,用户名  目前使用超级用户
                        连接成功了,才需要输入密码
  Port:  22         端口号    SSH默认端口号就是22  好比服务编号

2、目前问题:不知道服务器的IP地址
重要命令:如何查看系统的IP地址?
<1> Windows:ipconfig
前提:至少需要开启网络适配器 VMnet1连接  启用
     右击"网络" -> 网络适配器 ->  查看某连接  将其启用

本地连接:
   IPv4地址:192.168.3.3
   子网掩码:255.255.255.0

以太网适配器 VMware Network Adapter VMnet1: 
    IPv4地址:192.168.23.1     以自己查到的为准 192.168.xx.1
    子网掩码:255.255.255.0

<2> Linux:ifconfig
 目前:127.0.0.1   默认的本机环路地址  供访问自己本机时使用
       目前还未配置合理的IP

IP地址格式规律:4个三位整数(十进制数),点号连接
 比如:192.168.23.1
     每个整数底层占据一个字节Byte = 8二进制位 bit  
    二进制: 00000000 ~ 11111111  255  
                            100000000  256   2的8次方
    十进制数:   0 ~   255                    
到底要给服务器设置一个什么IP?
  由于目前网络连接采用第3项:私有网络
     要求:服务器Linux的IP地址 要和 VMnet1的IP在同一个网段中
  如果采用第1项:桥接方式
     要求:服务器Linux的IP地址 要和 本地连接的IP在同一网段中

五、设置Linux网络环境
1、先查看IP地址(让Windows机器和Linux机器相连,需要两个IP)
查看Windows系统IP命令:ipconfig

查看Linux/Unix系统IP命令:ifconfig

2、注意:由于安装Linux时选中第3项,则当前需要查看VMnet1的IP地址:192.168.23.1       

IPV4:
xxx.xxx.xxx.xxx

3、在Linux系统配置IP (和VMnet1的IP在同一网段)
 规律:前3个数字一样,最后一个不一样
 192.168.23.1    VMnet1 IP
 192.168.23.2    Linux IP    就在同一网段中
原因:子网掩码 255.255.255.0
  两个IP地址分别和子网掩码,进行按位与操作,如果结果一致,就在同一网段中。

11000000
11111111  按位与
11000000

 192.168.23.1     IP1
 255.255.255.0  按位与     (有0则0,全1则1)
----------------------
 192.255.23.0  结果1

 192.168.23.2     IP2
 255.255.255.0  按位与     
----------------------
 192.168.23.0  结果2 和 结果1一样,说明IP1和IP2在同一网段中,可以互相通信。

说明:选择第3项,Linux需要和VMnet1连通
       如果选第1项,需要查看本机IP

配置步骤:
1)查看Linux的IP地址: ifconfig   目前还未设置
2)设置Linux的IP地址:netconfig
   (设置为192.168.23.2)  前3个数字和VMnet1 IP一样
           xxx.xxx.xxx.2

在Linux中,输入 netconfig -> 出现配置窗口(字符界面)
 -> Would you like to set up networking?  是否配置网络
 -> Yes  回车  (用Tab键选择)

Use dynamic IP configuration (BOOTP/DHCP) 自动分配IP
  不选择,需要自己设置  (用Tab键跳过)
 IP address: 192.168.23.2 回车两下,自动出现后续结果
 Netmask: 255.255.255.0   子网掩码
 Default getway(IP): 192.168.23.254   默认网关IP
 Primary nameserver: 192.168.23.1
 -> Tab  选择 OK -> 回车
  (或再敲三次回车)
效果:会自动修改到系统底层网络配置文件中,下一次启动系统时自动读取;
       或执行重启网络服务命令即可;

                      服务    网络    重启
3)重启网络服务:service network restart
# service network restart
# ifconfig   查看固定好的IP地址  192.168.23.2

4)使用SSH连接Linux
 打开SSH Secure Shell -> Secure Shell Client
 -> Quick Connect  快速连接
  Host Name: 192.168.23.2    主机名
  User Name: root  用户名
  Port: 22 默认端口  ->  点击Connect

连接不上,原因:服务器是否启动、网络连接是否良好、防火墙是否禁用;
网络防火墙firewall 可能没关,需要关闭防火墙
同时排查网络是否连通:ping命令 (Windows/Unix/Linux通用)
 从Windows连Linux: CMD中  ping 192.168.23.2   可以  
不可以,考虑关闭防火墙

提示:ctrl + c命令 用于结束当前控制台进程

5)关闭Linux防火墙:iptables -F
# iptables  -F

再使用SSH连接Linux ...
  输入:192.168.23.2    root
  输入密码:123456 即可

方法二:如果还有问题,改为桥接方式
 选择第1种:Use bridged networking  桥接方式
  (VM -> Settings -> Network Adatper  网络适配器)
 Linux IP地址也需要和本机IP处于同一网段  命令:netconfig
   本机IP: 192.168.3.3   (本地连接IP地址)
   Linux IP: 192.168.3.101  重新设置  netconfig
 再:service network restart   重启网络服务
 再:iptables -F               关闭防火墙

配置步骤总结:
1)查看网络适配器:确保 已连接
                    使用第3项:仅主机模式(私有网络方式)
2)查看物理机ipconfig:  VMnet1的IP: xxx.xxx.xxx.1
                           子网掩码:    255.255.255.0
3)配置Linux的IP:netconfig   配置为: xxx.xxx.xxx.2
4)重启网络服务:service network restart
  查看ip: ifconfig
  从物理机:ping xxx.xxx.xxx.2    判断网络是否可达
5)关闭防火墙:iptables -F 

说明:网络适配器问题,建议清理注册表:CCleanner   扫描问题
        没有网络适配器的可以试试,再重启

Java   C      Python   C++  ...  SQL  ...
 95    70后   89后     83后
共性:变量、函数或方法

六、Linux/Unix基本命令
命令:使用一些词句、动作让系统执行某些操作;
命令的基本格式:命令名   [-选项...]   [参数 ... ]
command 命令、选项、参数之间至少留一个空格
          参数是操作的对象,选项是增加的功能
          命令是主要功能,选项和参数 可能不止一个,多个用空格隔开
比如:    javac    -d    .    Hello.java
           iptables  -F
           ls
           ls         -l
           ls         -al
           cal
           cal                   2021
           cal                   3  2021
           date
注意:Linux/Unix中命令区分大小写  -F  -f 不同
       Windows不区分  javac   Javac

执行命令的地方:
                 Command Line
使用Linux/Unix的命令行窗口(终端、Shell 命令解释器、Console 、控制台)
先解决一个重要的哲学问题:我是谁?我在哪儿?我有什么?
                               从哪里来,到哪里去?

1、我是谁?查看用户的身份   和权限有关!
1)使用who am i   结果root
  查看最初登录的身份
# who am i  显示最初用户登录信息
root     pts/0        Mar 15 12:29 (192.168.23.1)
用户名  伪终端号      登录时间      从这个IP远程登录
 某用户以root身份,在上午12:29分从192.168.23.1的客户端远程登录到服务器,分配伪终端号pts/0

root     pts/1        Mar 15 16:49 (192.168.23.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         Mar 15 10:39                     本地登录        
root     pts/0        Mar 15 12:29 (192.168.23.1)  远程登录
root     pts/1        Mar 15 16:49 (192.168.23.1)  远程登录

命令:exit  退出登录、表示离线

wroot  D:\
 /      \
斜杠 反斜杠

2、我在哪儿? 使用pwd命令    在哪儿也和权限有关!
                             打印  正在工作的 目录、文件夹
pwd 显示当前的工作目录(Print Working Directory)
# pwd         /root     /目录 (根目录)下的root子目录

目前/root是root用户的主目录(Home Directory)
默认就是登录后所在的目录,具备较多的权限。

3、我有什么? 使用ls命令  
# ls 显示当前目录的内容(包括文件和目录)
   只能显示文件、目录的名称
# ls -l  以长列表方式查看 (更详细)
         显示文件、目录的详细属性
文件类型 权限    属主    属组  大小 最后一次修改时间
-rw-r--r--    1 root     root  989  3月 13 05:33    anaconda-ks.cfg
           硬链接数                                           文件/目录名

文件的属性:除了文件名、文件内容之外的其它信息
1)文件类型: -  文件   d 目录   Directory
2)权限:rw-r--r--
3)属主:用户名root  该文件属于哪个用户
4)属组:该用户属于哪个组root
5)文件大小:989 Byte   单位:字节
6)最后一次修改时间:3月 13 05:33

面试题:Linux系统中如何查看一个文件的权限?
ls -l  文件名

     命令名 选项 参数就是文件名
比如:ls    -l    install.log

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 date pwd ...   都是可执行的文件
  etc目录     常用的配置文件
                 /etc/passwd 文件  管理用户账户信息
                 /etc/group  文件   管理用户组信息
  home目录   普通用户主目录所在目录(每个用户对应一个子目录)
  root目录    管理员用户主目录
  boot目录    系统启动文件目录
  ...
想到/home下
# cd /
# cd home    相对路径

或者
# cd /home   绝对路径 (特点:一定从/开始)

作业题:盘点今天学习的Linux命令
    命令的语法、功能
   比如:查看用户详细身份:id
          查看目录下详细内容:ls -l

 

posted @ 2020-12-18 15:47  藤上小冬瓜  阅读(180)  评论(0编辑  收藏  举报