linux(1)

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
        如何回到字符界面? 适合服务器,省系统资源 更专业
          小红帽 -> 注销

原文地址:https://www.cnblogs.com/KalosOwen/p/8987192.html