服务部署:
1.显示网络状态
netstat -nltp
或
netstat -tp
lsof -i:9090表示查找端口9090的pid及所有线程
2.强制杀死pid为12345的服务
kill-9 12345
3.启动一个服务,将日志输出到同级的demo.log文件中,当xshell关闭后该服务仍在后台运行
nohup java -jar demo.jar >demo.log &
nohup java -jar demo.jar >/dev/null 2>&1 & (控制台不打印日志)
4.标记demo.log中www字符串
vim demo.log
/www
5.保存退出
Esc wq
6.不保存退出
Esc q!
7.查看日志前100行日志
tail -100f demo.log
8.查看日志文件
vim demo.log
9.查看ip地址
ifconfig
10.查询本机的公网地址
curl cip.cc
11.redis的启动与关闭
启动:redis-server redis.conf &
关闭:1)redis-cli -h host -p port 2)auth all888 3)shutdown
连接redis: redis-cli -h 10.32.1.253 -p 6379
输入密码:auth all888(quit退出当前连接,不关闭服务器)
查询key值:keys * 或者 get key
查询key值数量:dbsize
查询redis基础信息:info
12.mq的启动和关闭
到指定目录:cd /etc/init.d
停止:rabbitmq-server stop (rabbitmqctl shutdown)
启动:rabbitmq-server start(rabbitmq-server -detached 后台启动)
查看是否停止/启动成功:ps -ef |grep rabbitmq
查看所有队列:rabbitmqctl list_queues
删除指定队列:rabbitmqctl delete_queue queue_name
web插件关闭:rabbitmq-plugins disable rabbitmq_management
web插件开启:rabbitmq-plugins enable rabbitmq_management
13.nginx的启动和关闭
启动目录:/usr/local/nginx/sbin/nginx
配置文件重新加载:nginx -s reload :修改配置后重新加载生效
启动:(指定配置文件路径)nginx -c /usr/local/nginx/conf/nginx.conf
停止:nginx -s stop
配置文件测试:nginx -t,重新加载配置文件前可使用该命令
查看版本信息:nginx -V
14.tomcat的启动和关闭
启动:进入到tomcat的bin目录,执行./start.sh
关闭:进入到tomcat的bin目录,执行./shutdown.sh
清除缓存:进入到tomcat的work目录,删除catalina目录
15.网络问题排查命令
ping ip:ping 10.48.1.253 或 ping www.baidu.com(ping shop.mustbuyhh.com)
telnet ip port:telnet www.baidu.com 80 或 telnet 10.48.1.253 8080(telnet shop.mustbuyhh.com 443)
nslookup baidu.com 域名解析
有时候ping命令会被服务器禁止。通过上述命令可查看网络环境
16.wget命令,用于下载远程资源
安装wget: yum install -y wget
下载远程资源:-c表示断点续传 wget -c https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
17.tar命令
-c表示压缩,-x表示解压,-C指定目标目录
将test.txt文件压缩成test.tar.gz文件:tar -czvf test.tar.gz test.txt
将test.tar.gz解压成es目录下的test.txt文件:tar -xzvf test.tar.gz -C ./es/
将test.tar.gz解压成test.txt文件:tar -xzvf test.tar.gz [text.txt]
18.elk后台启动
基于/目前查找es安装包
find / -name "elasticsearch-7.3.2-linux-x86_64.tar.gz"
创建es用户,拥有这三个安装目录的权限。进入安装目录
es: ./elasticsearch -d
logstash: nohup bin/logstash -f config/logstash.conf &
kibana: nohup bin/kibana &
19.ftp命令
连接远程ftp服务器步骤:1.sftp zygf@172.17.212.137(zygf为用户名) 2.输入密码 Aqz@2020!
下载服务器文件:get aa.txt
批量下载文件:mget *
20.查看软件安装项目
root操作
ls(ll) -l /proc/进程号/cwd
Linux系统上的/proc目录是一种文件系统,即proc文件系统。
cwd 指向当前进程运行目录的一个符号链接;
which
whereis
21.同步服务器时间
ntpdate ntp1.aliyun.com
22.gunzip命令
gunzip gateway_warn.2023-04-11.log.gz:将文件解压到当前目录,文件为gateway_warn.2023-04-11.log
23.linux使用echo清空正在运行的日志文件,应用不需要重启
echo "" > catalina.out
文件属性:
1.文件属性 包含10位 表示权限
-rw-r--r--:
第一位:文件类型 d表示文件夹;-表示文件
第二到四位:属主权限 r表示可读;w表示可写;-表示不可执行
第五到七位:属组权限 r表示可读;-表示不可写;-表示不可执行
第八到十位:其他用户权限 r表示可读;-表示不可写;-表示不可执行
2.更改文件属性 更改文件属组chgrp(Change group)
chgrp [-R] 属组名 文件名
-R表示更改文件夹下的所有文件的属组权限(递归)
3.更改文件属主chown(Change owner)
chown [-R] 属主名:属组名 文件名
chown tg:group1 1.txt
将文件更改为属主为tg,属组为group1
4.更改文件的权限 chmod(Change mode)
方式一:chmod [-R] xyz 文件或目录
chmod 777 test
权限r的权值为4,权限w的权值为2,权限x的权值为1。即如果想要读写执行都具备的话权限设置为7
方式二:chmod u=rwx,g=rx,o=r 文件名
u代表属主,g代表属组,o代表其他,a代表all所有;=代表设定,+代表增加,-代表去除
chmod u=rwx,g=r,o=r test
用户管理:
1.用户和用户组管理 创建用户
用户账号:/etc/passwd
vipw可快速查看账号信息
用户密码:/etc/shadow
vipw -s 查看密码信息
用户组文件:/etc/group
useradd 选项 用户名
useradd -g group1 -d /home/tg -m tg
-g表示用户所属组,-d表示新用户的所属目录,-m表示如果该目录不存在则创建,tg是用户名
创建管理员账户,一般不推荐使用
useradd -u 0 -o -g 0 -d /home/tg -m tg
-u 0表示用户标号为root,-o表示允许用户标号重复,-g 0表示用户组标号为root
2.删除账号
userdel 选项 用户名
userdel -r tg
-r表示删除其主目录
-f表示强制删除,因为有时候会有无法删除的问题(进程占用,可以杀死占用的进程)
3.修改账号
usermod 选项 用户名
选项类型同创建用户
4.用户口令
passwd 选项 用户名
-l 锁定口令,即禁用账号;-u 口令解锁;-d 使账号无口令;-f 强迫用户下次登录时修改口令。
passwd tg
修改密码
root用户直接输入新密码,普通用户需要校验旧密码,然后输入新密码
用户组管理:
1.创建用户组
groupadd 选项 用户组
groupadd group1
2.删除用户组
groupdel 用户组
groupdel group1
3.编辑用户组
groupmod 选项 用户组
groupmod –g -n group2 group1
-n group2表示将原组名更改为group2
4.输出工作目录
pwd
print work directory
如果想获取当前用户的主目录
cd ~/pwd
5.查某个命令的用法
命令 --help
6.切换用户名
su 用户名
root用户切换到普通用户不需要输入密码,反之需要输入密码。
切换用户的时候有时会出现 bash-4.2$
cp /etc/skel/.bashrc /home/user/
cp /etc/skel/.bash_profile /home/user
文件目录管理:
1.ls: 列出目录
2.ll: 查看目录详细信息
ll -a查看所有文件列表,包括隐藏文件。
3.cd:切换目录
cd 路径
可以使用绝对路径也可以使用相对路径
cd ../../etc/skel/
回到主目录
cd ~
回到根目录
cd /
4.pwd:显示目前的目录
5.mkdir:创建一个新的目录
mkdir [-mp] 目录名称
-m表示mode,可以指定文件夹的权限如777,-p表示可以递归创建文件夹
6.rmdir:删除一个空的目录
rmdir [-p] 目录名称
-p表示递归删除空文件夹
rmdir -p a/b/c
7.cp: 复制文件或目录
cp source destination
复制文件夹:cp -ra source destination(递归复制所有文件)
8.rm: 移除文件或目录
rm [-fir] 文件或目录
-f表示强制删除,-i表示删除时询问,-r表示递归删除
rm -rf递归删除,不询问
9.mv: 移动文件与目录,或修改文件与目录的名称
mv [-fiu] source destination
-f表示强制,-i表示覆盖时询问,-u表示source比较新时更新
mv 1.txt 2.txt表示重命名
10.cat: 由第一行开始显示文件内容
cat 文件名
11.tail: 只看尾巴几行
tail -100f 文件名
12.vim:可查看编辑文件,也可用于创建文件
vim 文件名
13.shift+g跳转到日志文件底部,gg跳转到日志顶部
14.scp:远程复制
复制本地文件夹到远程服务器
scp -r a/ eprouser@192.168.1.253:/project/cjm
复制本地文件到远程服务器
scp a.txt eprouser@192.168.1.253:/project/cjm
复制远程服务器文件夹到本地
scp -r eprouser@192.168.1.253:/project/cjm /project/test
复制远程服务器文件到本地
scp eprouser@192.168.1.253:/project/cjm/a.txt /project/test
查看服务器信息:
1.查看内存使用情况
free -h
2.查看程序内存使用情况,用于排查问题
ps -aux | sort -k 4 -r | less
或者
ps -aux | sort -k 4
ps -aux表示查看进程详细信息,sort -k 4 -r标识根据第四列内存降序排列,less表示显示较少的行,按q退出展示
ps -aux | grep java
查看java进程
ps -aux | grep 1289
查找pid为1289的进程。先查找所有的进程,搜索pid为1289的进程
3.查看硬盘使用情况
df -h
4.命令用于查找文件里符合条件的字符串
方式一:grep -i 字符串 文件名
-i表示忽略大小写,在文件中忽略大小写查找指定的字符串并标记
方式二:vi/vim编辑文件,然后使用/查找字符串进行查询
5.显示当前进程状态 ps(process status)
ps -aux
6.管道符 |
Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入
7.查看目录下文件的大小
du -sh *
du表示disk usage硬盘使用情况,-s表示汇总信息,-h表示以人类熟悉的方式(Mb/Gb)展示,*表示文件或文件夹
8.查看环境变量
echo $PATH:查看用户下配置的环境变量列表
echo $ORACLE_HOME:查看oracle环境变量
su oracle:只会切换用户
su - oracle: 切换用户,且使用oracle配置的环境变量
9.同步服务器时间
date:查看服务器时间
ntpdate ntp1.aliyun.com:同步ntp1.aliyun.com服务器时间作为本机时间
10.配置环境变量
1)vim ~/.bashrc:~/指的是当前用户的主目录,.bashrc是文件名
2)export PATH=$PATH:路径1:路径2
$PATH代表原先配置的环境变量
3)source ~/.bashrc:使环境变量生效
11.nginx创建定时任务
crontab -e:e表示edit
30 8 * * * /home/zjapposp/shell/yhz.sh:表示每天8点半执行文件yhz.sh
12.查看操作系统版本
cat /etc/redhat-release
cat /proc/version
13.软件安装
1)源码安装:.configure 检查编译环境;make对源代码进行编译;make insall 将生成的可执行文件安装到当前计算机中。
2)rpm安装:rpm是一个软件包管理工具,可以安装.rpm的文件(rpm是一个编译好的文件,直接安装即可,安装过程中如果缺依赖包要自行解决,noarch.rpm表示这是一个和平台无关的包)
命令:rpm -ivh **.rpm
3)yum安装:yum也是一个软件包管理工具,通过yum仓库(可存放.rpm文件,支持远程仓库和本地仓库)可以自动处理安装依赖包问题,前提是需要能够联网。
命令:yum install **
14.swap占用分析
for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -r | head -20
查看pid进程:ps -aux | grep pid