一切皆留「轨迹」

Linux 常用命令

Feb 09,2026
3
0

:CentOS 7.9 yum镜像源不再维护,切换为阿里云

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

:更新yum

yum update -y

#设置阿里云yum源

yum install -y yum-utils device-mapper-persistent-data lvm2

安装JDK:

下载jdk1.8

下载后解压

tar -xvf  jdk-8u171-linux-x64.tar.gz

把目录放到 /usr/local/jdk8 位置

mv jdk1.8.0_171  /usr/local/jdk8

修改profile配置文件

vi /etc/profile

最后面添加一下内容

export JAVA_HOME=/usr/local/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre

  

 保存退出 

执行下面命令使修改生效

source /etc/profile

查看是否生效

java -version

--------------------------------------------------------------------------------

安装TOMCAT:

1、查看Tomcat的所有进程

ps -ef|grep tomcat

2、查看tomcat进程是否启动

ps aux | grep tomcat

杀死进程:

killl -9 [pid]

前端运行:

./catalina.sh run

后台运行:

CTRL+Z

停止运行:

CTRL+C

看内存:

cat /proc/meminfo

--------------------------------------------------------------------------------

New linux

:JDK安装

1、上传和解压

tar -zxvf java_8u131_linux_x64.tar.gz

2、添加环境变量

vi /etc/profile

在文档的最后面添加如下内容,记住不要带空格

export JAVA_HOME=/usr/local/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

3、让配置生效

source /etc/profile

4、验证

java -version

显示版本即为成功

--------------------------------------------------------------------------------

:MySQL安装

1、检查系统是否安装过mysql(确认没有可跳过)

//检查系统中有无安装过mysql

rpm -qa|grep mysql

//查询所有mysql 对应的文件夹,全部删除

whereis mysql
find / -name mysql

2、卸载CentOS7系统自带mariadb (确认没有可跳过)

# 查看系统自带的Mariadb

rpm -qa|grep mariadb

mariadb-libs-5.5.44-2.el7.centos.x86_64

# 卸载系统自带的Mariadb

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

# 删除etc目录下的my.cnf ,一定要删掉,等下再重新建,之前我将就用这个文件,后面改配置各种不生效

rm /etc/my.cnf

3、检查有无安装过mysql 用户组,没有的话创建

//检查mysql 用户组是否存在

cat /etc/group | grep mysql

cat /etc/passwd |grep mysql

// 创建mysql 用户组和用户

groupadd mysql

useradd -r -g mysql mysql

4、下载安装,从官网安装下载(可自行下载tar.gz包然后上传,或者用下面方式)

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

5、解压安装mysql

tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

顺便改一下名字

mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql

6、更改mysql 目录下所有文件夹所属的用户组和用户,以及权限

chown -R mysql:mysql /usr/local/mysql

chmod -R 755 /usr/local/mysql

7、进入mysql/bin/目录,编译安装并初始化mysql,务必记住数据库管理员临时密码

cd /usr/local/mysql/bin

#务必记住数据库管理员临时密码 务必记住数据库管理员临时密码 务必记住数据库管理员临时密码

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

8、编写配置文件 my.cnf ,并添加配置

vi /etc/my.cnf

在插入模式下编写,完成后保存,当然这个可以自己添加

