版权申明:

此文首发于公众号「简尚」,作者:IDO 老徐
无需授权,即可转载;转载请保留此文完整信息 。

观点:

关于 Linux,测试从业者,看这篇文章就够了 。

具体,往下看 :

网上关于 Linux 资料太多、太杂,学习没有重点,特别是对于没有基础的从业者,期望通过那些文档,去自学掌握 Linux,可能性太小(资料太多、时间有限、精力不够)。

这次,老徐花了 21 天,重新梳理了,测试从业者,需要掌握的高频 Linux 命令,且通过实际工作场景的方式,布置任务,每天一个任务,第二天公布答案 。

通过这种方式,带领各位从业者,高效、有针对性的掌握一门技术 。

开始之前,先同步一个结论:

对于软件测试从业者,如果你至今为止,还不懂 Linux,或者完全没有接触 Linux ,这是一件很危险和恐怖的事 。

此刻、现在、果断,学习 Linux 命令 。

如果你工作中,完全接触不到 Linux ,或者公司服务的环境,还是 Windows,赶紧自学 Linux,并果断干脆的跳槽 。
这件事,太危险 ,几年后,也许会出现,找不到工作的尴尬境遇 。

开始进入主题 。

如下的这些命令,都是老徐根据自己的从业十年经验,精心筛选,每个命令,点到为止,挑选了一些高频的工作场景 。

对于,满足初中级的的工作任务,足够 。

/

命令 cd

  1. 如何进入上级目录
    cd ..

  2. 如何进入当前用户主目录
    cd ~

  3. 如何进入上两级目录
    cd ../..

  4. 进入当前目录命令
    cd .

  5. 如何进入目录 /usr/isTester
    cd /usr/isTester

/

命令 mv

  1. 移动一个文件夹(isTester 文件夹,移动到/APP/www 目录)
    mv ~/isTester/ /APP/www

  2. 移动一个文件(isTester.ini 移动到/APP/www 目录)
    mv isTester.ini /APP/www

  3. 当前目录 istester.tar.gz 移动到 /usr/ido 目录,并重命名为 istester1228.tar.gz
    mv isTester.tar.gz /usr/ido/istester1228.tar.gz

  4. 移动文件到上级目录
    mv isTester.tar.gz ../

  5. 一条命令,移动两个文件 isTester.tar idoxu.tar 到目录 /APP/www
    mv isTester.tar idoxu.tar -t /APP/www

/

命令 cp

  1. 复制当前目录部署包 isTester.tar.gz 到备份目录/APP/www/bak 目录
    cp isTester.tar.gz /APP/www/bak

  2. 复制文件夹 isTester 到部署目录 /APP/www
    cp -r isTester/ /APP/www

/

命令 mkdir

在目录/APP/www 下,
cd /APP/www

  1. 新建一个文件夹 isTester
    mkdir isTester

  2. 新建三个文件夹 isTester1 isTester2 isTester3
    mkdir isTester1 isTester2 isTester3

  3. 新建一个多层级文件夹 idoxu/20181230/01
    mkdir -p idoxu/20181230/01

/

命令 history

  1. 查看历史命令执行记录
    history

  2. 查看命令 mkdir 的历史执行记录
    history | grep mkdir

  3. 执行历史记录中,序号为 178 的命令
    ! 178

/

命令 tail

  1. 实时刷新 log
    tail -f isTester.log

  2. 实时刷新最新 500 条 log
    tail -500f isTester.log

/

命令 tar

  1. 压缩一个文件 isTester.ini
    tar -cvf isTester.tar isTester.ini

  2. 压缩多个文件 isTester.ini readme.ini
    tar -cvf all.tar isTester.ini readme.ini

  3. 压缩文件夹 isTester/
    tar -cvf isTester.tar isTester/

  4. 将当前目录,所有 jpg 文件打包成 isTesterjpg.tar
    tar -cvf isTesterjpg.tar *.jpg

  5. 将当前目录,所有 jpg 文件打包成 isTesterjpg.tar.gz
    tar -zcvf isTesterjpg.tar.gz *.jpg

  6. 解压 isTesterjpg.tar
    tar -xvf isTesterjpg.tar

  7. 解压 isTesterjpg.tar.gz
    tar -zxvf isTesterjpg.tar.gz

/

