什么是linux环境下的测试,单元测试和Linux系统

unitTest

单元测试 :是用来对一个模块/一个函数/一个类来进行正确性检验的测试工作

单元测试的四个核心:

test case(测试用例):一个py文件就是一个测试用例

test suite(测试套件):测试用例的集合

test runner(测试运行器):执行测试套件

test fixture(测试环境数据准备和数据清理或者测试脚手架)

test case(测试用例):一条用例就是一个完整的测试流程

1.步骤

1)导入 unittest 模块,被测文件或者其中的类

2)创建一个测试类,被继承 unittest.TestCase

3)重写 setUp 和 tearDown 方法(如果有初始化条件和结束条件)

4)定义测试函数,函数名以 test_开头。测试用例

5)在函数体中使用断言来判断测试结果是否符合预期结果

6)调用 unittset.main()方法运行测试用例--------无此方法也是可以运行

2.设置 setup 和 teardown:每次用例执行前都会执行初始化条件和结束条件

#测试网站搜索

def web_search():

print("网站搜索功能")

return 10

import unittest

class MyTest(unittest.TestCase):

# def setUp(self) -> None:

# print("测试用例初始化")

# def tearDown(self) -> None:

# print("测试用例回收资源")

@classmethod

def setUpClass(cls) -> None:

print("测试用例初始化")

@classmethod

def tearDownClass(cls) -> None:

print("测试用例回收资源")

def test_01(self):

print("Case--->test_01方法被执行")

ret = web_search()

self.assertEqual(20,ret)

def test_02(self):

print("Case--->test_02方法被执行")

#该方法没有已test开头,不会执行

def t_03(self):

print("Case--->test_03方法被执行")

python2 VS python3

print

python2中print为输出语句

Python3中print是一个函数

range和xrang

range()在Python2中会得到一个列表,xrange(1,3)得到一个生成器

在Python中是生成器,没有xrange

字符串

Python2中存储字符串,底层使用ascii编码

python3存储字符串,使用的是Unicode

异常处理

python2

try:

print 1/0

except Exception,e:

print e

打开文件

python2有多种打开方式

f = file()

f = open()

f = file("1.txt","w")

f.write("hello world")

f.close()

标准输入

python2有两种标准输入

info = raw_input("提示消息:"),输入数据全部转换为字符串

info =input("提示消息:"),输入什么就输出什么数据类型,输入字符串加引号

除法操作:/

python2: /表示的是整除,加上浮点数就是真实除法

python3:/表示除法,//表示整除

虚拟机

开启虚拟化

以thinkpad为例,开机按F1,切换security页面,visualization选项,将后面的disable修改为enable,F10保存

操作系统

承上启下的作用

桌面系统:windows,Mac,Linux

移动设备操作系统:安卓(linux),IOS

网络配置

windows查看ip地址 ipconfig

linux查看ip地址 ifconfig

ping ip地址

NAT共享模式:虚拟机共享当前宿主机的网络

桥接模式:虚拟机直接连接物理网络

配置之前先用ping命令查看是否ping通,不通说明地址没有被占用

1.找到ip地址配置文件

su - root

cd /etc/sysconfig/network-scripts

gedit ifcfg-ens33

#注释BOOTPROTO="dhcp"

# 静态 IP 地址分配 BOOTPROTO="static"

# 配置 IP 地址 IPADDR=10.10.12.120

# 配置子网掩码 NETMASK=255.255.255.0

# 配置DNS DNS1=114.114.114.114 (或者8.8.8.8)

# 配置网关 GATEWAY=10.10.12.1

#修改完之后,重启网络

systemctl restart network

防火墙设置

CentOS 7 关闭防火墙

– 关闭防火墙:systemctl stop firewalld

– 关闭开机启动:systemctl disable firewalld

– 查看关闭状态:systemctl status firewalld

终端提示符

root@localhost

1.root:用户名

2.localhost:主机名

3./home:目录,路径

