Linux命令
2024-01-12
查看版本信息
系统的版本信息和内核版本信息
|
|
CentOS的版本信息
|
|
|
|
查看mysql版本
|
|
查看docker版本
|
|
查看Nginx版本
|
|
修改宝塔面板端口的问题及解决
https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=123580
linux 安装 golang
参考:https://zhuanlan.zhihu.com/p/399172488
查看端口占用
所有端口占用情况
|
|
某个端口占用情况
|
|
查看防火墙开放窗口
1、查看防火墙状态
|
|
2、如果不是显示active状态,需要打开防火墙
|
|
3、查看所有已开放的临时端口(默认为空)
|
|
4、 查看所有永久开放的端口(默认为空)
|
|
5、 添加临时开放端口(例如:比如我修改ssh远程连接端口是223,则需要开放这个端口)
|
|
6、 添加永久开放的端口(例如:223端口)
|
|
7、关闭临时端口
|
|
8、 关闭永久端口
|
|
9、 配置结束后需要输入重载命令并重启防火墙以生效配置
|
|
卸载MySQL
参考:https://blog.csdn.net/lljddddd/article/details/127846356
创建mysql实例
|
|
可以添加
--restart=always
参数,使docker重启时,自动启动该容器。
GO打包到linux服务器运行
参考:https://www.cnblogs.com/minch/p/17302178.html
获取文件夹大小
在Linux中,可以使用du命令来获取某个文件夹的大小。
如果要查看当前目录下某个文件夹(比如名为folder)的大小,可以运行以下命令:
|
|
其中,-s参数表示只显示总计大小,而不列出每个子目录的详细信息;-h参数则将结果转换成人类可读的格式,以便更容易理解。
如果想要遍历所有子目录并统计整个文件夹及其内部文件的大小,可以省略-s参数:
|
|
进程后台运行
参考:Linux系统下如何保持进程在SSH客户端断开后仍继续运行?
后台运行go语言编译好的可执行文件:
|
|
会得到一个进程 id:
|
|
查看 dmz 相关活动进程:
|
|
这种方式,在重启服务器之后,该后台进程会停止运行,如果想要开机自启动dmz,则需要使用下面的方法。
开机自启动某程序
在Linux系统中,您可以使用系统的启动脚本或服务管理工具来配置在重启后自动运行程序。以下是一种可能的方法:
方式1:使用 Systemd(推荐)
-
创建一个Systemd服务单元文件。使用文本编辑器打开一个新文件:
1
sudo vim /etc/systemd/system/dmz.service
-
将以下内容添加到文件中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
[Unit] Description=DMZ Program After=network.target [Service] ExecStart=/myproject/code/golang/Crawling_Course_Update/dmz/bin/dmz Restart=always RestartSec=3 StandardOutput=append:/myproject/code/golang/Crawling_Course_Update/dmz/files/log.start.log StandardError=append:/myproject/code/golang/Crawling_Course_Update/dmz/files/log.start.log SyslogIdentifier=dmz [Install] WantedBy=default.target
请确保将
ExecStart
的路径设置为您的 dmz 程序的实际路径。解释: 这是一个Systemd服务单元文件中各个部分的配置解释:
-
[Unit] 部分:
- Description: 描述服务的文字说明。在这里,描述为 “DMZ Program”,是对服务的简要描述。
- After: 指定服务启动之后应该在哪些目标(target)之后启动。在这里,服务将在
network.target
启动后启动,表示在网络服务启动后再启动此服务。
-
[Service] 部分:
- ExecStart: 指定服务启动时执行的命令或脚本。在这里,
/myproject/code/golang/Crawling_Course_Update/dmz/bin/dmz
是要执行的程序的路径。 - Restart: 指定服务在发生错误或异常退出后是否应该重新启动。在这里,设置为
always
表示始终重新启动。 - RestartSec: 指定重新启动之间的延迟时间。在这里,设置为
3
秒。 - StandardOutput: 指定标准输出的目标。在这里,设置为
append:/myproject/code/golang/Crawling_Course_Update/dmz/files/log.start.log
表示将标准输出追加到指定的文件。 - StandardError: 指定标准错误的目标。同样,设置为
append:/myproject/code/golang/Crawling_Course_Update/dmz/files/log.start.log
表示将标准错误追加到指定的文件。 - SyslogIdentifier: 指定服务在系统日志中的标识符。在这里,设置为
dmz
。
- ExecStart: 指定服务启动时执行的命令或脚本。在这里,
-
[Install] 部分:
- WantedBy: 指定服务所属的目标。在这里,设置为
default.target
,表示服务是默认目标的一部分。
- WantedBy: 指定服务所属的目标。在这里,设置为
这些配置项定义了服务的各个方面,包括其描述、启动命令、重新启动策略等。这个服务单元文件告诉Systemd如何管理和运行您的
dmz
程序。 -
-
保存并关闭文件。
-
启动并激活服务:
1 2
sudo systemctl start dmz sudo systemctl enable dmz
这将启动服务并设置在系统启动时自动启用。
-
检查服务状态:
1
sudo systemctl status dmz
如果一切正常,您应该看到 dmz 服务正在运行。
方式2:使用启动脚本
在 /etc/rc.local
文件中添加以下行:
|
|
确保在文件的 exit 0
之前添加 &
,以使程序在后台运行。
保存并关闭文件后,确保 /etc/rc.local
具有可执行权限:
|
|
然后,重启系统并检查程序是否在启动时自动运行。
请注意,使用 Systemd 是推荐的方法,因为它提供更强大的服务管理功能。根据您的系统和偏好,选择其中一种方法。
Hugo部署
默认情况下,hugo server
只会开启127.0.0.1:1313
的访问权限,也就是仅本地可以访问,别的主机地址无法访问,需要将1313端口绑定到0.0.0.0
上,任何IP都可以访问。命令如下:
|
|
完整版:
|
|
参考:解决本地无法访问vm虚拟机上centos7服务器中已配置好的hugo站点的问题
查询是否安装某个应用
在 Linux 系统上,你可以使用不同的命令来查询是否安装了某个应用。以下是一些常见的方法:
-
使用
which
命令:1
which application_name
将
application_name
替换为你要检查的应用程序的名称。如果应用程序已安装,该命令将显示应用程序的路径。如果应用程序未安装,不会返回任何结果。 -
使用
type
命令:1
type application_name
同样,将
application_name
替换为你要检查的应用程序的名称。如果应用程序已安装,该命令将显示应用程序的类型(通常是可执行文件的路径)。 -
使用
dpkg
(Debian/Ubuntu 系统):1
dpkg -l | grep application_name
替换
application_name
为你要检查的应用程序的名称。该命令将列出所有已安装的软件包,并使用grep
过滤包含特定应用程序名称的行。 -
使用
rpm
(Red Hat/CentOS 系统):1
rpm -qa | grep application_name
同样,替换
application_name
为你要检查的应用程序的名称。该命令将列出所有已安装的 RPM 软件包,并使用grep
过滤包含特定应用程序名称的行。 -
查找可执行文件:
1
find / -name "application_name" -type f
替换
application_name
为你要检查的应用程序的名称。该命令将在文件系统中查找指定名称的可执行文件。请注意,这可能需要一些时间,因为它会搜索整个文件系统。
选择适合你系统和包管理器的方法来检查应用程序是否安装。上述命令可能需要使用管理员权限(sudo
)来执行,特别是在涉及到系统级安装的情况下。
解压缩
解压归档文件:
|
|
-x
: 解压归档文件。-v
: 显示详细信息,输出解压时处理的文件列表。-f
: 指定要解压的归档文件。
解压 gzip 压缩的归档文件:
|
|
-z
: 使用 gzip 压缩。这告诉tar
命令在处理归档文件时使用 gzip 解压缩。压缩后的文件通常以.gz
为扩展名。-x
: 解压缩归档文件。这告诉tar
命令执行解压操作,即从归档文件中提取文件。-v
: 显示详细信息。这个选项会在终端上显示tar
命令正在处理的文件列表。这对于查看解压进度和归档文件内容很有用。-f
: 指定归档文件的名称。后面紧跟着要解压的归档文件的名称。
添加到环境变量
|
|
开启防火墙端口
在Linux系统中,防火墙通常使用iptables或者更现代的firewalld进行配置。以下是两者的使用方法:
使用iptables:
1. 开启端口:
|
|
将 <端口号>
替换为您要开启的端口号。
开启端口是临时的,系统重启后将失效。若要使规则永久有效,您需要使用下面的命令保存规则。
2. 保存规则:
|
|
3. 重启防火墙:
|
|
使用firewalld:
1. 开启端口:
|
|
将 <端口号>
替换为您要开启的端口号。
通过
--permanent
选项将规则永久保存。
2. 重新加载防火墙规则:
|
|
注意事项:
- 请确保在开启端口之前了解该端口的用途,并确保只开启必要的端口。
- 在使用iptables时,确保iptables服务已安装并正在运行。
- 在使用firewalld时,确保firewalld服务已安装并正在运行。
如果您使用的是特定的Linux发行版,还可能会有一些发行版特有的工具或配置文件用于管理防火墙。例如,在Ubuntu上,您可能会使用ufw
工具。在CentOS 7及更新版本上,通常会使用firewalld。
请根据您使用的Linux发行版和版本选择适当的命令。如果您不确定,请提供您使用的Linux发行版和版本,我可以为您提供更具体的指导。
systemd将程序日志保存成文件
1.service文件中增加参数配置
|
|
参数说明:StandardOutput:required,设置进程的标准输出(STDOUT)。 可设为 inherit, null, tty, journal, syslog, kmsg, journal+console, syslog+console, kmsg+console, file:path, append:path, socket, fd:name 之一。 StandardError:设置进程的标准错误(STDERR)。 取值范围及含义与 StandardOutput= 相同。但有如下例外: (1) inherit 表示使用 StandardOutput= 的值。 (2) fd:name 的默认文件描述符名称为 “stderr” SyslogIdentifier:required,设置日志标识符(发送日志消息时加在行首的字符串)(“syslog tag”)。 默认值是进程的名称。此选项仅在 StandardOutput= 或 StandardError= 的值包含 journal(+console), syslog(+console), kmsg(+console) 之一时才有意义, 并且仅适用于输出到标准输出或标准错误的日志消息。
2.新增配置文件
进入/etc/rsyslog.d/目录, 新增配置文件
|
|
修改MyTest.conf文件内容
|
|
新增内容如下:
|
|
LogTest与service文件名对应, “/var/log/LogTest.log"根据需要自行定义。
3.重新加载配置文件
|
|
重启rsyslog
|
|
4.启动自己的服务
|
|
5.查看日志
|
|
参考:linux进阶56——systemd实现程序日志保存成文件
解决云服务器ping不通
在入站规则中添加ICMP协议,用来放通Ping服务。