更多课程 选择中心

软件测试培训
达内IT学院

400-996-5531

做软件测试需要掌握的Linux知识(二)

  • 发布:test先生
  • 来源:软件测试资源分享
  • 时间:2019-03-05 18:05

今天我们继续向大家分享做软件测试需要掌握的Linux知识二,不知道上一讲给大家分享的内容的同学可以返回去了解、回顾一下做软件测试需要掌握的Linux知识一,我们接着来分享:

7.系统管理

7.1 shutdown

shutdown ,系统关机命令

-h:关机

-r: 重启

shutdown -h now 立即进行关机

其它关机命令还有:halt 、poweroff 、init 0

7.2 reboot

reboot,重启命令

执行reboot 指令会让系统停止运作并重新开机

其它重启命令:

shutdown -r now 现在重新启动计算机

7.3 logout

logout ,注销登录

在linux 提示符下输入logout ,即可让用户注销登录,退出系统

7.4 who

who,显示当前登录系统的用户信息

命令输出:

登录名

登录终端

登录时间(登录来源的IP地址)

7.5 whoaml

显示自身用户名称

7.6 su

su :切换用户(switch user)

语法:su userName

su 命令用于切换其他用户 ,除了切换root 外,切换其他用户都需要输入密码

7.7 w

w 用户名:

输出

USER:登录的用户名

TTY:登录终端

FROM:哪个IP地址登录的

LOGIN@:登录时间

IDLE:用户闲置时间

JCPU:指的是和该终端连接的所有进程占有的时间,这个时间里并不包括过去的后台作用时间,但却包括当前正在运行的后台作用所占用的时间

PCPU:是指当前进程所占用的时间

WHAT:当前正在运行的命令

7.8 useradd

useradd ,添加用户

语法: useradd 用户名

如添加一个名为happy的用户:useradd happy

7.9 passwd

passwd,为新用户设密码

语法:passwd 用户名

如修改happy 的密码:passwdhappy

7.10 userdel

userdel,删除用户

语法:usedel 用户名

如:userdel happy,删除用户但保存用户主目录

如:userdel -r happy,删除用户以及用户主目录

7.11 history

history :历史命令

-c:清空历史命令

-w:把缓存中的历史命令写入到历史命令保存文件:~/.bash_history

建议不用清空历史文件:1 方便,2 便于排错容灾

历史命令的使用

使用上、下箭头调用以前的历史命令

使用“!n” 重复执行第n 条历史命令

使用“!!” 重复执行上一条命令

使用“! 字符串” 重复执行最后一条以该字符串开头的命令

如 service network restart==!ser

执行最后一条包含ser 字符串的命令,方便快捷

命令补全:tab 键,一下和两下

7.12 date

date命令:显示或设置系统时间或日期

可以在直接输入“date” 命令来查看系统的时间

date + %y/%m/%d

2017/06/15

date "+%Y-%m-%d %H:%M:%S"

2017-02-27 12:37:15

利用date 命令来更改系统的时间

date MMDDHHMMCCYY.SS:月 月 日 日 时 时 分 分 年 年.秒 秒

date -s "2017-08-15 21:32:25"

7.13 clear

clear ,清除执行记录,清除屏幕

8. 网络通信

13.8.1 ifconfig

查看本机当前网卡配置和网络状态信息

9. 文件搜索

9.1 which

which 查找“执行文件”

Which 指令会在系统环境变量 $PATH 设置的目录里去查找符合条件的文件

-a 将所有可找到的命令均列出,否则列出第一个找到的命令名称

Which 还可以查找别名 ,如 which ll

9.2 whereis

Whereis 寻找特定文件 whereis [-bmsu] 文件或目录

常见参数:

-b: 只找二进制文件(即可执行文件)

-m:只找在帮助文件,manual 路径下的文件

-s :只找源文件

-u: 没有帮助文件的文件

9.3 grep

grep ,在文本中查询内容

语法:grep 搜索字符串 fileName

如一个文件 Hello.java 中含有Lemon 关键字,可以使用grep 命令进行查找:

Grep -n Lemon Hello.java

其中的-n 表示在第n行

9.4 find

find ,搜索文件及目录