[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
lower_case_table_names=1
innodb_file_per_table=1

#表名大小写不明感,敏感为lower_case_table_names=1

9、启动mysql 服务器

#启动服务

/usr/local/mysql/support-files/mysql.server start

#查询服务

ps -ef|grep mysql

ps -ef|grep mysqld

#结束进程

kill -9 PID

10、添加软连接,并重启mysql 服务

//添加软连接

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

//重启mysql服务

service mysql restart

11、登录mysql ,密码就是初始化时生成的临时密码

mysql -u root -p

12、修改密码(因为生成的初始化密码难记)注意:分号结尾

set password for root@localhost = password('123456');

开放权限后修改密码:

set password for 'root'@'%'=password('yuanjianDONG89.');

13、开放远程连接

use mysql;

update user set user.Host='%' where user.User='root';

flush privileges;

14、设置开机自启

//将服务文件拷贝到init.d下,并重命名为mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

//赋予可执行权限

chmod +x /etc/init.d/mysqld

//添加服务

chkconfig --add mysqld

//显示服务列表

chkconfig --list

15、关闭防火墙

systemctl stop firewalld

#禁用防火墙

systemctl disable firewalld

--------------------------------------------------------------------------------

MySQL 8 安装

在 /usr/local下 创建mysql文件夹

cd /usr/local/
mkdir mysql

切换到mysql文件夹下

cd mysql

下载mysql,也可以直接在官方下载最新版本 https://dev.mysql.com/downloads/mysql/ 选择linux

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

#若command not found 需要安装wget 再执行上边代码

yum install -y wget

解压mysql

tar -vxf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

重命名文件夹

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

进入文件夹,并创建data文件夹 存储文件

cd mysql-8.0
mkdir data

创建用户组以及用户

groupadd mysql 
useradd -g mysql mysql

授权用户

 chown -R mysql.mysql /usr/local/mysql/mysql-8.0

编辑my.cnf文件

vi /etc/my.cnf

按I进入编辑模式

修改[mysqld]的内容如下:

(初级设置内容)

[mysqld]
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/mysql-8.0/data
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names=1
max_connections=400

(可选设置内容)

[mysqld]
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/mysql-8.0/data
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names=1
max_connections=400
innodb_buffer_pool_size = 1024M
tmp_table_size = 256M
max_heap_table_size = 256M
wait_timeout = 60
interactive_timeout = 60
default_storage_engine = InnoDB
thread_cache_size = 50

按esc退出编辑,输入:wq!保存并退出

进入bin目录并进行初始化,记住root@localhost:后生成的密码

cd bin
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize

添加mysqld服务到系统

cd ../
cp -a ./support-files/mysql.server /etc/init.d/mysql

授权以及添加服务

chmod +x /etc/init.d/mysql

chkconfig --add mysql

启动mysql

service mysql start

查看启动状态

service mysql status

将mysql命令添加到服务

ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin

登录mysql,输入第9步的初始化密码

mysql -uroot -p

修改root密码,

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 

使密码生效

flush privileges;

修改远程连接并生效

use mysql;
update user set host='%' where user='root';
flush privileges;
exit;

配置防火墙开放3306端口,防火墙被停了或者关掉了也就不用配置了

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
systemctl restart firewalld.service

--------------------------------------------------------------------------------

:mysql添加登录用户

cmd命令使用root账户登录

mysql -uroot -p

创建用户

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

说明:

username:你将创建的用户名

host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

示例:

CREATE USER 'guest'@'%' IDENTIFIED BY '123456';

3.配置权限

GRANT all ON . TO 'guest'@'%'

说明:

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

databasename:数据库名

tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

示例:

GRANT privileges ON databasename.tablename TO 'username'@'host'

4.刷新权限(使配置生效)

flush privileges;

mysql8远程访问:

mysql -uroot -p

use mysql;

select user,host,plugin from user;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL ON . TO 'username'@'%';

flush privileges;

--------------------------------------------------------------------------------

:安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2

yum install docker-ce -y

docker -v

#安装加速镜像

mkdir -p /etc/docker

vi /etc/docker/deamon.json

#添加保存内容

{

"registry-mirrors": ["https://v2ltjwbg.mirror.aliyuncs.com"]

}

#重启docker

systemctl daemon-reload

systemctl restart docker

#docker安装RabbitMQ 并设置初始账号密码

docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management

#查看docker images

docker images

#通过images id启动rabbitmq

docker start ba566c9ec4a3

#访问登陆测试

http://192.168.137.201:15672

--------------------------------------------------------------------------------

#给权限

chmod u+x [文件]

#看硬盘空间

df -hl

df -hl:查看磁盘剩余空间

df -h:查看每个根路径的分区大小

du -sh [目录名]:返回该目录的大小

du -sm [文件夹]:返回该文件夹总M数

du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)

--------------------------------------------------------------------------------

云服务器挂载磁盘\新磁盘挂载到linux并使用

首先购买或租赁扩容云硬盘\连接新硬盘

#查看挂载位置

lsblk

根据容量判断挂载位置,比如vdb

#分区

fdisk /dev/vdb #启动分区工具

d #删除所有分区

