文章目录
一、linux文件目录
一级目录
目录名 | 作用 |
---|---|
/bin/ | 存放系统命令,普通用户和root都可以执行。放在/bin下的命令在单用户模式下也可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序等 |
/dev/ | 设置文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装(RPM安装)的服务配置文件全部在此目录,如用户信息、服务的启动脚本、常用服务的配置文件。 |
/home/ | 普通用户的主目录(也称家目录)。创建用户,每个用户都要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录在/home下建立一个与用户名相同的目录。 |
/lib/ | 系统调用的函数库保存位置 |
/media/ | 挂载目录,系统建议用来挂载媒体设备,如软盘和光盘 |
/mnt/ | 挂载目录,早期linux只有这一个挂载目录,并没有细分。建议这个目录用来挂载额外的设备,如U盘、移动硬盘和其他操作系统的分区 |
/misc/ | 挂载系统。建议用来挂载NFS服务的共享目录。但是linux提供三个挂载目录,具体方式还是管理员确认 |
/opt/ | 第三方安装软件的位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录。 |
/root/ | root的主目录,普通用户主目录在/home/下,root目录直接在/下 |
/sbin/ | 保存与系统环境设置相关的命令,只有root可以使用这些命令进行系统环境设置。但是也有些命令可以允许普通用户查看 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议在此目录不饿能保存重要的数据,最好每次开机都将该目录清空 |
/lost+found/ | 系统意外崩溃或意外关机,产生的文件碎片。在启动的时候,fsck工具会检查这里,并修复已经损坏的文件系统 |
/proc/ | 虚拟问及那系统。该目录中的数据并不会保存在硬盘上,而是保存在内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。 |
/sys/ | 虚拟文件系统。和/proc/目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息。 |
/usr/ | 用于存储系统软件资源。FHS建议所有开发者,把软件产品的数据合理的防止在/usr目录的各子目录中,而不是为他们的产品创建单独的目录 |
/var/ | 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等 |
二级目录
/proc/ | 作用 |
---|---|
/devices | 保存设备驱动列表 |
/filesstems | 保存文件系统的列表 |
/net | 保存网络协议信息 |
/cpuinfo | 保存CPU信息 |
/usr/ | 作用 |
---|---|
/bin/ | 存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行 |
/sbin/ | 存放根文件系统不必要的系统管理命令,如多数服务程序,只有root可以使用 |
/lib/ | 应用程序调用的函数库的保存位置 |
/xllR6/ | 图形界面系统保存位置 |
/local/ | 手工安装的软件保存位置。源码包安装在这个位置 |
/share/ | 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录 |
/src/ | 源码包保存位置。手工下载的源码包和内核源码包都可以保存在这里 |
/include/ | C/C++ 等编程语言头文件的防止目录 |
/var/ | 作用 |
---|---|
/lib/ | 程序运行中需要调用或改变的数据保存位置。如MYSQL的数据库保存在/var/lib/mysql中 |
/log/ | 登录文件放置的目录,其中所包含的比较重要的文件如/var/log/message,/var/log/wtmp等 |
/run/ | 一些服务和程序运行后,他们PID保存位置 |
/spool/ | 临时存放,随时会被调用的数据。例如/var/spool/mail存放新收到的邮件 |
/nis/和/yp/ | NIS服务机制所使用的目录。NIS主要记录所有网络中每一个client连接信息;YP是Linux的NIS服务日志文件存放的目录 |
/www/ | RPM包安装Apache的网页主目录 |
/tmp/ | 一些应用程序安装或执行,需要在重启后使用某些文件,此目录能将该类文件暂存,完成后再删除 |
二、Linux系统体系查看,应用版本选择
以FRP为例
1.frp版本选择
当安装的frp系统结构与服务器环境系统架构不匹配的时候,就会报无法执行二进制文件的错误。这时需要下载对应系统架构的frp版本安装,通过【二、Linux体系结构查看】
# 1.1 初次在不知情情况下,下载了arm安装包
frp_0.42.0_linux_arm64.tar.gz
# 1.2 因为安装包与linux系统体系不符合,所以导致报错无法执行二进制文件
[root@zxy_master frp]# ./frps
frps: frps: cannot execute binary file
# 2.1 再次根据查找资料,找到与linux系统匹配的安装包
frp_0.42.0_linux_amd64.tar.gz
# 2.2 执行测试成功
[root@zxy_master frp]# ./frps
2022/05/22 23:00:53 [I] [root.go:202] frps uses command line arguments for config
2022/05/22 23:00:53 [I] [service.go:194] frps tcp listen on 0.0.0.0:7000
2022/05/22 23:00:53 [I] [root.go:209] frps started successfully
frp | Linux |
---|---|
386 | x86架构 |
amd64 | 64位x86架构 |
arm | arm架构 |
arm64 | 64位arm架构 |
mips | mips架构 |
mips64 | 64位mips架构 |
mipsle | mipsle架构 |
mips64le | 64位miplse架构 |
2.Linux系统体系结构查看
根据计算的体系结构从指令集的复杂度上可以分为两类,一是复杂指令集CISC,主要是X86架构。另一类是精简指令集RISC,这个主要有ARM、MIPS、PowerPC等,而判断你Linux系统的体系结构主要有以下方法:
2.1. arch
直观的返回系统体系结构
[root@zxy_master ~]# arch
x86_64
2.2.uname
直观的返回系统体系结构
[root@zxy_master software]# uname -m
x86_64
2.3.file
file命令查看一个本地可执行文件,就可以返回一串信息中包含系统体系结构
[root@zxy_master frp]# file frpc
frpc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped
3.Linux系统位数
3.1. getconf
[root@zxy_master software]# getconf LONG_BIT
64
3.2. file
x86-64
[root@zxy_master software]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c8ada1f7095f6b2bb7ddc848e088c2d615c3743e, stripped
4.查看Linux内核版本
4.1./proc/version
Linux version 3.10.0-1160.45.1.el7.x86_64
[root@zxy_master /]# cat /proc/version
Linux version 3.10.0-1160.45.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Wed Oct 13 17:20:51 UTC 2021
4.2.uname
3.10.0-1160.45.1.el7.x86_64
## uname -a
[root@zxy_master /]# uname -a
Linux zxy_master 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
## uname -r
[root@zxy_master /]# uname -r
3.10.0-1160.45.1.el7.x86_64
三、nohup后台启动
后台启动Java程序,并将日志输出到同级目录下的logs下的log文件中
server`date +%Y-%m-%d`.log就是以当前时间命名
server2022-04-26.log
nohup java -jar jeecg-boot.jar > ./logs/server`date +%Y-%m-%d`.log 2>&1 &
查看进程
java程序可以直接通过jps查看
其余可以通过ps -ef | grep 命令名
查看日志文件
tail -f server2022-04-26.log
监控日志打印,随着程序执行,打印日志
tail -n 10 server2022-04-26.log
打印最后十行的日志