如何进入管理员模式root:
- 进入root状态
sudo su
方法一:su 回车 输入密码
方法二:命令前直接加上sudo, 如sudo ls
一、常用命令
1.1进程:
1.1.1 查看进程
-
查看所有进程
netstat -ntlp // -
查看某个进程
netstat -anp | grep 10001 -
查看端口被哪个进程占用
方法一:sudo lsof -i:端口号
方法二:netstat -tunlp|grep 端口号
1.1.2 杀死进程:
kill 9578 //9578是上面查询出来的端口
1.2查看日志
注意CTRL c可以退出tail命令
tail -f consoleMsg.log | grep --line-buffered findUserList 实时跟踪日志:
tail -f -n 500 consoleMsg.log 打印最后500行日志,并且持续跟踪日志。
tail -f -n 2000 consoleMsg.log | more 分页查看最后2000行日志。
查看nohub.out日志文件
1.前台实时查看nohub.out文件内容:
tail -f nohup.out
2.根据关键字查看
tail -f nohup.out |grep “关键字”
3.输出文件最后100行
tail -n 100 nohup.out
4.输出文件最后100行,含关键字
tail -n 100 nohup.out |grep "关键字
1.3 发布部署
nohup java -jar zycx-applet-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
这个命令会把每天的日志打包
#如何修改文件
vi 文件名 // 进入文件
vi +数字 文件名 // 进入文件的第几行开始
i // 进入可编辑状态
esc // 推出编辑模式
shift+冒号键 输入 wq 保存并退出
cat 文件名 // 查看文件内容
#如何开通端口号
1.4 防火墙的命令
要是用管理员权限,进入方式看上面
查看防火墙状态:sudo systemctl status firewalld
开启firewall:service firewalld start
停止firewall:systemctl stop firewalld.service
查询端口是否开放:firewall-cmd --query-port=8080/tcp
开放8080端口:firewall-cmd --permanent --add-port=8080/tcp
移除端口:firewall-cmd --permanent --remove-port=8080/tcp
重启防火墙(修改配置后要重启防火墙!!!):firewall-cmd --reload
查看防火墙信息和所有开放的端口 firewall-cmd --list-all
1.5 Linux查找jdk安装路径
先查看是否安装了java,然后which查看java的运行目录,从而反推java的安装路径
二、基本命令
Linux 中没有盘符,所有的文件和目录都在根
2.1目录下面。
2.2命令提示符:
2.3目录切换命令:
2.4 创建目录:
mkdir -p 则可以创建多级目录
2.5 查看
ls 不会显示隐藏目录
ll 会把隐藏目录也显示出来
2.6 压缩解压
2.6.1 压缩
2.6.2 解压
对于bz2文件的解压:
tar -jxf nagios-cn-3.2.3.tar.bz2
2.7 查看进程
2.8 杀死进程
2.9 关机
2.10 重启
2.11 修改文件
vim /文件地址及其文件名
按i进入编辑模式
按ESC然后按shfit+:输入wq表示保存退出;或者wq! 强制退出
2.12 复制和移动文件(夹)
当你没有root权限的时候就可以在home文件夹下自己的账号下创建文件或者文件夹,在复制过去,软件的安装也是如此
2.12.1 复制
cp src-file target-file
cp -r src-directory target-directory
sudo cp zycx-applet.service /etc/systemd/system // 复制文件
-r 表示把文件夹中的文件也复制过去,不加-r则只是复制一个文件而已
2.12.2 移动
把cp改成mv就可以了
2.13 查看时间
date
2.14 创建文件
touch
1.1 创建一个文件
touch test.sh
1.2 同时创建两个文件
touch test1.sh test2.sh
1.3 批量创建文件(如创建10个文件)
三、其他操作
3.1 Linux修改为静态IP地址(修改后不会变)
-
以Root权限进入Linux
-
编辑ifcfg-Profile_1文件
vim /etc/sysconfig/network-scripts/ifcfg-Profile_1
# IP获取的方式
BOOTPROTO=static
# 是否启用网卡
ONBOOT=yes
# 配置的IP地址
IPADDR=192.168.1.10
# 配置子网掩码
NETMASK=255.255.255.0
# 配置网关
GATEWAY=192.168.1.1
# 配置DNS服务器
DNS1=119.29.29.29
- 输入下面代码单独重启网络服务
systemctl restart network.service
如果需要重启Linux输入:reboot
- 测试
输入以下任意命令测试刚才的配置
ip address
ip add
ifconfig
输入命令后可以看到我们刚才配置的IP地址
IP的配置没有问题,我们再来测试一下与外网的连接,输入
ping www.mokerson.com
3.2 linux上搭建maven私服
https://blog.csdn.net/LC_Liangchao/article/details/121810097
3.3 linux上的jdk,mysql,redis,rabbitmq,kafka,es的环境安装
https://blog.csdn.net/LC_Liangchao/article/details/121974461
3.4 SpringBoot项目部署打包成jar到Linux服务器并发布
https://blog.csdn.net/LC_Liangchao/article/details/121794247
3.5 修改只读文件的方式
sudo vi 文件路径命名打开要修改的文件
输入密码
按下i进入编辑模式,进行修改文件,然后Esc退出编辑模式
最后:wq强制保存并退出
3.6 解决linux/ubuntu上时间慢了8小时的问题
3.7 journalctl 查看服务日志
查看自己的项目日志,相当于把idea的控制台打印出来
sudo journalctl -f -u EAM_PC_Service.service
3.8 查看某个时间段的操作日志
journalctl --since “2022-6-20 16:00:00” | grep nginx
3.9 关于nginx的命令
# 重启
nginx -s reload
# 启动
cd /usr/local/nginx/sbin/
./nginx
start nginx
# 停止
./nginx -s stop
# 安全退出,优雅退出
./nginx -s quit
# 重新加载配置文件
./nginx -s reload
# 查看配置文件是否错误
./nginx -t
# 查看nginx进程
ps aux|grep nginx
# 开启防火墙
service firewalld start
# 关闭防火墙
service firewalld stop
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
3.10 服务器的性能查看(cpu,磁盘空间,内存)
敲top命令会查看一下这些数据出来
us:user time,表示 CPU 执行用户进程的时间,包括 nice 时间。通常都是希望用户空间CPU越高越好。
sy:system time,表示 CPU 在内核运行的时间,包括 IRQ 和 softirq。系统 CPU 占用越高,表明系统某部分存在瓶颈。通常这个值越低越好。
ni:nice time,具有优先级的用户进程执行时占用的 CPU 利用率百分比。
id:idle time,表示系统处于空闲期,等待进程运行。
wa:waiting time,表示 CPU 在等待 IO 操作完成所花费的时间。系统不应该花费大量的时间来等待 IO 操作,否则就说明 IO 存在瓶颈。
hi:hard IRQ time,表示系统处理硬中断所花费的时间。
si:soft IRQ time,表示系统处理软中断所花费的时间。
st:steal time,被强制等待(involuntary wait)虚拟 CPU 的时间,此时 Hypervisor 在为另一个虚拟处理器服务。
top命令中的%CPU字段表示:在一个固定的间隔时间内,某个进程使用的CPU时间占总CPU时间(即这段间隔时间)的比值。[在Window操作系统下的资源管理器中的CPU字段含义也是如此;
间隔时间内进程使用的CPU时间=结束处使用的CPU时间-开始处使用的CPU时间
%CPU=间隔时间内进程使用的CPU时间*100/CPU总时间(即间隔时间长度)
3.11 linux下让mysql不区分大小写
mysql数据库一般表名都是不区分大写小的,但这个不区分大小写只在windows系统中有效,在linux系统中是区分大小写的;
所以可能会遇到上以下几种情况:
①、linux生产环境的时候报错,告诉你表不存在 – 因为区分大小写
②、在windows环境上把一张表的名字改换大小写,告诉你表已存在 — 因为不区分大小写
我们是想要mysql不区分大小写的;
要想让mysql不区分大小写,需要配置mysql配置文件:
- 修改mysql的配置文件my.cnf,在[mysqld]加入一行: lower_case_table_names=1
- 修改完成后重启mysql服务
3.12 服务器上的mysql如何读取sql文件
- 输入命令mysql -u root -p-A,再输入密码,
-A是进入一种模式,防止表过大没法访问数据库 - 创建数据库,命令为create database 数据库名(注意:在执行数据库语句后面记得加;结尾)
- show databases;
- 导入数据库脚本
将项目的sql文件复制到系统的目录下
- 切换到需要的数据库 use 数据库名;
- 执行sql (source后面别忘记空格)
source zycx.sql;