测试开发必备的Linux,Redis和Git命令
Linux 命令篇
为什么要学Linux命令
作为一名测试人员,在测试过程中,我们需要去部署测试环境,查看服务器上面的日志,登陆数据库,甚至做一些shell脚本类的工具开发,必不可少都会用到Linux命令。所以无论是开发还是测试,Linux命令已经成为常规操作,很有必要去学习。
Linux命令要学到什么程度
作为软件测试人员,我们不用像开发一样学习得特别深入,只要掌握常规命令的使用,满足日常的工作需要就行,Linux命令入门还是相当简单
如果你有兴趣,也可以学习一些内核的设计思想。是否要深入学习完全取决于你自己
软件测试常用Linux命令
在软件测试中,Linux命令主要有3大应用场景:
(1)搜索日志
(2)文件操作
(3)部署测试环境。
我这里总结出了实际工作当中做软件测试常用的Linux命令
搜索日志命令
动态日志筛选关键字
tail -f ./filename | grep -ni "keyword"
动态展示文件中出现的 order或者product字符 不区分大小写,并且高亮显示
tail -f a.log |grep -E --color "order|product"
动态查询最后8000行,同时查询一条数据中同时包含多个字符串的信息,进行高亮显示, 比如:日志中包含某个方法,并且订单号是多少的日志,比较实用【但是第一个高亮没有生效】
tail -8000f a.log | grep --color --line-buffer "order" | grep --color --line-buffer "product"
查找该目录下的指定文件名
grep filename . -rn
查找最近30分钟修改的当前目录下的.php文件
find . -name '*.php' -mmin -30
查找最近1分钟内更新的文件
find –mmin -1find -mmin -1| xargs grep -i l "keyword"
文件操作命令
打开文件
cat filename
清空文件内容
cat /dev/null > filename
解压文件
tar -xzvf xxx.tar.gz -C dir_path
压缩文件
tar -zvcf xxx.tar.gz dir_path
拷贝文件
cp -r dir1 dir2
拷贝文件到远程主机
scp filename username@ip:remote_dir
移动(改名)文件
mv dir1 dir2
修改文件权限
chmod 777 filename
替换文件
sed -i 's/原字符串/新字符串/' xxx.txt (只替换每行第一个)sed -i 's/原字符串/新字符串/g' xxx.txt (替换所有匹配的字符串)
以:分割文件行内容,并打印第2个字段
awk -F: '{print $2}' filename
分割文件
split -b 10k date.file -d -a 3 split_file
合并分割后的文件
cat split_file.* > date.file
部署环境相关命令
登陆redis
redis-cli -h ip -p port
登陆mysql
mysql -h ip -P port -u username -p passworw -Ddatabasename --default-character-set=utf8
后台运行二进制文件
nohup filename &
查看端口占用
lsof -i : portnetstat -tunlp | grep port
查看进程
ps -ef | grep filename
杀掉进程
kill -9 $pid
获得本机ip
hostname -i
根据域名获取ip
host hostname
设置定时任务
crontab -e
登陆远程主机
ssh ip
文件操作vim
补充一下vim的使用,vim是在linux系统当中很强大的文本编辑器,这个也是我们日常工作中经常使用到的。vim 有两种模式,普通模式和命令行模式,下面介绍了使用vim打开文件,以及在命令行和普通模式下的基本操作方法。
设备终端下
- vim filename 打开文件
- vim filename +n 打开文件,并跳转第n行
vim命令行模式下
- :n 跳转到指定行
- /context 高亮显示,再按n筛选高亮内容
- :%d 清空内容
- :1,$s/xxx/yyy/g 替换第 1行开始到最后一行中每一行所有 xxx 为 yyy
vim普通模式下
-
u 撤销上次操作
-
ctrl+r 恢复上一步被撤销的操作
-
0 光标移动到行首
-
shift + $ 光标移动到行尾
-
shift + I 光标移动到行首进入编辑模式
-
shift + A 光标移动到行尾进入编辑模式
最后附上一张vim的键位图
Linux命令工具网站推荐
想要学习更多Linux命令,可以查看下面工具网站和教程
工具网站
- DistroTest 在线操作系统测试:https://distrotest.net
- ⭐ Linux 命令搜索:https://wangchujiang.com/linux-command
- Linux 命令大全手册:https://man.linuxde.net/
- Linux 命令大全手册:https://www.linuxcool.com/
- Linux 命令示例:http://linux-commands-examples.com/
- 宝塔 Linux 面板:https://www.bt.cn/
- 在线 Shell 脚本检查:https://www.shellcheck.net
教程
- Linux 教程(菜鸟教程):https://www.runoob.com/linux/linux-tutorial.html
- Linux 教程(W3CSchool):https://www.w3cschool.cn/linux/
- Linux 工具快速教程:https://linuxtools-rst.readthedocs.io(基础、工具进阶、工具参考)
Git命令篇
Git常用命令
- git clone 克隆git仓库到本地
- git reset --hard HEAD 撤销本地修改
- git checkout 切换对应分支
- git branch -a 查看当前分支
- git pull 拉取分支代码
更多Git命令可以查看下面这张表
git命令速查
Git安装教程
https://blog.csdn.net/u011035397/article/details/112557609
Redis命令篇
为什么要学习Redis
如果你也是一名服务端测试,那就需要去Redis这种中间件缓存进行测试,需要检查保存在Redis里面的数据是否正确
常用Redis命令
在redis当中支持5种数据类型,如字符串(String),哈希(Hash),列表(List),集合(Set),有序集合(sorted set)
在常用命令中,我主要介绍对Redis Key的操作以及字符串,有序集合,Hash这三种数据类型部分命令。因为这些是企业里面经常用到的,更多Redis命令,我在文章后面,留了速查网站,大家感兴趣可以去访问这些网站。
Redis keys 命令
- DEL key 该命令用于在 key 存在时删除 key
- KEYS pattern 查找所有符合给定模式( pattern)的 key
Redis字符串常用命令
- SET key value 设置指定 key 的值
- SETNX key value 只有在 key 不存在时设置 key 的值
- GET key 获取指定 key 的值
- INCR key 将 key 中储存的数字值增一
- INCRBY key increment 将 key 所储存的值加上给定的增量值(increment)
Redis有序集合常用命令
- ZRANGE key start stop [WITHSCORES] 返回有序集中指定区间内的成员,通过索引,分数从低到高(递增排序)
- ZREVRANGE key start stop [WITHSCORES] 返回有序集中指定区间内的成员,通过索引,分数从高到低(递减排序)
- ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
- ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment
Redis hash常用命令
- HGET key field 获取存储在哈希表中指定字段的值
- HGETALL key 获取在哈希表中指定 key 的所有字段和值
- HSET key field value 将哈希表 key 中的字段 field 的值设为 value
Redis 速查网站
更多Redis命令可以访问以下网站了解