测试必备linux知识
2022-05-07 14:52:09 0 举报
AI智能生成
登录查看完整内容
Linux
作者其他创作
大纲/内容
后续多动手搭建环境,命令就熟悉了
说明
超链接
百科
简介
https://www.processon.com/view/link/5fdf4ebee0b34d4632ddb8bb
环境基础
如果是root,提示符为#,普通用户则为$
登录
logout
退出
reboot
重启
halt
关机
开启虚拟机
Linux下一切皆文件
分支主题
/为根目录
目录结构
bin是Binary的缩写。这个目录存放着最经常使用的命令,例如cp、mv、ls等
/bin
这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。
/boot
dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/dev
是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录
/etc
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/home
这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lib
opt 是 optional(可选) 的缩写,这是给主机额外软件安装目录
cd /opt/lampp/
/opt
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息
这个目录的内容不在硬盘上而是在内存里
less /proc/cpuinfo
/proc
该目录为系统管理员,也称作超级权限者的用家目录
/root
s 就是 Super User 的意思,是 Superuser Binaries (超级用户root的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/sbin
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的
/tmp
usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
这是提供给一般用户的/usr目录,在这里安装一般的应用软件
/usr/local
存放一些常用的动态链接共享库和静态档案库
/usr/lib
用来存放Linux下开发和编译应用程序所需要的头文件
/usr/include
超级用户使用的比较高级的管理程序和系统守护程序
/usr/sbin
系统用户使用的应用程序(指令)
/usr/bin
内核源代码默认的放置目录
/usr/src
/usr
var 是 variable(变量) 的缩写,存放经常改动的数据文件,包括各种日志文件
如果你想做一个网站,你也会用到/var/www这个目录
/var
目录结构说明
目录
绿底蓝字,说明这个目录加了x权限
蓝色
可执行文件
绿色
压缩文件
红色
链接文件
浅蓝
其他文件
灰色
子主题
部分样例
颜色
文件系统(了解)
#表示root,$表示普通用户
useradd
还是之前的目录
su root
进入这个用户的家目录
su - root
切换用户
su
获取超级用户权限
有一些命令是普通用户没有权限操作的,所以要用sudo来获取超级用户权限
sudo
用户
vi是Linux/Unix下最常用的文本编辑器
yum install vim -y
安装
vim 就像 Windows 里面的 notepad 一样
vim是vi的升级版本
如果没有这个文件,就先创建一个
vim xxx.txt
移动光标的位置,通过上下左右键就行
用法
:set nu
显示
:set nonu
不显示
行号
方向键
h
backsapce
左
l
空格
右
k
上
j
下
-
上一行行首
0
本行行首
shift +4 = $
本行末尾
nG
指定行
n-
向上
n+
向下
ctrl + d
向后半屏
ctrl + f
向后全屏
ctrl + u
向前半屏
ctrl + b
向前全屏
G
shift + g
文件末尾
光标定位
从上往下看结果
n
从下往上看结果
N
向光标下搜索关键字
/
向光标上搜索关键字
?
搜索
old表示原来得
new表示你要改为的内容
:s/old/new
替换当前行首次出现
:s/old/new/g
替换当前行全部
从x行到y行
替换指定范围行的首次
替换指定范围全部
:%s/old/new/g
修改全部
替换
粘贴p
yy
单行
nyy
复制1-4行
多行
行
yw
nyw
y^
y$
行内复制
复制
小p
大P
粘贴
光标所在位置
x
光标前
X
删n个,从光标所在位置开始
nx
删n个,光标前的字符
nX
字符
dw
de
dE
db
dB
单词(了解)
当行,光标及光标后的内容
D
d$
当行,光标前的内容
d0
行内删除
dd
ndd
最后要按回车键
整行
删除
撤销最近的一次操作
u
撤销所以操作
U
撤销
:q
:wq,w意思是write,保存文本,q是quit,这样就会退出 vim
保存退出
如果编辑了,还没保存,不想要了,可以输入:q!,后面加叹号的话表示强制
不保存退出
常见操作
命令模式(默认)
i
I
a
A
o
O
进入编辑模式
esc
退出编辑模式
编辑模式
命令模式
vi/vim文本编辑器(重要)
命令使用摘要及参数列表
xxx -h
ls --help
示例
说明:可能内核版本原因,如果不行,就用man
help
命令说明文件
比help更加详细的文档,man xxx
man ls
man
帮助
显示当前路径
pwd
列举指定目录下的子目录和文件
不隐藏任何以“.” 字符开始的项目
用列表(长格式)的方式列出文件信息
ls -l
“-”表示普通文件
“d”代表目录
“l”代表连接文件
“b”代表设备文件
其中第一个字段的第一个字符是文件类型
421
第一个字段剩下的 9 个字符是模式(这三组分别表示文件所属的用户权限、文件所属的组权限以及其他用户的权限),其实就是权限位(access permission bits)。3 个一组,每一组 rwx 表示“读(read)”“写(write)”“执行(execute)”。如果是字母,就说明有这个权限;如果是横线,就是没有这个权限
第二个字段是硬链接(hard link)数目,这个比较复杂
第三个字段是所属用户
第四个字段是所属组
第五个字段是文件的大小(字节)
Feb 16 13:21
第六个字段是文件被修改的日期
第七个字段是最后是文件/文件夹名
drwxr-xr-x 3 root root 52 Feb 16 13:21 dockertest
你可以通过命令chown改变所属用户,chgrp改变所属组。
755含义
ll
-l
以时间排序
时间由近及远
-t
以相反次序排列
如果是-rt,表示时间由远及近
同时列出所有子目录层
按大小排序
单位是字节
-S
易读方式,根据文件大小,转换为M、K
-h
参数
ls
change directory,就是切换目录
退到当前用户个人目录
同cd ~
cd回车
进入根目录
cd /
返回上级目录
cd ..
退到上级目录的xx目录
cd ../xx
回到上一次操作的目录
cd –
cd
复制文件夹/文件
-a:尽可能的将文件的属性、权限的内容都照原状复制
复制目录并改名
cp -r phpwind_v9.0.1_20141223/upload/ ~/37/phpwind
cp
移到文件/文件夹、改名
如果目标目录存在,则是复制到该目录下
如果目标目录不存在,则是改名
mv
删除文件/文件夹
-f:不询问直接删除
-i:删除前逐一询问确认
删除test目录下的所有内容
rm -rf test/*
删除test目录
rm -rf test/
rm -rf test
rm
创建文件夹
mkdir
rmdir不能删除非空目录
用来删除一个空文件夹
-p表示连同子目录一起删除
rmdir -p test1/test2
rmdir
创建一个空文件
touch
查看小文件内容,否则内存撑爆了
-n:由第一行开始对所有输出的行数编号
cat a.txt b.txt > c.txt
cat -b test.txt
cat -n test.txt
对行进行编号(显示行号)
往文件中添加内容(如果文件不存在,会创建文件):cat 1.txt> test.txt
cat
反向显示文档内容,由最后一行到第一行反向在屏幕上显示出来,cat和tac相反
tac
more 是分页后只能往后翻页,翻到最后一页自动结束返回命令行
more [参数] 文件
回车
下一行
下一页
more
less 是往前往后都能翻页
less [参数] 文件
方向键↓
方向键↑
上一行
g
展示第一行
展示最后一行
less
显示文件的开头至标准输出中
-n 显示的行数
head -2 /etc/passwd
head -n2 /etc/passwd
head
动态查看文件内容
查看文件末尾内容
-f 动态读取
查看passwd的后2行:tail -2 /etc/passwd
tail
文件和目录的磁盘使用空间
du -sh *
-m或--megabytes 以MB为单位输出
du
列出当前系统打开文件的工具
lsof filename 显示打开指定文件的所有进程
lsof -i :80 查询指定端口打开的文件
lsof -p pid 查询指定的pid打开的文件
lsof
用来给文件或者文件赋权限
r=4 w=2 x=1
数字
文本
两种方式
chmod 755 test.txt
chmod
改变文件所有者和所属组
-R 递归式地改变指定目录及其所有子目录、文件的文件主
chown
改变文件所属组
-R 递归
chgrp
统计指定文件中的行数、字节数、字数,并将统计结果显示输出
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
cat access.log |wc -l
wc
清屏
clear
查看历史命令
echo $HISTSIZE
命令记录个数
export HISTSIZE=1000
修改
history -c
清除历史命令
history
文件管理
显示文件中的匹配行
-c:显示匹配行数
-i:忽略大小写
-v:输出不匹配行
-w:匹配指定字符串
可以和别的命令通过"|"管道符连接使用
ps -ef|grep httpd |grep -v grep
grep ren /etc/passwd
grep -c ren /etc/passwd
grep -Ev '#|^$' nginx.conf.default > nginx.conf
去掉空行、注释
grep
查找目录下的文件
find 目标目录 搜索参数 操作参数
-name 文件名:可以跟通配符
-user 用户名:属于用户的目录和文件
-type 文件类型
find / -name lampp
find
whereis mysql
whereis
which mysql
which lrzsz
which
whereis是搜索程序名,如果是一个普通的文件是找不到的
which命令只查找环境变量中path里面的路径
区别
定位文件位置
压缩zip包和解压缩以.zip结尾压缩文件
zip [选项] 压缩文件名 需要压缩的文档列表
命令格式
-r 递归压缩,将指定目录下的所有文件以及子目录全部压缩
-x “文件列表” 压缩时排除文件列表中指定的文件
-m 将文件加入压缩文件压缩后,删除原始文件,即把文件移到压缩文件中
zip
-x "文件列表" 解压文件,但不包含文件列表中指定的文件
-t 测试压缩文件有无损坏,并不解压
-v 查看压缩文件的详细信息,具体包括压缩文件中包含的文件大小、文件名和压缩比等,并不解压
-n 解压时不覆盖已经存在的文件
-o 解压时覆盖已经存在的文件,并且不要求用户确认
-d 目录名 把压缩文件解压到指定目录下
unzip
zip/unzip
文件打包
-c:创建新文档
-x:解压缩归档文件
-f 文件名:使用归档文件
-z:使用gzip解压缩
-v:详细输出模式
tar -zcvf 1.tar.gz 1.txt 2.txt 3.txt,命令可以将1.txt,2.txt,3.txt 打包并压缩成1.tar.gz
压缩
tar zxvf 1.tar.gz,可以解压
解压缩
tar
归档压缩
显示瞬间进程 (process) 的动态,使用权限是所有使用者
ps -aux
ps -ef
可以用管道符连接其他命令使用
ps -ef|grep tomcat
ps
用来终止指定的进程
-9 强制终止进程
kill -9 pid
ps -ef | grep java|grep -v grep | awk '{print $2}' | xargs kill -9
杀所有java进程
kill
进程
-i\t安装-U\t更新(升级)-e\t卸载 -v\t显示安装信息-h\t显示安装进度
如果提示有依赖关系,我们忽略依赖关系强制安装
rpm -ivh --nodeps xxx
rpm -ivh xxx.rpm
rpm -qa|grep xxx
查询
如果卸载的时候提示有软件依赖它,卸载时需要加上 --nodeps
rpm -e xxx --nodeps
卸载
使用
rpm安装包
yum install -y xxx
yum
https://www.cnblogs.com/uncleyong/p/10742883.html
参考nginx安装
源码安装
https://www.cnblogs.com/uncleyong/p/10731334.html
参考jmeter安装
二进制安装
软件安装
常用命令
https://www.cnblogs.com/uncleyong/p/14204262.html
selinux
查看防火墙状态:systemctl status firewalld关闭防火墙:systemctl stop firewalld开机不启动防火墙:systemctl disable firewalld查看防火墙是否开机启动:systemctl is-enabled firewalld
检查防火墙
ps -ef |grep xxx
java应用
jps -ml
netstat -lntp |grep port
要看端口是否处于监听状态
查看服务
lsof -i:8780
netstat -lntp |grep 8780
查看端口占用
服务无法启动
要看日志是否有异常
服务是否正常启动
ping ip
ping服务器
telnet 虚拟机ip 80
如果是云服务器,确保开放了端口
telnet端口
常见环境问题排查方法(无法访问)
linux测试必备
0 条评论
回复 删除
下一页