4.$ :用户类型($普通用户,#管理员用户)

cd 切换目录

ls 查看文件

linux文件系统

bin可执行的命令文件夹 dev设备文件 home普通目录家目录 lib64 mnt proc run srv tmp var

boot etc配置文件 lib系统依赖库 media opt root sbin sys系统文件 usr

WinSCP软件使用,windows下的客户的图形软件

双击打开,New session

hostname:ip地址

user name:用户名

password:密码

帮助命令,是命令行的帮助文档,可以以友好的方式查看该命令的常规方式和其他选项

-h 或者--help 选项:用于查看指定命令的帮助信息

格式: ls --help

which 命令:用于查看指定命令在文件系统环境变量中的位置

格式: which 命令

whereis 命令:用于查看指定命令在文件系统中的位置

格式: whereis 命令

man 命令

系统常见命令

ls:查看指定路径中的文件

cd:改变当前工作路径

pwd:查看当前工作路径

ifconfig:查看当前网络配置信息

poweroff:关闭计算机

shutdown:关闭计算机

reboot:重启计算机

grep:数据检索命令

|:管道符号,连接多个命令

find:文件检索命令

ls 查看

ls path 命令 ,用于查看path下的文件列表 list files

-a:用于查看所有文件,包括隐藏文件

-l:列表方式查看文件信息,包含文件权限,所属用户,组,文件大小

-R:递归方式查看当前文件下的所有子文件

cd:进入指定文件夹 cd path

cd /home/han

cd:直接回车,进入当前用户家目录

cd ~:进入当前用户家目录

root用户,/root/

han用户,/home/han

shotdown:用命令关闭计算机,可以延时

shutdown -r now :立刻重启系统

shutdown -r 10 :10分钟后重启

shutdown -r 17:30 :指定时间重启

shutdown -c :取消shutdown命令操作

grep:数据检索命令

-v 显示不包含匹配文本的所有行

-n 显示行号

-i 忽略大小写

grep fib demo_01迭代器.py 在当前目录的demo_01文件中查找fib字符

grep info *.log #在所有的.log文件中找info

grep -i fib demo_01迭代器.py 在当前目录的demo_01文件中查找fib字符,忽略大小写

grep -in fib demo_01迭代器.py 在当前目录的demo_01文件中查找fib字符,忽略大小写,显示行号

|:管道符号,连接多个命令,将第一个命令的输出结果作为第二个命令输入

ls|grep demo,在当前目录搜寻包含demo名称的文件

find:文件检索命令

#查看当前文件所有后缀为.py的文件

find ./ -name "*.py"

#查看当前文件目录所有以大写字母的文件

find ./ -name "[A-Z]*"

#查看/tmp目录下小于2M的文件

find /tmp -size -2M

#查找当前目录权限为777的文件或目录

find ./ -perm 777

文件操作命令:主要用于文件/目录的管理,包含文件的创建、重命名以及删除,文件夹的创建,

重命名以及删除,文件/目录的复制、剪贴等操作

命令

描述

echo

信息打印,echo "文本信息"

touch

创建文件 touch 文件名称

cp

复制文件 cp 源文件 目标文件 ,将源文件复制到目标文件

mv

移动文件 mv 源文件 目标文件 ,将源文件移动到目标文件

mkdir

创建目录 mkdir 文件夹名称

rm

删除文件 rm(-r递归删除,-f忽略提醒) 文件名

压缩解压命令

命令

描述

tar

文件归档

gzip

.gz格式压缩

bzip2

.bz格式压缩

zip

.zip格式压缩

xz

.xz格式压缩

tar :归档命令,可以将多个文件打包成一个文件,也可以将打包的文件拆分成多个文件

-c 创建打包文件

-v列出归档过程

-f指定文件名称,f后面一定.tar文件

-x解开文档

-t列出文档中包含的文件

tar -cvf target.tar file1 file2 file3 可以将多个文件打包成target.tar文件

tar -xvf target.tar 将target.tar中文件释放到当前目录

tar -tvf target.tar 查看target.tar包含的文件列表

gzip:通常和tar归档一起用,不能压缩目录

gzip demo.tar 压缩

gzip -d demo.tar.gz 解压

bzip2,zip,xz

bzip2 -k 文件.tar ,压缩后文件后缀.tar.bz2

bzip2 -d 文件.tar.bz2 解压 或者bunzip2 文件.tar.bz2

zip -r 文件.tar

unzip 文件.zip

xz -z 文件.tar 压缩文件

xz -d 文件.xz 解压

权限管理命令

文件权限管理是 Unix/Linux 系统中最重要的一部分,因为有完善的权限体系,所以系统的安全 性和稳定性以及可靠性非常高。

u/g/o/a

含义

u

该文件的所有者

g

该用户的所有者所属组,用户组

o

other表示其他以外的人

a

all表示这三者都是

r/w/x

含义

r

read,表示可读,如果没有r权限,无法通过ls查看目录内容

w

write,表示写入

x

excute,表示可执行

字母

说明

r

读取权限,数字代码“4”

w

写入权限,数字代码2”

x

执行权限,数字代码“1”

-

不具备任何权限

touch 111.txt

增加操作权限

chmod u x 111.txt

没有读的权限

chmod 333 111.txt

普通用户添加管理员权限

修改/etc/sudoers

su - root 切换到root用户

修改权限,chmod 741 sudoers

vim sudoers

找到下面一行添加

rootALL=(ALL) ALL

hanALL=(ALL) ALL

修改完毕,han账号可以获取root进行操作

用户管理命令

Unix/Linux 系统管理超级用户 root 下可以创建多个管理员用户或者普通用户,不同的用户可以 同时远程登录系统各自独立完成任务,也就是多用户多任务操作。

useradd 增加用户,在系统中创建一个用户

userdel 删除用户,将系统中的某个用户删除

passwd 修改指定用户密码

切换到root用户 su - root ,su - , su - 账号

useradd增加一个用户,在系统中创建一个zhang用户

useradd zhang 此时/home/多了一个zhang目录

passwd zhang 修改用户张的密码

su - zhang 切换到张用户

此时在张用户中是无法添加用户(zhang 不在 sudoers 文件中。此事将被报告)

userdel zhang 删除张用户,但是目录还存在

如果把进程被占用就杀死进程

kill -9 进程号

su - zhang user zhang does not exist,说明用户已被删除

查看有哪些用户 cat /etc/passwd

han:x:1000:1000:han:/home/han:/bin/bash

zhang:x:1001:1001::/home/zhang:/bin/bash

liu:x:1002:1002::/home/liu:/bin/bash

自己创建用户在最后

用户名

x:密码

1000:用户ID

系统管理命令

系统管理命令,是针对系统信息进行查看、配置以及维护的操作命令,类似 windows 系统中的 任务管理器之类的。

free -h 查看当前计算机内存使用情况

df -h 查看当前系统磁盘使用情况

top 查看系统进程信息,类似windows中的任务管理器

kill 进程号 结束指定的进程 kill -9 发送信号给进程,你被终结了,数字9表示无条件退出(一共1-30个信号)

进程管理命令 ps 命令用于查看和检索指定的进程信息

ps -ef|grep sshd

软件管理命令

yum list: 查看已安装的软件

yum search 名称,查看包含此名称的软件

yum search python3

yum install python3.x86_64

yum remove 名称 删除程序包

SCP命令

格式:scp -r 要复制的绝对路径下的文件 用户@IP: 地址(目标主机路径)

-r 文件夹目录

克隆虚拟机

右击-->管理-->克隆-->下一步-->虚拟机当前状态-->创建完整克隆-->选择名称和位置-->完成

修改主机名:hostnamectl set-hostname node1 ,将主机名修改为node1

scp -r /home/han/demo_01迭代器.py han@10.10.12.135:/home/liu

此时 Permission denied,没有权限进去目标主机目录,修改目标主机目录

文件内容查看命令

more 分页查看

文本内容较多的情况下,使用 more 命令可以分页查看,

more file 分页查看内容

more n file 从第n行开始显示内容

more /string file 从包含string字符的前两行开始展示

操作方式

空格:向下滚动一页

回车:向下滚动一行

b: 向上滚动一页

q:退出浏览

=:显示行号,只显示最下方当前行号

cat全文浏览

cat file 全文浏览

cat -n file 带行号全文浏览

cat file1 file2 > file 合并文件

tac file 倒序浏览

head 头部浏览,默认浏览前10行内容

head -n 50 file 显示file文件前50行内容

head -n -10 file 显示除了最后10行以外的内容

tail 尾部浏览

查看文本文件尾部内容,默认查看 10 行,基本语法:

tail -5 file 显示最后5行内容

tail -n 50 file 从第50行显示内容

tail -5f file 显示最后5行内容,并且持续监控文件内容

其他查看方式

less 分页浏览 分页浏览文件内容,类似 more 命令,基本语法 $ less file # 分页浏览 file

$ less -N file # 分页浏览 file,并展示行号

$ less -m file # 分页浏览 file,并显示百分比

sort 排序浏览 sort 命令可以用来对文本文件中的内容进行排序查看,默认为字典升序

$ sort 文件 # 字典升序查看文件内容

$ sort -r 文件 # 字典降序查看文件内容

$ sort -u 文件# 剔除文本文件中重复的内容

$ sort -n 文件# 按照数字排序

sed 流式浏览

sed -n "1,5p" 文件 显示1~5行内容

sed -n "3,5{=;p}" 显示3~5行内容,并且打印行号

sed -n "10p" 显示第10行内容

vim编辑器

命令模式

输入模式

末行模式

命令模式:按一下ESC,即可进入命令模式,此模式下可以使用各种合法的vi命令,此时从键盘上输入的任何字符都被当成命令来解释,命令合法,则执行相应动作

输入模式:在命令模式下输入 i ,该模式下用户输入的任何字符都被当成文本保存起来,并显示在屏幕上,在输入过程如果想回到命令模式,按下ESC即可

末行模式:用户按: 进入末行模式,此时vim会显示在窗口的最后一行

(1) 命令模式

按键

描述

x

删除光标所在字符,相当于delete

X

删除光标前一个字符,相当于backspace

dd

删除光标所在行,删除一行

ndd

n为数字,连续删除光标后n行

yy

复制光标所在行,复制一行

nyy

n为数字,连续复制光标后n行

p(小写),P(大写)

小写p复制数据粘贴在下一行,大写P数据粘贴在上一行

u,ctrl r

撤销, 反撤销

G和gg

G文档最后一行,gg文档第一行

^ 所在行开头,$所在行尾部

(2) 编辑模式

按键

描述

i

光标前面插入字符

I

行首插入字符

a

光标后面插入字符

A

行尾插入字符

o

光标下一行输入字符

O

光标上一行输入字符

(3) 末行模式

命令

含义

:w

保存文件

:w!

强制保存

:q

不保存退出

:q!

不保存强制退出

:wq

保存并退出

:wq!

强制保存并退出

定时任务

在某个指定时间点执行任务

at 一次性定时任务,crontab 周期性定时任务

at 命令添加一次性任务

at -l :查看任务

atrm n删除编号n的定时任务

at 时间点 指定的时间点上,添加任务

ctrl D保存

案例:

在15:07 在/home/han/1.txt 输出 "hello"

echo "hello" >> /home/han/1.txt

打开新终端 ,tail -f 1.txt, 实时查看

at:时间点(HH:MM)

时间早于系统时间,默认第二天这个时间执行

时间晚于系统时间,默认今天这个时间执行

周期性定时任务

通过crontab的命令,添加,编辑,删除任务

crontab -l:列出所有的周期性任务

crontab -e:编辑当前用户的周期性任务

crontab -r:删除所有周期性定时任务

crontab -e 进入周期性任务编辑模式

* * * * *

依次是:分钟,小时,天,月,星期

* :表示每一天的每小时的每分钟执行一次

10:表示每一天的每小时的第10分钟执行

5,10,20 :表示每一天的每小时的第5,10,20分钟执行

5-10:表示每一天的每小时的第5分钟开始直到第10分钟结束

案例:每分钟向/home/han/1.txt写入hello

crontab -e 进入周期性任务编辑模式,用vi编辑器打开一个文件

* * * * * echo "hello" >> /home/han/1.txt

打开新终端 ,tail -f 1.txt, 实时查看

来源:https://www.icode9.com/content-3-697101.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值