#linux
注意事项 大小写 命令和单词之间的空格
快捷键: 上下键:查找执行过的命令 tab 自动补全文件名,cltr c 结束进程 clear清屏cltr l
远程工具:xshell 虚拟终端,运行linux命令 xftp windows和linux之间的文件传输
目录结构:\etc \opt \bin \sbin \dev \var \root \serv \home \proc ...
vi编辑器:
按esc :进入一般模式 按: 进入命令行模式 按a,i,o 进入编辑模式
vi file 编辑表格 wq保存退出 wq!强制保存退出 q!强制退出 q不保存退出 w保存 w flie 将当前内容保存至另一个文件
set no 显示行号 set unon 不显示行号
常用命令:
ls: ls -l 查看所有文件详细信息(不包括隐藏文件)
ls -a 查看所有文件详细信息(包括隐藏文件)
ll 相当于 ls -l
ls -al 相当于ls -a -l
查看帮助 man -is is -help
关机:
shutdown -h 20:25 设定20:25关机
shutdown -h +10 设定10分钟后关机
shutdown now 设定立即关机
shutdown -c 取消关机进程
poweroff 关机
init 0 关机
查看IP地址:ifconfig
重启命令:reboot init 6 shutdown -r now
init 3 查看文字界面 init 5 查看图形界面
文件和目录
cd 进入\root目录 cd ..返回上一层目录 cd \etc 进入\etc目录 cd \进入根目录
cat file 查看file文件
touch file 不存在file则创建空白文件 已存在则修改生成文件时间
mkdir 文件夹 创建文件夹
pwd 查看当前位置的目录
cp \var\www\html \opt\wenjian\ 复制文件
mv file \etc\ 修改文件或者移动文件
rm file 删除文件
rm -rf file 强制删除
tar -xvf file.tar 解file.tar包
tar -cvf test.tar file1 file2 将file1 和 file2两个文件打包为test.tar文件
tar -xzvf file.tar.gz 解压file.tar.gz格式的文件
tar -czvf file.tar.gz file1 file2 将file1 和file2 压缩为file.tar.gz文件
zip -xvf file.zip zip -cvf file.zip
unzip -xvf.zip unzip -xzvf file.zip
find / -name file 在/目录下查找file文件
find / -name "test" 在/目录下查找“test”开头的文件
locat file 查找file文件
updatedb 更新文件列表数据库
more
less
head
tail tail -f /var/log/messages 查看messages文件,并实时更新
grep
| ps ef | grep crond
link ln -s file 软连接
hard ln file hard 硬连接
chmod -R 777 file chmod -R 664 file chmod u+r,g+w,o+x file
chgrp
chowm
which
whereis
am
top 查看cpu,内存使用情况
free 查看内存使用情况
vmstat 查看 CPU 内存,硬盘灯使用情况
ps 查看进程信息
kill 结束进程
pidof 查看进程pid号
systemclt stop firewalled 关闭防火墙
systemclt start firewalled 启动防火墙
systemclt retart firewalled 重启动防火墙
systemclt enable firewalled 设置开机启动防火墙
systemclt disabled firewalled 设置不要开机启动防火墙
systemclt status firewalled 查看防火墙状态
getenforce
软件安装:
yum install 应用 在线安装应用
yum -y install 应用 直接安装不需要同意
rpm 本地安装.tar.gz 格式的应用安装包
#计算一个字段在文件文件里面出现了多少次
:%s/字段//gn 可用于计算多个实例时与接口返回的数据是否一致 vi 文件夹
vi/vim
?是向上搜 / 向下搜 shift +g 回到最下面 gg回到最上面
shift +a 回到命令行最前 shift+e 回到命令行最后
shift +zz vi编辑文本后快速保存
sysctl kernel.pid_max 查看最大进程数
top -Hp tomcat进程号 查看进程占用的cpu
netstat -t 查看tcp端口
./jmeter -n -t jmeter脚本 & 执行jmeter脚本 (要到jmeter脚本的目录下执行)
#curl ping接口 可接参数 #ping
curl https://www.example.com
ADB指令& monkey
手机adb指令
adb shell 切换到虚拟机
adb shell ps 查看所有进程
adb devices 查看已连接设备
adb install apk路径 安装apk
adb uninstall 包名 卸载这个app
adb install -r apk路径 覆盖安装
adb shell pm list packages 查看所有已安装的包
adb shell dumpsys window | findstr mCurrentFocus 查看包名和activity名
adb shell dumpsys cpuinfo 查看cpu
adb shell dumpsys cpuinfo | findstr n 查n占用的cpu
adb shell dumpsys meminfo 查看内存
adb shell dumpsys meminfo | findstr n 查n占用的内存
adb shell top -m 5 -s cpu 查看排名前5的cpu
adb pull 手机文档路径 电脑路径 将文件导出到电脑
adb push 电脑文件路径 手机路径 将电脑文件导入到手机 电脑路径\ 手机路径/
adb logcat 查看日志
adb logcat -v time 查看日志带时间
adb logcat -v threadtime 查看日志带线程时间
adb logcat >电脑路径\文件名 将日志导出到电脑上看
adb logcat | findstr "a" 查看a的日志
adb shell kill 进程号(pid) 杀死这个进程
adb shell am start -n 包名/activity名 启动这个activity
adb shell am start -W 包名/activity名 查看热启动 冷启动 耗时 (冷启动就是从一开始启动一个app的时间,热启动就是启动这个app之后按了home键)
monkey 特点:随机乱点,对象为程序包,有局限性,测试使用的数据流随机,可对momkey测试的对象,事件数量,类型,频率进行设置
adb shell monkey 1000 系统内的app乱点1000次
adb shell monke -p 包名 1000 指定的一个app里乱搞1000次
adb shell monkey -p 包名1 -p 包名2 1000 指定在这2个app里乱搞1000次(多个继续加-p)
adb shell monkey -v 1000次 乱搞1000次日志显示出来 -v -v , -v -v -v v多显示得更详细。一般只弄一个,看不懂bug在2个,3个。(占的量比较大)
adb shell monkey -p 包名 -s seed值 1000 (seed值在最前面找,重跑一次跟刚才一模一样的操作。一般是出现bug之后再去定位。。)
adb shell monkey -p com.amaker.mp --throttle 500 100 跑这个包每次延迟500毫秒
--ignore-crashes崩溃了继续跑
--ignore-timeouts应用程序(ANR)发生错误继续跑
--ignore-security-exceptions 应用程序发生许可错误继续跑
--kill-process-after-error应用程序发生错误时,应用程序停止运行并保持当前状态
--monitor-native-crashes监视并报告应用程序发生崩溃的本地代码
--pct-touch 百分比 调整触摸事件的百分比
--pct-motion 百分比 调整动作事件的百分比
--pct-trackball 百分比 调整轨迹事件的百分比
注: --都是放在-v或跑的次数的前面。-p,-s,-v优先级
monkey测试结果导出:monkey句子后 >导出的路径\导出之后叫的文件名
monkey结果分析:首先看最前面的count与最后面的events injected是否相等。其次有没有monkey finished。这2项不对。肯定有问题。
导出的日志中 crtl + f 搜索 ANR ,crash,exception,force close 。能搜见基本也有问题
docker
容器命令:
docker ps |grep 容器名称 查找容器id
docker exec -it 容器id bash 进入容器中
docker exec -it -uroot 容器id bash 以管理员身份进入容器
#一般先用xshell放到虚拟机的一个目录下,即本地文件路径
#传文件到容器
从本地文件夹上传到节点/tmp目录下
scp 本地文件夹目录 root@上传的节点:/tmp
例:scp /root/a.txt root@10.51.30.110:/tmp
注:如果是文件夹用 scp -r
将文件从节点tmp目录下拷回本地 tomcat 目录下
scp /tmp/文件 tomcat@本地节点:/home/tomcat/
例:scp /tmp/b.txt tomcat@10.51.1.12:/home/tomcat
注:如果是文件夹用 scp -r
将文件从节点上传到容器实例中
docker cp 文件路径 容器id:上传到容器目录路径
例:docker cp /home/tomcat/c.txt 5ab235ajks8:/home/tomcat/tmp
将文件从容器中复制到节点(在容器实例外执行,也就是节点上执行)
docker cp 容器id:文件路径 节点路径
例:docker cp 5ab235ajks8:/home/tomcat/ /root/home
容器里面安装命令:
yum makecache
#把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存
以后用install时就在缓存中搜索,提高速度
$ yum makecache
#配合yum -C search xxx使用,不用联网检索就能查找软件信息
$ yum clean all #清理缓存
#安装ping命令
yum install -y iputils
#telnet 命令安装
yum install telnet
telnet使用:telnet ip port
例如:telnet 10.31.15.100 8080
ps:有时候需要修改下载源,具体源看公司
vi /etc/yum.repos.d/EulerOS.repo
baseurl=http://repo.huaweicloud.com/euler/2.9/os/x86_64/