命令 ls

  1. 列出当前目录中所有的子目录和文件。
    ls

  2. 列出目录下的所有文件(包含隐 ** 件)
    ls -a

  3. 列出文件的详细信息(包括权限、所有者、文件大小等)
    ls -l

  4. 列出当前目录中所有以 “isTester” 开头的详细内容
    ls -l isTester*

/

命令 ps

  1. 查看所有进程
    ps -A

  2. 查看 java 进程
    ps -ef|grep java

  3. 显示所有进程信息,连同命令行
    ps -ef

/

命令 top

  1. 显示进程信息
    top

  2. 监控每个逻辑 CPU 的状况
    top ,按 1

  3. 高亮显示当前运行进程
    top ,按 b

  4. 显示 完整命令
    top ,按 c

  5. 退出 top 程序
    按 q

/

命令 wget

Linux 系统中的 wget 是一个下载文件的工具,对于 Linux 用户是必不可少的工具

文件地址
http://51.istester.com/isTester.png

  1. 下载 isTester.jpg 文件
    wget http://51.istester.com/isTester.png

  2. 下载 isTester.jpg 文件,并存储名为 isTester_Logo.jpg
    wget -o isTester_Logo.jpg
    http://51.istester.com/isTester.png

  3. 下载 isTester.jpg 文件,后台形式下载
    wget -b http://51.istester.com/isTester.png

/

命令 find

find 命令,非常强大,也非常实用,分两次完成,今日第一次 。
给大家布置的作业,是比较实用的几个场景 。

  1. 在/root/isTester 目录及其子目录下面查找名字为 isTester.ini 的文件
    find /root/isTester/ -name isTester.ini

  2. 在当前目录及其子目录中查找任何扩展名为 “ini” 的文件
    find . -name "*.ini"

  3. 在/root/isTester 目录下查找更改时间在 5 日以内的文件
    find /root/isTester/ -mtime -5

  4. 在/root/isTester 目录下查找更改时间在 3 日以前的文件
    find /root/isTester/ -mtime +3

  5. 在/root/isTester 目录下查找所有的目录
    find . -type d

  6. 在/root/isTester 目录下查找所有的文件
    find /root/isTester/ -type f

/

命令 继续 find(进阶)

find 命令,非常强大,也非常实用,分两次完成,今日第一次 。
给大家布置的作业,是比较实用的几个场景 。

  1. 在当前目录,所有的普通文件中搜索 istester 这个词
    find ./ -type f |xargs grep "istester"

  2. 在当前目录,删除 1 天以内的所有东西
    find ./ -mtime -1 -print | xargs rm -rf

  3. 在当前目录,删除 10 天以前的所有东西(实操的时候,需谨慎,确保在自己建的目录内,别把系统目录删了…)
    find ./ -mtime +10 -print | xargs rm -rf

  4. 删除文件大小为零的文件
    find ./ -size 0 | xargs rm -rf

/

命令 rm

rm 是常用的命令,该命令的功能为删除目录/文件(可同时删除,多个文件 / 多个目录)
当然,这也是一个非常危险的命令,建议少用(比如经常出现的误操作 rm * -rf 此命令慎用)

  1. 删除/root/isTester/目录下的文件 isTester.ini(系统会询问是否删除)
    rm /root/isTester/isTester.ini

  2. 强行删除/root/isTester/目录下的文件 isTester.ini(直接删除,系统不会提示)
    rm -f /root/isTester/isTester.ini

  3. 删除/root/isTester/目录下的所有.log 文件
    rm -f /root/isTester/*.log

  4. 删除/root/isTester/目录下的 ido/文件夹
    rm -r /root/isTester/ido/

  5. 强行删除/root/isTester/目录下的 ido/文件夹
    rm -rf /root/isTester/ido/

  6. 删除/root/isTester/目录下的所有内容
    rm -rf /root/isTester/*

/

文件操作系列 命令

  1. 创建文件,你知道有哪几个命令 ?(写出至少两种方式)

    1) touch isTester.ini

    2) vi isTester.md
    3) echo ‘only test’ > isTester.com
    4) cp isTester.ini isTester666.ini
    5) ls > fileList.txt

  2. 同时创建文件 isTester6.ini idoxu.ini
    touch isTester6.ini idoxu.ini

  3. 同时创建 2000 个文件 isTester0001.ini - isTester2000.ini
    touch istester{0001..2000}.ini

  4. 更改文件 isTester.ini 时间为当前时间
    touch isTester.ini

/

查看文件系列 命令

/**

命令提示
#cat 由第一行开始显示档案内容
#tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
#more 一页一页的显示档案内容
#less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
#head 只看头几行
#tail 只看尾巴几行
#nl 显示的时候,顺道输出 行号!
**/

  1. 查看文件 isTester.ini 的内容
    cat isTester.ini

  2. 看文件 isTester.ini 前 20 行内容
    head -n 20 isTester.ini

  3. 看文件 isTester.ini 最后 30 行内容
    tail -n 30 isTester.ini

  4. 显示文件 isTester.ini 的第 10 至 20 行的内容
    head -n 20 isTester.ini | tail -n 10

  5. 倒序显示文件 isTester.ini 前 10 行的内容
    tac isTester.ini | head -n 10

  6. 显示文件 isTester.ini 前 10 行的内容,并显示行号
    nl isTester.ini | head -n 10

