Linux简介
Linux是一套免费使用,支持多用户、多任务、支持多线程和多个核心CPU的操作系统。很多中型,大型甚至是巨型项目都在使用Linux
Linux的发行版
Linux的发行版说简单点就是将Linux与应用软件做一个打包,目前市面上比较知名的发行版有:Ubuntu,Redhat,CentOS(community enterprise operating system)等等
Windows与Linux的比较
测试人员为什么要学习Linux?
原因:
1、项目服务器一般都是Linux系统
2、有时候需要测试人员负责搭建及维护测试环境
3、测试人员需要负责跟踪及定位bug
通过xshell与xftp远程操作Linux系统
Xshell:一个客户端软件,我们在本地Windows上用它来连接Linux系统(服务器),并通过它提供的命令执行界面操作Linux
Xftp:一款传输软件,可以将本地Windows上的文件传输到服务器Linux系统上。
如果xshell连接页面显示为乱码,则需要把默认语言更改为Unicode(UTF-8),点击菜单栏中的地球图标即可更改
Linux系统目录结构
Linux的文件系统是采用层级式的树状目录结构,在此结构中最上层的是根目录主目录,下层是各种各样的子目录和文件
理解根目录底下的相关Linux文件目录是非常重要的
目前用得比较多的就是etc和user目录了
Linux新手须知
1、Linux(命令)是严格区分大小写的,如果没有特殊说明,保持小写
2、Linux所有的内容都是以文件形式保存,不靠扩展名区分文件类型
3、命令之间是有空格的
4、命令不仅要记,更要求多操作编程多练习
5、自我学习:命令很多,可以百度
常用的远程Linux服务器工具
Linux命令
一、系统管理相关命令
登录基本信息
当前登录用户名
# 超级管理员用户提示符
$ 普通用户提示符
主机名
当前目录
hostname:查看主机名
who:查询登录到系统的用户
whoami:确认自己身份
history:查看当前用户运行命令的历史
ifconfig:显示或设置网络设备的命令,可以用这个命令查看自己服务器的IP地址
ping:ping是Windows、Unix和Linux系统下的一个命令。Ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通。
输入whoami:确认自己身份
root可翻译成“根”,一般指根用户,是Unix、类UNIX系统、Android和iOS移动设备系统中唯一的超级用户
root作用是完全掌控系统底层及系统文件,获得root权限后,就获得了系统中的最高权限,可以对系统中的任何文件执行所有增、删、改、查的操作。
二、目录操作命令
Pwd 显示当前路径 (print working directory)
cd 切换目录 (change directory) 绝对路径
cd ./ 当前目录
cd .. 切换上级目录
cd / 切换到根目录
cd ~ (或cd)切换到当前(root)用户主目录 : /root目录 (或者home底下以用户名命名的文件夹:即普通用户的家目录)
mkdir 创建目录
mkdir 目录名 -p 加p与不加P的区别
rmdir 删除空目录
用法:rmdir 目录名
也可用:rm -rf 目录名/文件名 (可以删除非空目录)
输入cd 命令 切换到想访问的目录,路径前记得加/ 绝对路径==全部的路径
三、文件操作命令
文件操作命令01
在Linux系统中,几乎所有内容包括文档、命令、设备和目录等都组织成文件的形式,用文件来管理,常用的文件命令有:
touch 新建文件 用法:touch lemon.txt
Vi 是Linux下常用的、功能强大的文本编辑器(应用非常多,很重要)
按键盘i进入编辑状态
退出编辑按esc键
不保存退出: :q! 强制退出
保存退出: :wq
(vi也可以创建文件,如 vi lemon61保存退出才会新建成功)
进入文件的时候:
输入/lemon: 从光标开始处向文件首搜索lemon
输入?lemon: 从光标开始处向文件尾搜索lemon
输入:set nu 显示每一行的行数
按键盘G,可以直接定位到最末尾 按g定位到文件首行
文件操作命令02
ls 查看目录及文件
用法:ls[选项]路径 (若没有路径则显示当前目录的内容)
-a 显示所有隐藏的文件 如: ls -a / .开头的就是隐藏文件
-l 显示文件属性 ls-l 和ll 一样,别名
cp 复制命令
用法:cp [选项]文件名或目录 目标地址
-R 拷贝目录及目录下所有目录和文件 遍历 复制文件夹
cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)
mv 移动命令
用法:mv 文件名或目录 目标目录
mv a.txt ../ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)
mv a.txt ../b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)
文件操作命令03
rm 删除文件或目录
-f 强制删除
-r 删除目录
常用:rm -rf 删除文件或目录
find 查找文件
用法:find [路径][选项] 查找内容
常用选项有:
find . -name * .log 在当前目录查找以.log结尾的文件
find / -name log 在根目录查找log命名的目录
grep 在指定的文件中查找字符(串)并打印该行
过滤,经常跟管道符号一起出现 |
用法:grep 字符串 文件名
grep band file 在file文件中找寻band字符串
文件操作命令04
cat 显示文本文件内容
用法:cat 文件名
head 查看前几行
用法:head -n 5 文件名
tail 从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便地查阅正在改变的日志文件
tail -n 5 文件名 查看后5行(tail 文件名,默认显示最后10行)
tail -f error.log 实时刷新error.log文件,默认显示最新10行内容,退出tail命令:ctrl+C
输入tail -f lemon61
四、系统管理相关命令
系统资源查询命令
ps 查看进程(动态)
-ef 显示所有运行进程,并显示启动进程的命令
uid:用户ID, PID:进程ID, PPID:父进程, C:进程CPU占用率,stime:进程从启动到现在的时间, TTY:终端号, CMD:命令名称和参数
netstat 查看网络状况 (net status的缩写)
netstat -apn 查看所有端口
an,按一定顺序排列输出
p,表示显示那个进程在调用
思考:如果要过滤某个端口 ,怎么写?
补充 kill:杀死进程 (kill -9 进程号 强制杀死进程)
管道命令
管道使用“|”符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入
如 ll | grep abc :管道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串的文件或目录
工作常见情况:杀死服务进程(比如杀死Tomcat进程)
1.通过进程名找到进程,再杀死进程
通过命令查找Tomcat进程:ps -ef | grep tomcat (ps -ef是查看所有运行的进程,通过管道符号找到所有进程中包含了“Tomcat”字符串的进程,即为tomcat进程),假如该进程:5541
杀掉此进程,kill -9 进程id (kill -9 5541)
2.通过端口来找到进程,再杀死进程
通过命令查找到占用此端口的进程编号:netstat -apn|grep 8080,根据8080查进程,假如:5541
杀掉进程:kill -9 pid (kill -9 5541)
补充知识点--新手须知
错误提示:command not found,命令没有找到,看到这个命令第一反应就是检查命令是否写错
Linux中复制目录报错cp:omitting directory 一般出现这个错误,是目录下面的目录,不能直接拷贝 -R遍历所有内容
PS:
Ctrl + C 结束当前正在运行的程序
Tab 使用,自动关联,快速补齐
方向键“上”“下” 对历史命令,上一个、下一个进行查找
五、Linux高级命令
1、权限赋予命令-chmod
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限作了不同规定。
在Linux中文名可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
对应的用户权限怎么看?
如图:
文件类型 | 属主权限 (文件拥有者) | 属组权限 (文件拥有者所在组) | 其他用户权限 |
d | r w x | r - x | r - x |
文件目录 | 读 写 执行 | 读 写 执行 | 读 写 执行 |
上图例子显示这是一个目录,如果第一位是-,则代表这是一个文件。文件拥有者的权限是读、写、执行;文件拥有者所在的组的权限是读、执行;其他用户的权限的读、执行。
赋权语法:chmod [-R] 753(数字) 文件或目录 目录一定要加[-R]遍历
读(r):4 写(w):2 执行(x):1
例如测试环境:chmod -R 777 lemon61 赋予全部的权限(最高权限)
输入chmod 753 233.txt
输入chmod -R 753 lemom
2、压缩解压命令
2.1压缩、解压命令----tar.gz
将文件压缩成.tar.gz/.tar格式用tar命令,使用-z调用gzip
例如:将test文件夹压缩成test.tar.gz
输入tar -czvf test.tar.gz(要压缩成的文件名) test(要压缩的文件名)
tar -czvf test.tar.gz test
将.tar.gz/.tar格式文件解压也是使用tar命令
例如:将test.tar.gz解压得到test文件夹
tar -xzvf test.tar.gz
命令参数详解:
-c 建立归档/压缩 compress
-x 解归档/解压
-z 有gzip属性的压缩文件
-v 显示所有过程
-f 使用档案名字,必须填,是最后一个参数,接文件名
2.2压缩解压命令----zip
将文件压缩成.zip格式用zip命令
例如:将test文件夹压缩成test.zip,必须带r才会把文件压缩进去,不然会生成一个空的文件夹
zip -r test.zip test
将.zip格式的压缩文件解压使用unzip命令
例如:将test.zip文件夹解压
unzip test.zip
输入tar -czvf 777.tar.gz 777
输入tar -xzvf 777.tar.gz 解压
输入zip -r 666.zip 666
输入unzip 666.zip
3、开关防火墙命令
即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop
查看防火墙状态:service iptables status
输入service iptables start、service iptables status
输入service iptables stop、service iptables status
4、重启、关机、注销命令
重启命令:reboot
其他:shutdown -r now
关机命令:halt
其他:shutdown -h now
Poweroff (暴力关机)
注销:logout
线上环境请慎用
测试服务器上面可以部署多个测试项目,每个项目多个测试人员负责
5、补充知识:
防火墙的概念
所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际是一种隔离技术,保护内部网免受非法用户的入侵。它是一种位于内部网络和外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过
线上环境的防火墙设置:运维/开发管理维护
测试环境的防火墙设置:若内网测试,勿须设置,直接关闭
想要直接从windows传压缩文件到Linux系统上,可以直接点xftp(在xshell已连接的情况下会自动连接上云服务器)