Linux 基础

5/4/2021 Linux

第一台服务器:CentOS7.6,Red Hat 系,狗阿里坑我钱财

LInux 基本使用

基本命令

常用

# 显示当前文件路径
pwd
# 查看当前目录所有文件
ls
# 获取root权限
sudo su
# 切换目录
cd
1
2
3
4
5
6
7
8

vim

vim test.log
1

:对vim进行功能选择

  • 开始编辑:i
  • 不保存退出:q!
  • 保存并退出:wq!

文件和文件夹

# 创建文件夹
mkdir
# 创建文件
touch
# 查看文件
cat
tail
less
# 重命名文件:将A改为B
mv A B
1
2
3
4
5
6
7
8
9
10

删库跑路

sudo rm -rf /*
1

解压缩

tar -zxvf -C
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
1
2

服务

# 启动
systemctl start .service
# 重启
systemctl restart .service
# 停止
systemctl stop .service
1
2
3
4
5
6

赋予权限:+rw为赋予读写权限,-w为删除写权限

每个文件的权限由三部分组成

  • owner 属主,缩写u
  • group 属组,缩写g
  • other 其他,缩写o

权限类型有三种

  • r:Read 读
  • w:Write 写
  • x:eXecute 执行
sudo chmod +rw xxx
1

权限的数字表示法:所谓数字表示法,是指将r、w和x分别用4、2、1来代表,没有授予权限的则为0,然后把权限相加,如下:

原始权限 转换为数字 数字表示法
rwxrwxr-x (421)(421)(401) 775
rwxr-xr-x (421)(401)(401) 755

本地连接

用WinSCP和PuTTY连接远程服务器

  • 下载WinSCP和PuTTY,
  • 在WinSCP用服务器外网ip、linux用户名(一般为root)以及登录密码远程连接服务器文件系统
  • 在WinSCP中开启PuTTY,远程连接linux终端

宝塔面板:有后门,蚌

自定义命令和系统服务

Linux设置快捷键:

vim ~/.bashrc
source .bashrc
1
2

通过配置bashrc文件创建自定义linux命令(快捷键)

在新版本的linux中,启动一项服务时,系统会首先找/etc/systemd/system/中的 .service文件,通过该文件连接到/lib/systemd/system

即为

systemctl start docker
1

的一部分执行过程

更多:

内网穿透

使用frp进行内网穿透

FRP 内网穿透反向代理实现 Windows 远程桌面连接 - 合一学院 (unvone.com) (opens new window)

服务端

就是利用frp这个软件对端口进行映射,需要一个具有公网ip的服务器

配置frps.ini文件

[common]
bind_port = 7000
             
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
1
2
3
4
5
6
  • 其中7000是对外开放的端口,需要开启防火墙供人访问
  • dashboardfrp自提供的一个监控平台,观察各种连接信息
    • dashboard_port是网站入口
    • dashboard_user是用户名
    • dashboard_pwd是密码

启动frp

./frps -c frps.ini
1

编辑frps.service方便开机自启

vim /etc/systemd/system/frps.service
1
[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target
[Service]
Type=simple
# frp的路径
ExecStart=/root/frp_0.34.3_linux_amd64/frps -c /root/frp_0.34.3_linux_amd64/frps.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
  • 启动frps:sudo systemctl start frps
  • 打开开机自启动:sudo systemctl enable frps
  • 重启应用:sudo systemctl restart frps
  • 停止应用:sudo systemctl stop frps
  • 查看应用的日志:sudo systemctl status frps

启动并开机自启

systemctl start frps && systemctl enable frps
1

客户端

配置frpc.ini文件

[common]
# 公网ip地址
server_addr = 80.251.215.170
# frps服务端口号
server_port = 7000

[RDP]
type = tcp
# 自身本地ip
local_ip = 192.168.1.5
# 自身要映射的端口号
local_port = 3389
# 要映射到的端口号
remote_port = 7001
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  • 主要frps配置的port:7000frp服务的端口号,这里映射的7001是本地应用服务的端口号,若要访问同样需要开放7001端口

启动frp客户端

.\frpc.exe -c frpc.ini
1

JAVA

JAVA 应用部署

Docker Tomcat

将 war 包 docker cp 进 tomcat 容器的 webapp 目录下,将自动解压运行

java -jar

启动

nohup java -jar xxxx.jar --server.port=8080 >log.txt &
1

关闭

ps -ef|grep java
kill -9 进程号
1
2

JAVA 转 EXE

将可运行的jar包转成自带环境的可运行的exe文件

Exe4j

使用Exe4j打包Jar包为可执行EXE文件

1、准备设置

勾选"JAR in EXE" mode

给应用取个小名,设置输出路径

Excutable type 选择 Console application 或其他

设置应用名称、图标、是否允许一次运行多个程序

点击 Advanced Options - 32bit or 64bit,勾选 Generate 64-bit executable

2、JAR包设置

  • 点击右侧+号添加 JAR 包(勾选 Archive 通过目录打开)

  • 点击右下...选择 Main 函数入口

  • 设置运行环境(JDK)版本

  • 一路下一步即可

中间有一些细节配置,可仔细阅读

3、其他

在准备设置中设置的输出目录找到对应 exe 文件,双击运行即可

注意,该 exe 需要机器自带符合版本要求的 JDK 环境

Inno Setup

使用inno setup打包可执行EXE文件和运行环境为安装包文件

1、准备

用 Exe4j 打包成的 exe 文件需要相应的 JDK 环境才能正常运行,为了解决这一问题,使用 InnoSetup 将 exe 和 jre 打包成一个完整的安装包

将 JDK 中的 jre 文件夹拷出,将 jre 和要打包的 exe 放置在同一文件夹

2、使用

点击右上角 file 选择 new 一个应用,依次填写应用名称、版本、出版者、官网,一直点击下一步直到选择 exe 应用的界面

  • Application main executable file处选择你要打包的 exe 文件
  • 添加环境文件夹,即包含了 jre 和 exe 的文件夹,如第一步选择/user/admin/home/demo/demo.exe,那么第二步则选择/user/admin/home/demo/*,其中 jre 包含在/demo/目录下

无脑下一步,直到设置输出目录以及安装包程序名称。继续下一步,使用默认脚本构建安装包程序,等待即可

3、其他

日常使用的 JDK 的 jre 略大,会造成最终程序较大(>200MB),可在网上寻找精简版的 jre 进行打包,效果一样

Last Updated: 9/18/2024, 4:10:30 PM
妖风过海
刘森