n #新建分区

p #选择primary分区模式

1 #输入1或者直接回车,默认第一个分区

[直接回车] #第一个分区默认2048大小

[直接回车] #如果要分多个分区请填写容量,直接回车则剩余容量分为一个区显示

Created a new partition 1 of type 'Linux' and of size 88 GiB.

p #查看分区情况,一般显示多一个vdb1

w #保存并退出

#查看分区状态

lsblk

#格式化文件系统

mkfs.ext4 /dev/vdb1

blkid #查看是否成功

#将盘符挂载

mkdir /data #新建挂载位置目录

mount /dev/vdb1 /data #将盘符挂载到/data上

#查看挂载情况

lsblk #查看挂载情况

#设置自动挂载

echo "/dev/vdb1 /data ext4 defaults 0 0" >> /etc/fstab #设置开机自动挂载

mount -a #检测开机挂载文件编写是否正确

df -TH #查看磁盘使用率

:设置共享

#安装Samba

yum install -y samba

#编辑配置文件

vi /etc/samba/smb.conf

#按i进入编辑模式在末尾插入以下内容,描述链接:

https://www.cnblogs.com/python-wen/p/10316658.html

https://blog.csdn.net/weixin_40806910/article/details/81917077

#其中path为共享目录 [mys]就是共享文件夹名称

[global]

workgroup = WORKGROUP

security = user

use sendfile=yes

read size = 65536

read prediction = yes

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072

write raw = yes

read raw = yes

max xmit=65535

aio read size = 16384

aio write size = 16384

max connections = 0

deadtime = 0

max log size = 500

password server = *

[mys]

comment = mu share

path = /home

public = yes

writable = yes

browseable = yes

#增加系统用户

groupadd [组名] -g 6000

示例:groupadd WORKGROUP -g 6000

useradd [用户名] -u 6000 -g 6000 -s /sbin/nologin -d /dev/null

示例:useradd su -u 6000 -g 6000 -s /sbin/nologin -d /dev/null

#忽略文件夹已存在提示

#赋予用户文件夹权限

chown -R [用户名] [文件夹名]

示例:chown -R su /home

#将上面用户增加到Samba用户

smbpasswd -a [用户名]

#输入两次密码

#启动服务

systemctl start smb

systemctl restart smb

#关闭selinux,否则可能无访问权限

setenforce 0

#永久关闭selinux

vi /etc/selinux/config

修改 SELINUX=enforcin 为SELINUX=disable

#设置Samba 开机启动

chkconfig smb on

其他命令:

service smb status 查看

service smb start  启动

service smb stop  停止

service smb restart  重启

service smb reload  重新载入

--------------------------------------------------------------------------------

配置防火墙规则:

1.添加端口

firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

2.重新载入

firewall-cmd --reload

3.重启防火墙:

systemctl restart firewalld.service

为samba开放特定端口

firewall-cmd --zone=public --add-port=139/tcp --permanent

firewall-cmd --zone=public --add-port=445/tcp --permanent

firewall-cmd --zone=public --add-port=137/udp --permanent

firewall-cmd --zone=public --add-port=138/udp --permanent

firewall-cmd --reload

systemctl restart firewalld.service

注:samba开发tcp/139,445端口,udp/137,138端口。

特别是445端口不能有问题

--------------------------------------------------------------------------------

:挂载exFAT磁盘

yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

yum install exfat-utils fuse-exfat

mount -t exfat /dev/[磁盘号] /[挂载位置]

:挂载NTFS磁盘

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum install ntfs-3g

mount.ntfs-3g /dev/[磁盘号] /[挂载位置]

linux 下调整tomcat的内存设置

修改bin目录下catalina.sh文件

vi bin/catalina.sh

在cygwin=false之上:

添加以下语句:

JAVA_OPTS="-Xms1400m -Xmx1400m -Xss512K -XX:PermSize=128m -XX:MaxPermSize=512m"

其中-xms为jvm初始化堆的大小,-xmx为jvm堆的最大值,一般为内存的80%,差值越大内存回收机制处理就会越慢,差值越小就会越频繁消耗性能。一般设为一样大会好一些。

另一优化例子:

export JAVA_OPTS="-server -Xms1400M -Xmx1400M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true "

