Linux系统对于测试开发来说,太熟了。经常作为服务器来执行我们的自动化测试脚本
但说实话,Linux系统没有图标、没有鼠标,全凭键盘敲命令,劝退了太多小伙伴😂
小编做了4年的测试开发,真正高频用到的命令也就那么几十个,根本不用背几百页书。这份手册就是我从四年实战里筛出来的"最精简、最救命"的常用命令,其他的真要用到,临时百度完全来得及
下面全是干货,建议收藏,遇到不会的随时翻。如果想要 PDF 版本,后台回复 「服务器命令」" 即可哈~
❇️ Linux目录结构
首先Linux系统中目录结构非常重要,它是我们做所有命令的前提

❇️ 一、目录操作
1.1、目录基础操作
-
返回
cd ./ (当前目录) cd .. (返回目录上一级) cd ../.. (返回目录上上层) -
新建目录:
mkdir 目录
1.2、环境变量
- 配置文件路径:/etc/profile
- 重启生效:source /etc/profile
1.3、软件存放路径
- 一般软件存放路径(方便配置环境变量):/usr/local/
❇️ 二、文件操作
2.1、文件列详情
- 文件类型:
-表示普通文件;d表示目录;l表示链接文件;p表示管理文件;b表示块设备文件;c表示字符设备文件;s表示套接字文件; - 目录/链接个数:对于目录文件,表示它的第一级子目录的个数。(注意此处见到的值要减2才等于该目录下的子目录的实际个数)
- 文件大小:文件表示该文件的大小,单位为字节;目录表示该目录符所占的大小,并不表示该目录下所有文件的大小
- 文件类型:
2.2、文件基础操作
- 新建文件:
touch 文件名 - 新建文件夹:
mkdir 文件夹 - 复制:
cp 复制文件或目录 - 删除:
rm 删除文件或目录 - 移动:
mv 移动(修改)文件或目录
2.3、查看文件内容
cat 查看所有文件less 只显示一屏文件,可上下翻页查看tail 默认查看文件最后10行head 默认查看文件前10行
2.4、查找文件
-
find命令
# 在/dir目录及其子目录下面查找名字为filename的文件 find /dir -name filename # 在当前及其子目录中查找任何扩展名为"c"的文件 find . -name "*.c" # 搜索文件时使用 -iname 参数可以忽略文件名称大小写 -
locate命令
-
其实是
find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux 系统自动创建这个数据库,并且每天自动更新一次,所以使用 locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。# 搜索etc目录下所有以sh开头的文件。 $ locate /etc/sh
-
-
whereis命令
-
只能用于程序名的搜索,返回二进制文件、man说明文件、源代码文件
$ whereis grep # grep: /bin/grep /usr/share/man/man1p/grep.1p.gz /usr/share/man/man1/grep.1.gz
-
-
which命令
-
在 PATH 指定的路径中搜索位置,可以判断命令是否存在,以及执行的哪一个位置的命令
$ which python3
/bin/usr/python3
-
2.5、Vi模式查找文件内字符
vi + 文件名,输入i进行编辑,直接输入/斜杠;再输入要查找的字符串,然后回车可以查找字符(按n即可查找下一个);按esc键,输入wq,保存文件并退出(:wq!实现强制保存退出)vi全选删除文字- 在命令模式下,输入
:.,$d一回车就全没了,
表示从当前行到末行全部删除掉
- 在命令模式下,输入
2.6、查看文件大小
du -sh (查看该文件夹大小)
du -sh * (查看该文件夹下各个子文件大小)
2.7、改变文件用户组
- chown 想更改的用户组 文件名

2.8、文件权限
- r:可读取 4
- w:可写入 2
- x:可执行 1
- 给所有用户全部权限
- 便是 4+2+1 = 7
- 命令:
chmod 777 文件名 - 注:正式生产活动一定要给最小权限,保证安全性
2.9、链接
软链接: ln -s 存在的文件 新文件(只表示一个链接,但2个文件完全独立)【一般存放在/usr/bin文件中】硬链接:ln 存在文件 新的文件(指向同一个文件,相当于win快捷方式)
❇️ 三、系统级命令
3.1、切换root用户
- sudo:切换用户权限
sudo + 命令,仅本条命令使用root权限sudo -i或者sudo -i root,暂时切换root权限,多条命令执行root权限
- su :切换用户
su + 用户名,切换不同的用户身份,不仅rootsu只是切换身份;su -切换身份 + 切换环境变量su root 输入root密码后切换之root用户但是pwd目录不变su - root 输入root密码后切换之root用户但是pwd目录/root
3.2、查看进程
-
查看单个进程:
ps -ef | grep 进程名 -
ps:查看运行进程命令
ps -A显示所有进程ps -ef:用标准的格式显示进程

-
grep:查找命令,强大的文本搜索
grep 关键字 文件目录,文档中查找关键字grep hello test.txt在test.txt 中找出包含hello 的几个字符

-
管道符
|:将命令分隔开并连续使用|左边命令的输出就会作为|右边命令的输入cat test.txt | grep hello效果等同于上边grep hello test.txt
3.3、杀掉进程
kill -9 进程号
3.4、查看端口
netstat -an | grep 8090
3.5、网络是否联通
- ping
ICMP协议,仅包含控制信息,不包含端口号
- telnet
TCP协议,有端口,能承载数据- 其中不能telnet通并不能代表不能ping通,这是两种不同的数据包,防火墙中可以设置允许哪种包通过
- curl
curl http://www.baidu.com, 返回百度的html(这个方法经常用于测试一台服务器是否可以到达一个网站)
3.6、解压
- 解压.gz包
tar -zxvf 压缩包.tar.gz - 解压.zip包
unzip 压缩包.zip
3.7、安装软件
-
基于Debian的Linux发行版使用dpkg工具作为基础。dpkg工具的一个前端是aptitude。
-
基于Red Hat的Linux发行版都以rpm工具为基础,但采用了不同的前端工具。RedHat和Fedora用yum安装和管理软件包。
-
安装.gz软件
解压缩包 tar xvzf xxx.tar.gz 切换安装目录 cd xxx 执行安装 ./configure 检查编译 make 开始进行编译 make install 开始安装
3.8、后台运行
nohup 你的shell命令 &- 回车,使终端回到shell命令行
- 输入exit命令退出终端,也可以直接关闭
3.9、cpu实时渲染
top- PID:进程ID
- USER:进程属主的名字
- RES:进程占用物理内存
- S:进程状态(D休眠,R运行)
- %CPU:进程使用CPU时间比例
- TIME+:进程启动到现在占用CPU时间
3.10、内存使用情况
free
3.11、pytest 跑脚本
python3 -m pytest test_login.py
3.12、python 跑脚本
python3 py文件 (其中 python3 是python解释器,也可以是其他版本的python解释器,如 python3.8等)
