• 第三讲 Linux测试


    3.1 Linux操作系统定义

    Ø我们为什么要学习这个linux系统呢?

    那是因为我们很多的服务都放在这个linux系统,那为什么很多服务都要放到这个linux系统?这是因为linux系统好,它系统稳定,执行效率也高,而且它开源,开源的话就可以更容易去明白他的工作机制,不像windows这种他是不开源的,你甚至一些bug都不知道怎么去看他的一些源代码,怎么去找错误,所以说呢使用的公司和人都会比较多,就是常把它当做服务器

    ØLinux操作系统是一个免费、开源、基于POSIX和Unix的多用户、多任务、支持多线路和多CPU的操作系统。

    免费:不收费、免费使用。

    ★开源:可以理解为开发“源代码”的意思,任何人使用软件的同时都可以去查看软件的源代码,或者根据自己的需求去修改它。

    ★Posix:可移植操作系统接口,标准定义了操作系统应该为应用程序提供的接口标准。

    ★Unix:早期的操作系统,操作系统的老大哥,后来的Windows系统和Linux系统都参考了Unix。

    ★多用户多任务:多用户多任务就是在系统建立多个用户,多个用户可以在同一时间内登录同一个系统执行各自不同的任务。

    ★线程:线程是CPU调度和分配的基本单位。

    3.2 Linux主流发行版本

    1、Ubuntu:

    ★优点:最受欢迎的桌面Linux发行版。固定的发布周期,丰富的说明文档。

    ★缺点:与Debian存在一定的兼容问题

    2、red hat(收费):高性能的云、虚拟化、存储、Linux和中间件技术

    3、Centos:免费、是用户选择较多的对象、较为安全是因为centos充分利用了SELinux(一种基于域-类型模型的强制访问控制安全系统)框架用于安全加强层。

    ★优点:非常稳定和可靠

    稳定:CentOS 的更新频率较低,版本较为稳定,Ubuntu的话是经常更新,版本稳定性较低

    安全:CentOS 充分利用 SELinux 框架用于加强的安全层,而目前在 Ubuntu 中则不可用或者说是不容易使用

    所以说服务器的首选还得是CentOS服务器的首选,免费下载和使用

    ★缺点:内核版本比较旧

    在众多版本中CentOS和 Ubuntu应该是最有名的两个,外面公司来选做服务器系统的话 也都会从这两个当中二选一。但作为服务器来说首选的话还是CentOs,虽然Ubuntu桌面做的好,很华丽,但是对于服务器操作系统来说,一般都是远程操作,所以Ubuntu的桌面优点在做云端服务器上就无法显现了,因为一般都是命令行远程操作

    3.3 Linux常用目录

    ★home目录:普通用户家目录

    ★root目录:管理员家目录

    ★/local目录:用户自行安装的文件存放路径

    1、目录的话我们可以用windows系统来做个类比,好,我们看到我的电脑,他是不是有很多的驱动器盘符组成的 有C盘 D盘 盘里面有文件夹或者文件,文件夹里面又有文件夹或者文件 它就是这样构成的

    2、但linux呢 它没有盘符这个概念,他只有一个根目录,用/表示 连字母都没有就一个/ ,所有文件都在这个根目录下面(根目录:"/")就没有像windows分多个驱动盘符,它所有文件都是从这个/ 下面引伸出来的

    ★etc目录:

    3.4 Linux常用指令

    ★1>用户切换命令:su   如:[nasa@localhost Desktop]$  使用nasa账号登录位置在本地的桌面

    $:普通用户     #:管理员用户     clear:清屏命令

    注:在输入文件或目录、命令的前几个字母后,按Tab键如果存在会自动补全名称。

    ★2>查看文件信息:ls    查看文件详细信息:ls -l或ll   

      加上参数-h带单位显示:ls -h -l

    -a参数    显示指定目录下所有的子目录和文件,包括隐藏文件。 以˙开头的为隐藏文件

    drwxr-xr-x.   3 root root  4096 Jul  1 03:25 opt

    -rw-r--r--.   1 root root     0 Jul  1 07:41 doc

    硬链接数  目录用户 用户所在的用户组 文件大小 修改时间

    第一位代表文件类型

    d  目录       -  普通文件        l   链接文件

    r: 读权限,用数字4表示

    w:写权限 ,用数字2表示

    x: 执行权限,用数字1表示

    后九位三位一组

    第一组   创建这个目录用户所有权限(文件所有者)

    第二组   创建这个目录的用户所在组的权限(同组用户)

    第三组    其他用户对这个文件的权限(其他用户)

    ★3>ifconfig   查看IP

    ★4>切换工作目录:cd    cd后面是可以接绝对路径的,也可以接相对路径,如果省略目录,则切换到当前用户的主目录。

    tab键  联想键上下键 可以查看操作过的命令

    cd ~ 切换到当前用户的主目录(home/用户目录)

    如果路径从根茎开始,则路径前面要加上 /,如" /home ",通常进入某个目录的文件夹前不用加” / "

    如果是进入当前目录下的目录就不用加 /

    “~”家目录 " . " 代表的是当前目录 " .. " 代表的是上一级目录

    ★5>显示当前所在路径:pwd

    ★6>创建空文件:touch

    创建空目录:mkdir(一般进入自己用户目录,避免破坏其它目录上原有的一个目录解构)    -p 递归创建目录

    删除目录:rm -r 目录名

    同时删除目录下多个目录:

    rm -rf /duoyoumi/apache-tomcat-7.0.56/webapps/{docs,examples,host-manager,manager,ROOT}

    同时删除目录下多个文件:

    ★7> ◆删除命令:rm    常用的参数   

    rm 删除文件前进行确认      rm -r 删除目录

    rm -rf 强制删除文件/目录      rm -rf * 删除当前目录下所有

    ◆拷贝:cp      复制一个文件:cp +原文件名称 +新文件名称

    复制文件指定保存路径: cp + 文件名 +目标目录

    复制一个目录:cp -r +被复制目录+新目录

    -v 显示命令执行的详细信息

    ◆移动、重命名:mv   移动:mv +需移动的文件名 + ./目标目录

    重命名:mv+原文件/目录名称+新文件/目录名称

    ★8> ◆查看命令:cat:查看一个文件的所有内容   cat+文件名

    ◆管道符 |     一个命令的输出可以通过管道作为一个命令的输入

    管道我们可以理解为现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“|”的左右分为两端 ,左边塞东西(写),右边取东西(读)

    ◆grep命令是一种强大的文本搜索工具,可以使用正则表达式搜索文本,并把匹配的行打印出来。 grep   过滤,匹配,搜索

    1:搜索文件中含有ip的行        cat 文件名|grep “ip”

    2:查看关键字后十行       cat 文件名|grep “关键字” -A 10

    3:查看关键字前十行        cat 文件名|grep “关键字” -B 10

    4:查看关键字前后10行日志,并显示出行号

     cat 文件名|grep “关键字” -C 10

    ★9> ◆less命令 针对内容较多的文件,支持翻页查看

    less + 文件名称       sapce键下翻 b键上翻 ctrl+z退出

    ◆more:针对内容较多的文件,支持翻页查看   more + 文件名

    b键上翻 enter键向下翻页

    ★10>◆head命令:查看文件前的行数

    head + 文件名(默认查看前10行)

    -n        head -n 3 文件名 (查看文件前3)

    ◆tail命令,查看文件末尾行数tail + 文件名(默认查看后10行)

    tail -n 3 文件名(查看文件后3行)tail -f 文件名 查看实时日志

    ★11>重定向符号   1、> 覆盖     2、>> 追加

    ls查出的内容都显示在这个终端上,我们也可以使用重定向符把内容放到一个文件里,方便后续的查看分析

    1:cat hello.txt > kitty.txt (把hello.txt文件的内容覆盖到kitty.txt)

    2:cat hello.txt >> masike.txt (把hello.txt的内容追加到masike.txt)

    ★12>find命令:通过文件/命令名称查找绝对路径

    find / -name 文件名/目录名

    1:find / -name cms  查看根目录下名称为cms的文件/目录

    ★13>chmod命令:修改文件/目录权限

    ★14>chown命令:修改文件拥有者

    chown+新用户名+文件/目录名称

    ★15>◆useradd命令:添加用户    useradd+普通用户名称

                 查看所有用户   cat /etc/passwd

                 设置密码:passwd+用户名

    groupadd命令:添加用户组      groupadd+用户名

                    查看用户组      cat /etc/group

    passwd命令:添加用户密码     passwd +用户名称

    查看用户所在用户组  groups+用户名

    添加用户指定组  useradd+用户名 -g+组

    按上下键,可出现前面已输入指令,免于再次输入

    ◆Userdel命令:删除用户   userdel -r+用户名

    注意:删除用户需要加-r参数(彻底删除),否则还在

    cat install.log|head -n 20  查看前20行

    cat install.log|head -n 20|tail -n 10查看前20行中的后10行

    ★16>★tar命令:tar  安装/卸载tar包  

    打包一个tar包         tar -cvf+xxx.tar+xxx

    解压一个tar包         tar -xvf+xxx.tar

    参数: -c    打包       -v 显示打包进度

     -f指定文件       -x解包

    ★rpm命令:安装rpm包    rpm -ivh xxx.rpm

      参数:  -i   安装   -v显示安装进度

    ★zip命令:打包一个文件/目录

    zip xxx.zip xxx     把文件打包成一个zip包

    zip -r xxx.zip    把目录打包成一个zip包(需加参数-r)

    unzip命令:解压一个zip包    unzip xxx.zip

    ★yum命令:yum在线下载安装   yum install+应用名

     

    出现以上报错属于镜像源问题,一键替换镜像源:contos 6最新镜像源

    一键替换镜像源:

    contos 6最新镜像源

    1、直接复制粘贴使用:wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo

    2、重新加载缓存:yum makecache

    ★17>★scp命令:实现两个不同的Linux服务器之间文件传输

         把服务器1(192.168.1.101)home目录下file传输到服务器2(192.168.1.102)home目录下

    scp/home/filel root@192.168.1.102:/home输入服务器2的密码

    把服务器2(192.168.1.102)中home目录下的file1拿到服务器 1home目录下

    scp root@192.168.1.102:/home/file1 /home

    ★Lrzsz工具:

    →rz命令:Windows文件传输至Linux

    →sz命令:Linux文件传输至Windows

    缺点:rz命令和sz命令只能用来上传拉取0-500MB之间的文件,不能传大文件,传输速度慢。

    xshell:连接Linux服务器的一款工具

    ★18>★df命令:查看磁盘使用情况     参数-h       df -h带单位显示

    ★19>★top命令: 查看动态进程,持续查看CPU使用情况       常用参数 -d       top 退出ctrl +z或ctrl+c

    top -d+秒 设定间隔时间查看资源使用情况

    ★20>查看内存:free

    常用参数:-b,-k,-m,-g (show output in bytes),KB,MB,or GB

    ★21>ps命令:查看进程的命令 

    ps aux:查看所有用户的进程   a表示所有进程 u 表示用户 x 执行

    ps -ef|grep+服务名称: 查看某个服务的进程

    ★22>kill命令:杀进程命令

    强制杀进程:kill -9+进程号

    ★23>netstat -ntlp命令:查看所有已经开启的端口

    lsof -i:端口号:查看占用某个端口的服务

    Kill -9 进程号    强制关某个进程

    hostname  查看主机名称      du -sh  查看当前文件大小

    getconf LONG_BIT命令  查看系统位数

    ★24>who命令:查看在线登录用户

    whoami命令:查看当前操作用户

    hostname命令:查看主机名称

    getconf LONG_BIT命令:查看内核信息

    du -sh+文件/目录:查看某个文件/目录的大小

    rebot命令:重启Linux系统

    shutdown now:关机

    init 0命令:关机

    ★25>service network restart:重启网卡

    service  network stop关闭网卡

    service  network restart  重启网卡

    service  network status  查看网卡状态

    alias:用于设置指令的别名   unalias:取消别名

    如:alias nasa(别名)=ls(指令名称)

    history:查看历史  reset:重置屏幕  clear:清空屏幕

    nl:显示第几行,并显示详细信息

    ★26>软连接:用来创建桌面快捷方式

    创建软连接:ln -s+原文件名+链接文件

    删除软连接:rm -rf+链接文件

    硬链接:相当于备份   ln -d+原文件+备份后的文件名称

    ★27>

    ◆Vim文本编辑器:作用:用于编辑一个文件     

    用法:1、vim+文件名称  2、输入a     3、开始编辑内容

    4、摁ESC键           5、shift+:       6、输入wq

    ◆vim编辑器拥有的三种模式:

    1.命令模式 作用:用于键盘输入命令

    2.编辑模式 作用:用于编辑文本,修改文本

    3.末行模式 作用:用于输入末行命令

    ◆vim命令模式下的常用命令

    1、a命令 从命令模式进入到编辑模式,在光标所在位置后进行输入

    2、A命令 从命令模式进入到编辑模式,在光标所在行尾进行输入

    3、i命令 从命令模式进入到编辑模式,在光标所在位置前进行输入

    4、I命令 从命令模式进入到编辑模式,在光标所在行首进行输入

    5、o命令 从命令模式进入到编辑模式,在光标所在行下一行输入

    6、O命令 从命令模式进入到编辑模式,在光标所在行上一行输入

    7.x命令 对光标所在的字符进行删除

    8.X命令 对光标所在前的单个字符进行删除

    9.dd命令 删除光标所在行

    10.D命令 删除光标所在字符到行尾的内容

    11.yy命令 复制光标所在行的内容

    12.nyy命令 复制包含光标所在行的指定行数

    13.p命令 在光标所在行的下一行进行粘贴

    14.P命令 在光标所在行的上一行进行粘贴

    ◆vim末行模式

    1):wq命令 保存并退出

    2):w命令 保存

    3):wq! 强制保存,退出

    4):q! 强制退出

    5):set nu 设置行号/显示行号

    6):set nonu 取消行号显示

    7):m,ny命令 复制m~n行

    8):m,nw +文件名称 指定m~n行,写入到一个新文件

    9):/字符串 匹配的字符串高亮显示

    10):noh 取消高亮显示效果

    ★28>Linux命令末尾加-I参数,不区分大小写

    linux系统模糊查询常用“*.”

    数据库模糊查询常用“%”

    详解:
    第一行:
    20:45:37— 当前系统时间
    1:08 — 系统已经运行时间(在这期间没有重启过)
    4 users — 当前有4个用户登录系统
    load average: 00, 00, 00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
    load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
    第二行:
    Tasks — 任务(进程)共有144个进程,运行中的有1个,139个在休眠(sleep),stoped状态的有4个,zombie状态(僵尸)的有0个。
    第三行:cpu状态
    6.7% us — 用户空间占用CPU的百分比。
    0.4% sy — 内核空间占用CPU的百分比。
    0.0% ni — 改变过优先级的进程占用CPU的百分比
    92.9% id — 空闲CPU百分比
    0.0% wa — IO等待占用CPU的百分比
    0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
    0.0% si — 软中断(Software Interrupts)占用CPU的百分比
    第四行:内存状态
    1030528 total — 物理内存总量(10GB)
    386032k used — 使用中的内存总量(3.86GB)
    644496k free — 空闲内存总量(6.44)
    buffers — 缓存的内存量
    第五行:swap交换分区
    total — 交换区总量
    used — 使用的交换区总量
    free — 空闲交换区总量
    cached — 缓冲的交换区总量(4GB)
    六行是空行
    第七行以下:各进程(任务)的状态监控
    PID — 进程id
    USER — 进程所有者
    PR — 进程优先级
    NI — nice值。负值表示高优先级,正值表示低优先级
    VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR — 共享内存大小,单位kb
    S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    %CPU — 上次更新到现在的CPU时间占用百分比
    %MEM — 进程使用的物理内存百分比
    TIME+ — 进程使用的CPU时间总计,单位1/100秒
    COMMAND — 进程名称(命令名/命令行)

  • 相关阅读:
    CentOS 7上安装Python 3.11.5,支持Django
    LeetCode算法题解|LeetCode435. 无重叠区间、LeetCode763. 划分字母区间、LeetCode56. 合并区间
    【毕业设计】基于stm32的WiFi监控小车 - 物联网 单片机 嵌入式
    218. 扑克牌 - 记忆化概率dp
    带讲解的自行车租赁系统,可做毕设/课设
    ajax之Content-Type示例
    Access-Control-Allow-Origin跨域问题,使用Nginx配置来解决
    Django-Multitenant,分布式多租户数据库项目实战(Python/Django+Postgres+Citus)
    非零基础自学Java (老师:韩顺平) 第14章 集合 14.6 Vector 底层结构和源码分析
    xss跨站脚本攻击姿势大全
  • 原文地址:https://www.cnblogs.com/ZHH-CY/p/16544980.html