Linux 的文件系统由级别式的结构组成,所以在linux中找到特定的文件和目录并不是件容易的事。而“find” 命令可以解决上述问题

语法:find [路径] [选项]

查找时可以使用 linux 中通配符来匹配内容:

*:匹配任意内容

?:匹配任意一个字符

[] :匹配任意一个中括号的字符

如:

find .-name “*.log”在当前目录查找以log结尾的文件

Find /-name log在根目录查找log 命令的目录和文件

find 还有很多个性化的操作,如按照所有者、时间、大小限制 进行搜索,作为测试人员用的频率并不高,因此这里不再详述,感兴趣自己去了解下。

find 与 grep 命令的区别:

find :在系统中搜索符合文件的文件名

grep :在文件当中弄搜索符合条件的字符串

10. 文件权限管理

10.1 权限概述

Ls -l 中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

第一个字符代表文件(-)、目录(d)、链接(l)

其余字符每3个一组 (rwx),读(r)、写(w)、执行(x)

第一组 rwx: 文件所有者的权限是读、写和执行

第二组 rw- :与文件所有者同一组的用户的权限是读、写但不能执行

第三组 r-- :不与文件所有者同组的其他用户的权限是读不能写和执行

用数字表示为:r=4 ,w=2 ,x=1 因此 rwx =4+2+1 = 7

1 表示连接的文件数

root 表示用户

root 表示用户所在的组

1213 表示文件大小(字节)

Feb 2 09:39 表示最后修改日期

abc 表示文件名

10.2 权限的作用

10.2.1 权限对文件的作用

r :读取文件的内容,cat more head tail

w :编辑、新增、修改文件内容 vi echo

(有写权限、但是不一定有权限删除,因为写指的是对下一级写权限,二能否删除,需要看上一级目录的权限)

x : 可执行

10.2.2. 权限对目录的作用

r : 可以查询目录下的文件名

w : 具有修改目录结构的权限,如新建文档和目录,删除该目录下的文件和目录,重命名该目录下的文件和目录,剪切(touch ,rm ,mv ,cp)

x :可以进入目录(cd)

10.3 文件权限命令

10.4 chmod

chmod 改变文件或目录的权限

赋值方式:

chmod 755 abc :赋予abc 权限 rwxr-xr-x

指定方式:

chmod u = rwx ,g= rx,o=rx abc :同上 u = 用户权限,g= 组权限,o=不同组其他用户权限

增加、减去

chmod u-x ,g+w abc : 给abc 去除 用户执行的权限,增加组写的权限

chmod a+r abc :给所有用户添加读的权限

10.5 chown

改变所有者(chown)

chown xiaoming abc :改变abc 的所有者为xiaoming

chown root ./abc :改变abc 这个目录的所有者是root

chown -r root ./abc :改变abc 这个目录及其下面所有的文件和目录的所有者是root

10.6 chgrp

改变用户组(chgrp)

chgrp root abc: 改变abc 所属的组为root

Chown root:root text.txt

10.7 usermod

改变用户所在组

在天剑用户时,可以指定将用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组

usermod -g 组名 用户名

你可以用

usermod -d 目录名 用户名,改变该用户登录的初始目录

10.8 注意点

对文件来说:最高权限是 x ,隐藏对文件要慎用执行权限

对目录来说:最高权限是 w:只有赋0、 5(rx)、 7(rwx), 因此对目录来讲要慎用写权限

案例:新建用户 user1, 组为 user2

通过root修改某文件权限,通过user1 来进行验证

尽量赋予最小的权限,避免777 权限

10.9 案例

10.9.1 综合案例1

【题1.1】 建立两个用户组group1 和group2, 以及三个用户dennis、daniel、abigale,并且将前2个用户分配在group1 用户组下,最后一个分配在group2用户组下

【题1.2】 以 dennis 用户登录,创建一个Hello.java文件

【题1.3】以daniel 用户登录,观察是否可以访问 /home/dennis 目录以及读或写其创建的Hello.java文件

【题1.4】以dennis 用户登录,修改目录/home/dennis 以及Hello.java文件的读写权限(更正:修改目录权限的时候,应该使用770,而不是760,否则权限不足)

【题1.6】改变abigale的用户组由group2 变为 group1

