软件测试必备的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

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

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


转载于:https://juejin.im/post/5cf248a8f265da1bba58ec32

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值