--------------------------------------------------------------------------------

各个查询命令

netstat -tunlp | grep 端口号

uname -a # 查看内核/操作系统/CPU信息的linux系统信息

head -n l /etc/issue # 查看操作系统版本

cat /proc/cpuinfo # 查看CPU信息

hostname # 查看计算机名的linux系统信息命令

lspci -tv # 列出所有PCI设备

lsusb -tv # 列出所有USB设备的linux系统信息命令

lsmod # 列出加载的内核模块

env # 查看环境变量资源

free -m # 查看内存使用量和交换区使用量

df -h # 查看各分区使用情况

du -sh # 查看指定目录的大小

grep MemTotal /proc/meminfo # 查看内存总量

grep MemFree /proc/meminfo # 查看空闲内存量

uptime # 查看系统运行时间、用户数、负载

cat /proc/loadavg # 查看系统负载磁盘和分区

mount | column -t # 查看挂接的分区状态

fdisk -l # 查看所有分区

swapon -s # 查看所有交换分区

hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

dmesg | grep IDE # 查看启动时IDE设备检测状况网络

ifconfig # 查看所有网络接口的属性

iptables -L # 查看防火墙设置

route -n # 查看路由表

netstat -lntp # 查看所有监听端口

netstat -antp # 查看所有已经建立的连接

netstat -s # 查看网络统计信息进程

ps -ef # 查看所有进程

top # 实时显示进程状态用户

w # 查看活动用户

id # 查看指定用户信息

last # 查看用户登录日志

cut -d: -f1 /etc/passwd # 查看系统所有用户

cut -d: -f1 /etc/group # 查看系统所有组

crontab -l # 查看当前用户的计划任务服务

chkconfig –list # 列出所有系统服务

chkconfig –list | grep on # 列出所有启动的系统服务程序

rpm -qa # 查看所有安装的软件包

cat /proc/cpuinfo :查看CPU相关参数的linux系统命令

cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令

cat /proc/meminfo :查看linux系统内存信息的linux系统命令

cat /proc/version :查看版本,类似uname -r

cat /proc/ioports :查看设备io端口

cat /proc/interrupts :查看中断

cat /proc/pci :查看pci设备的信息

cat /proc/swaps :查看所有swap分区的信息

--------------------------------------------------------------------------------

安装FRP or :

1、上传包到想要安装的位置

2、cd 到指定目录

3、tar -vzxf xxx.tar.gz 解压

4、mv xxx xxx 重命名文件夹

5、cd xxx 进入目录

6、使用VI命令按I键编辑INI文件,参考:

#FRPS.INI#

[common]

# 监听端口

bind_port = 7000

# 面板端口

dashboard_port = 7500

# 登录面板账号设置

dashboard_user = admin

dashboard_pwd = admin

# 设置http及https协议下代理端口(非重要)

vhost_http_port = 7080

vhost_https_port = 7081

# 身份验证

token = 88888888

#FRPC.INI#

[common]

# server_addr为FRPS服务器IP地址

server_addr = www.baidu.com

# server_port为服务端监听端口,bind_port

server_port = 7000

# 身份验证

token = 88888888

[work_PC_connect]

type = tcp

local_ip = 127.0.0.1

local_port = 3389

remote_port = 7101

7、ESC键 输入:wq!保存退出 

8、(使用systemctl管理)vim /etc/systemd/system/frps.service

9、按I进入编辑模式输入以下内容:

[frps]# 服务名称,可自定义

Description = frps service

After = network.target syslog.target

Wants = network.target

[Service]

Type = simple

# 启动frps的命令,需修改为您的frps的安装路径

ExecStart =/usr/local/frp/frps -c /usr/local/frp/frps.ini

[Install]

WantedBy = multi-user.target

10、按ESC退出编辑,输入:wq!保存退出

11、使用systemctl start frps启动,若报错请检查vim /etc/systemd/system/frps.service配置内容

12、开机自启动systemctl enable frps

(FRPC基本一样,使用server_addr+dashboard_port查看frp连接状态,使用dashboard_user/dashboard_pwd 账号密码进行登录,示例:www.baidu.com:7500,账号/密码:admin/admin)

--------------------------------------------------------------------------------