然后,可以使用cat /etc/passwd 查看并确定

【参考】

groupadd 组名 ,在linux中添加组

vi /etc/group ,查看linux中所有组信息,可以看可以编辑

cat /etc/group ,查看linux中所有组信息,只可以看不可以编辑

useradd -g 组名 用户名,创建用户的同时指定将该用户分配到哪个组下

vi /etc/passwd , 查看 linux中所有用户信息,可以看可以编辑

cat /etc/passwd ,查看linux 中所有用户信息,只可以看不可以编辑

10.9.2 综合案例2

实例:

police、terrorists组

创建组:

groupadd police

groupadd terrorists

创建用户:

useradd -g组名 用户名

添加密码:

passwd tommy

给tommy 设置密码

查看linux 中所有用户的信息

vi /etc/passwd

cat /etc/passwd

改变用户的组:

usermod -g

11. 网络管理

11.1 虚拟机配置固定ip

1:查看宿主机的网络配置信息:打开windows的cmd 窗口,输入:ipconfig /all

记录下上面标记的几条信息:

网关:192.168.0.100

子网掩码:255.255.255.0

DNS:

222.246.129.80

59.51.78.210

2. 打开宿主主机的网络与共享中心,禁用掉虚拟机网卡

3.虚拟机网络设置:选中虚拟机 -->右键 -->设置 -->网络适配器 -->选择桥接模式

4:进入虚拟机,修改网卡文件如下

Vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

ONBOOT=yes

TYPE=Ethernet

IPADDR=192.168.0.188

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

DNS1=222.246.129.8

DNS2=59.51.78.210

设置说明:

DEVICE=eth0 #网卡名称

BOOTPROTO=static #网卡获得ip 地址的方式,static|dhcp|bootp,分别对应静态指定ip地址,通过dhcp 协仪获得的ip 地址,通过bootp 协议获得的ip 地址

ONBOOT = yes #开机启动

TYPE = Ethernet # 网络类型

IPADDR = 192.168.0.188 #本机地址,设置一个局域网没有用到的ip地址

NETMASK = 255.255.255.0 #子网掩码,保持和宿主机同

GATEWAY = 192.168.0.1 默认网关,保持和宿主同

DNS1 = 222.246.129.8 #主DNS ,保持和宿主机同

DNS2 = 59.51.78.210 #备用DNS, 保持和宿主机同

注:也可以修改成谷歌的公共DNS:

DNS1 = 8.8.8.8

DNS2 = 8.8.4.4

5: 重启网络服务,让配置生效

Service network restart

6: 测试网络,ping 一下网关:ping 192.168.0.1

7: 测试外网连接:ping www.baidu.com

8: 测试SSH连接,使用xshell 进行远程连接

11.2 网络相关命令

11.2.1 netstat

显示网络统计信息的命令 netstat

此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容,此命令直接输入即可使用

netstat -app

an,按一定顺序排列输出

p,表示显示哪个进程在调用

11.2.2 ping

检测主机连接命令 ping

是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障

Ping 对方 ip 地址

11.2.3 tranceroute

显示数据包经过历程命令 traceroute

此命令可以直接输入使用,用来检测数据包在网络上传输的过程,从本机到远程的主机完整路径,帮助管理员解决问题

11.2.4 route

显示路径由表 route

所谓路由是 指将数据由来源网络送往目的网络的操作。在大型网络中,路由是非常复杂的,因为数据包在抵目的地时,可能经过的节点有很多,路由表是存储在路由器或一些其他链接设置上的窗体。其中记录着了到指定目的的网络路径,以及这些路径的相关数值

此命令可以直接输入使用,来查看本机路由的情况

感谢您的阅读,以上就是今天给大家分享的做软件测试需要掌握的Linux知识,你学会了吗?更多软件测试的相关内容尽在达内软件测试培训机构官网,敬请关注!

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:做软件测试需要掌握的Linux知识(一)
下一篇:没有下一篇了

做软件测试需要掌握的Linux知识(一)

一文读懂自动化测试

什么样的测试用例算好的测试用例?如何设计一个好的测试用例?

干货|软件测试常用shell命令总结

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

陕西省

湖南省

贵州省

云南省

广西省

海南省