/

命令 yum & scp

假设 当前服务器 ip 192.168.1.23

  1. 从 Linux 服务器 192.168.1.22 拷贝文件 isTester.ini 到服务器 192.168.1.23
    scp root@192.168.1.22:/root/idoxu/isTester.ini /root/idoxu

  2. 从 Linux 服务器 192.168.1.22 拷贝目录 isTester/ 到服务器 192.168.1.23
    scp -r root@192.168.1.22:/root/idoxu/isTester/ /root/idoxu

  3. Linux 下安装 scp 命令(假设是 centos 服务器,命令用 yum)
    yum install openssh-clients

/

命令

clear
df
du
ifconfig

  1. 查看当前服务器 ip
    ifconfig

  2. 查看当前服务器硬盘空间
    df -h

  3. 查看目录 isTester/ 所占有的空间
    du -sh isTester

  4. 清空当前终端屏幕
    clear

/

命令 vi + chmod

/**
vi 创建文件 + 编辑文件 。
chmod 命令用于改变 linux 系统文件或目录的访问权限 。
**/

  1. 创建文件 isTester.ini
    vi isTester.ini

  2. 更新文件内容为 “21 day Linux Learn ,I'm Idolaoxu,in shenzhen .

    输入 i ,进入编辑模式,输入内容,esc 进入命令模式 :wq 保存 。

  3. 将文件 isTester.ini 设为所有人皆可读取
    chmod +r isTester.ini

  4. 将 isTester.ini 设定为只有该文件拥有者可以执行
    chmod u+x isTester.ini

  5. 给文件 isTester.ini 设置所有权限
    chmod 777 isTester.ini (或者 chmod a=rwx isTester.ini)

注:chmod 还有很多命令用法,如上几种,满足日常需求 。

/

End ,命令,这些差不多够用了 。

如果遇到一些非高频的命令,自行百度/Google 搞定即可 。

入了门,对 Linux 有感觉了,甚至是有兴趣了,其他命令,都没啥问题 ,看下帮助文档即可 。

比如,想了解 top 命令咋用 ?
终端输入 top --help 即可

/

最后,关于 Linux 学习的几个建议 。

  1. 每个命令,多敲几次,每天掌握此文的一个命令即可,勿贪多 。
  2. 掌握了前面的一个命令,再继续下一个命令。否则,欠的技术债会越来越多,最后放弃学习 。
  3. 学 Linux,没诀窍,多敲命令 。
  4. 此文的命令,一个循环,预计你需要 21 天完成 。总共三个循环 ,2 个月,大功告成 。

所谓的三循环理论:

第一遍,花 21 天时间,把每个命令,敲一遍 。
第二遍,花 21 天时间,把每个命令,再熟悉一遍 。
第三遍,花 21 天时间,巩固,延伸更多命令组合玩法,熟记于心 。

如果你能看到这段文字,且是第三遍以上看到,恭喜你,Linux 这块的知识点,差不多了 。

你,可以开始下一个环节 Jenkins / 接口自动化 / 数据库 / 性能测试 / 测试管理 等等 的 专项学习 。

事情很多,别急,慢慢来 。

2019,关键词「聚焦」,送给你 。


↙↙↙阅读原文可查看相关链接,并与作者交流