版权申明:
此文首发于公众号「简尚」,作者:IDO老徐
无需授权,即可转载;转载请保留此文完整信息 。
观点:
关于Linux,测试从业者,看这篇文章就够了 。
具体,往下看 :
网上关于Linux资料太多、太杂,学习没有重点,特别是对于没有基础的从业者,期望通过那些文档,去自学掌握Linux,可能性太小(资料太多、时间有限、精力不够) 。
这次,老徐花了21天,重新梳理了,测试从业者,需要掌握的高频Linux命令,且通过实际工作场景的方式,布置任务,每天一个任务,第二天公布答案 。
通过这种方式,带领各位从业者,高效、有针对性的掌握一门技术 。
开始之前,先同步一个结论:
对于软件测试从业者,如果你至今为止,还不懂Linux,或者完全没有接触Linux ,这是一件很危险和恐怖的事 。
此刻、现在、果断,学习Linux命令 。
如果你工作中,完全接触不到Linux ,或者公司服务的环境,还是Windows,赶紧自学Linux,并果断干脆的跳槽 。
这件事,太危险 ,几年后,也许会出现,找不到工作的尴尬境遇 。
开始进入主题 。
如下的这些命令,都是老徐根据自己的从业十年经验,精心筛选,每个命令,点到为止,挑选了一些高频的工作场景 。
对于,满足初中级的的工作任务,足够 。
/
命令 cd
如何进入上级目录
cd ..如何进入当前用户主目录
cd ~如何进入上两级目录
cd ../..进入当前目录命令
cd .如何进入目录 /usr/isTester
cd /usr/isTester
/
命令 mv
移动一个文件夹(isTester文件夹,移动到/APP/www目录)
mv ~/isTester/ /APP/www移动一个文件(isTester.ini 移动到/APP/www目录)
mv isTester.ini /APP/www当前目录istester.tar.gz 移动到 /usr/ido 目录,并重命名为istester1228.tar.gz
mv isTester.tar.gz /usr/ido/istester1228.tar.gz移动文件到上级目录
mv isTester.tar.gz ../一条命令,移动两个文件 isTester.tar idoxu.tar 到目录 /APP/www
mv isTester.tar idoxu.tar -t /APP/www
/
命令 cp
复制当前目录部署包isTester.tar.gz 到备份目录/APP/www/bak 目录
cp isTester.tar.gz /APP/www/bak复制文件夹 isTester 到部署目录 /APP/www
cp -r isTester/ /APP/www
/
命令 mkdir
在目录/APP/www 下,
cd /APP/www
新建一个文件夹 isTester
mkdir isTester新建三个文件夹 isTester1 isTester2 isTester3
mkdir isTester1 isTester2 isTester3新建一个多层级文件夹 idoxu/20181230/01
mkdir -p idoxu/20181230/01
/
命令 history
查看历史命令执行记录
history查看命令mkdir 的历史执行记录
history | grep mkdir执行历史记录中,序号为178的命令
!178
/
命令 tail
实时刷新log
tail -f isTester.log实时刷新最新500条log
tail -500f isTester.log
/
命令 tar
压缩一个文件 isTester.ini
tar -cvf isTester.tar isTester.ini压缩多个文件 isTester.ini readme.ini
tar -cvf all.tar isTester.ini readme.ini压缩文件夹 isTester/
tar -cvf isTester.tar isTester/将当前目录,所有jpg文件打包成isTesterjpg.tar
tar -cvf isTesterjpg.tar *.jpg将当前目录,所有jpg文件打包成isTesterjpg.tar.gz
tar -zcvf isTesterjpg.tar.gz *.jpg解压 isTesterjpg.tar
tar -xvf isTesterjpg.tar解压 isTesterjpg.tar.gz
tar -zxvf isTesterjpg.tar.gz
/
命令 ls
列出当前目录中所有的子目录和文件。
ls列出目录下的所有文件(包含隐**件)
ls -a列出文件的详细信息(包括权限、所有者、文件大小等)
ls -l列出当前目录中所有以“isTester”开头的详细内容
ls -l isTester*
/
命令 ps
查看所有进程
ps -A查看java进程
ps -ef|grep java显示所有进程信息,连同命令行
ps -ef
/
命令 top
显示进程信息
top监控每个逻辑CPU的状况
top ,按 1高亮显示当前运行进程
top ,按 b显示 完整命令
top ,按 c退出top程序
按 q
/
命令wget
Linux系统中的wget是一个下载文件的工具,对于Linux用户是必不可少的工具
文件地址
http://51.istester.com/isTester.png
下载isTester.jpg文件
wget http://51.istester.com/isTester.png下载isTester.jpg文件,并存储名为isTester_Logo.jpg
wget -o isTester_Logo.jpg
http://51.istester.com/isTester.png下载isTester.jpg文件,后台形式下载
wget -b http://51.istester.com/isTester.png
/
命令 find
find命令,非常强大,也非常实用,分两次完成,今日第一次 。
给大家布置的作业,是比较实用的几个场景 。
在/root/isTester 目录及其子目录下面查找名字为isTester.ini的文件
find /root/isTester/ -name isTester.ini在当前目录及其子目录中查找任何扩展名为“ini”的文件
find . -name “*.ini”在/root/isTester目录下查找更改时间在5日以内的文件
find /root/isTester/ -mtime +5在/root/isTester目录下查找更改时间在3日以前的文件
find /root/isTester/ -mtime -3在/root/isTester目录下查找所有的目录
find . -type d在/root/isTester目录下查找所有的文件
find /root/isTester/ -type f
/
命令 继续find(进阶)
find命令,非常强大,也非常实用,分两次完成,今日第一次 。
给大家布置的作业,是比较实用的几个场景 。
在当前目录,所有的普通文件中搜索istester这个词
find ./ -type f |xargs grep “istester”在当前目录,删除1天以内的所有东西
find ./ -mtime -1 -print | xargs rm -rf在当前目录,删除10天以前的所有东西(实操的时候,需谨慎,确保在自己建的目录内,别把系统目录删了…)
find ./ -mtime +10 -print | xargs rm -rf删除文件大小为零的文件
find ./ -size 0 | xargs rm -rf
/
命令 rm
rm是常用的命令,该命令的功能为删除目录/文件(可同时删除,多个文件 / 多个目录)
当然,这也是一个非常危险的命令,建议少用(比如经常出现的误操作 rm * -rf 此命令慎用)
删除/root/isTester/目录下的文件isTester.ini (系统会询问是否删除)
rm /root/isTester/isTester.ini强行删除/root/isTester/目录下的文件isTester.ini(直接删除,系统不会提示)
rm -f /root/isTester/isTester.ini删除/root/isTester/目录下的所有.log文件
rm -f /root/isTester/*.log删除/root/isTester/目录下的 ido/文件夹
rm -r /root/isTester/ido/强行删除/root/isTester/目录下的 ido/文件夹
rm -rf /root/isTester/ido/删除/root/isTester/目录下的所有内容
rm -rf /root/isTester/*
/
文件操作系列 命令
创建文件,你知道有哪几个命令 ?(写出至少两种方式)
touch isTester.ini
vi isTester.md
echo ‘only test’ > isTester.com
cp isTester.ini isTester666.ini
ls > fileList.txt
同时创建文件 isTester6.ini idoxu.ini
touch isTester6.ini idoxu.ini同时创建2000个文件 isTester0001.ini – isTester2000.ini
touch istester{0001..2000}.ini更改文件 isTester.ini时间为当前时间
touch isTester.ini
/
查看文件系列 命令
/**
命令提示
cat 由第一行开始显示档案内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
nl 显示的时候,顺道输出 行号!
**/
查看文件 isTester.ini的内容
cat isTester.ini看文件 isTester.ini前20行内容
head -n 20 isTester.ini看文件 isTester.ini最后30行内容
tail -n 30 isTester.ini显示文件isTester.ini 的第10至20行的内容
head -n 20 isTester.ini | tail -n 10倒序显示文件isTester.ini 前10行的内容
tac isTester.ini | head -n 10显示文件isTester.ini 前10行的内容,并显示行号
nl isTester.ini | head -n 10
/
命令 yum & scp
假设 当前服务器ip 192.168.1.23
从Linux服务器192.168.1.22 拷贝文件isTester.ini 到服务器192.168.1.23
scp root@192.168.1.22:/root/idoxu/isTester.ini /root/idoxu从Linux服务器192.168.1.22 拷贝目录 isTester/ 到服务器192.168.1.23
scp -r root@192.168.1.22:/root/idoxu/isTester/ /root/idoxuLinux下安装scp命令(假设是centos服务器,命令用yum)
yum install openssh-clients
/
命令
clear
df
du
ifconfig
查看当前服务器ip
ifconfig查看当前服务器硬盘空间
df -h查看目录isTester/ 所占有的空间
du -sh isTester清空当前终端屏幕
clear
/
命令 vi + chmod
/**
vi 创建文件 + 编辑文件 。
chmod命令用于改变linux系统文件或目录的访问权限 。
**/
创建文件 isTester.ini
vi isTester.ini更新文件内容为“21 day Linux Learn ,I’m Idolaoxu,in shenzhen .
”
输入 i ,进入编辑模式,输入内容,esc进入命令模式 :wq 保存 。将文件 isTester.ini 设为所有人皆可读取
chmod +r isTester.ini将 isTester.ini 设定为只有该文件拥有者可以执行
chmod u+x isTester.ini给文件 isTester.ini 设置所有权限
chmod 777 isTester.ini (或者 chmod a=rwx isTester.ini)
注:chmod还有很多命令用法,如上几种,满足日常需求 。
/
End ,命令,这些差不多够用了 。
如果遇到一些非高频的命令,自行百度/Google搞定即可 。
入了门,对Linux有感觉了,甚至是有兴趣了,其他命令,都没啥问题 ,看下帮助文档即可 。
比如,想了解 top命令咋用 ?
终端输入 top –help 即可
/
最后,关于Linux学习的几个建议 。
- 每个命令,多敲几次,每天掌握此文的一个命令即可,勿贪多 。
- 掌握了前面的一个命令,再继续下一个命令。否则,欠的技术债会越来越多,最后放弃学习 。
- 学Linux,没诀窍,多敲命令 。
- 此文的命令,一个循环,预计你需要21天完成 。总共三个循环 ,2个月,大功告成 。
所谓的三循环理论:
第一遍,花21天时间,把每个命令,敲一遍 。
第二遍,花21天时间,把每个命令,再熟悉一遍 。
第三遍,花21天时间,巩固,延伸更多命令组合玩法,熟记于心 。
如果你能看到这段文字,且是第三遍以上看到,恭喜你,Linux这块的知识点,差不多了 。
你,可以开始下一个环节 Jenkins / 接口自动化 / 数据库 / 性能测试 / 测试管理 等等 的 专项学习 。
事情很多,别急,慢慢来 。