基础linux命令

基础篇
sudo -i :启用root模式
pwd:查看当前目录路径
whereis xxx:查看该目录路径
rm -rf xxx:递归删除该文件或文件夹下的子文件并不作任何提示
mkdir java1 java2 java3mkdir src/{java1,java2,java3}:创建多个文件夹
mkdir -p /a/b/c:-p不存在则新建该文件夹

netstat -anp |grep 8080:找到端口对应的进程的pid
kill -9 PID:关闭进程
ps:补充windows关闭进程,找到主机地址为0.0.0.0的pid
netstat -ano | findstr 8001taskkill -pid xxx -f

docker篇
docker logs -f container:-f 跟踪查看日志
docker search xxx:搜索xxx信息
docker update {container.name} --restart=always/--restart=on-failure:更新容器,当Docker 重启时,容器会自动启动/非正常退出时重启

安装docker-compose

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

只关心某个时间段内的日志,可以使用since参数来过滤日志
docker logs --since 5m my_container:查看过去5分钟的日志
docker logs --since="2025-03-26 00:00:00" 容器id >>file.log 查询的是xxx时间之后的log信息并输出
docker logs --since="2023-04-28T00:00:00" --until "2023-04-28T12:00:00" 容器id >>file.log:还可以配合着–until参数,查询某个时间段内的log信息
只关心日志的最后几行,可以使用tail参数来查看
docker logs --tail 10 my_container:查看最后10行的日志
需要实时查看容器的日志,可以使用follow参数来实现,:
docker logs --follow my_container:实时查看名为my_container的容器的日志
查找log中可能包含的字符串
docker logs 容器id grep -A 10 '处理失败' :打印匹配行的后10行,-B是前10行,-C是前后10行

搭建可视化面板dpanel
docker network create dpanel-local:新建 DPanel 默认网络,用于域名转发功能
docker run -it -d --name dpanel --restart=always -p 8807:8080 --network dpanel-local -v /var/run/docker.sock:/var/run/docker.sock -e APP_NAME=dpanel dpanel/dpanel:latest:运行容器

防火墙篇
systemctl status firewalld:查看防火墙状态
systemctl start firewalld :开启防火墙
systemctl stop firewalld:关闭防火墙
service firewalld start :开启防火墙

若遇到无法开启,先用:systemctl unmask firewalld.service ,然后:systemctl start firewalld.service

netstat -anp:查询已开放的端口
firewall-cmd --query-port=666/tcp:查询指定端口是否已开,提示 yes,表示开启;no表示未开启。

firewall-cmd --add-port=123/tcp --permanent:添加指定需要开放的端口
firewall-cmd --permanent --remove-port=123/tcp:移除指定端口
firewall-cmd --reload:重载入添加的端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="127.0.0.1" port protocol="tcp" port="8080" accept":允许ip127.0.0.1访问8080端口,如需开放网段例如30网段则用192.168.30.0/24
firewall-cmd--reload:重新载入一下防火墙设置,使设置生效
firewall-cmd --zone=public --list-rich-rules:查看已设置规则

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="127.0.0.1" port protocol="tcp" port="8080" reject":限制IP为127.0.0.1的地址禁止访问8080端口即禁止访问机器
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address=" 127.0.0.1" port protocol="tcp" port="8080" accept":删除已设置规则

文件系统篇

计算机中需要持久化存储的数据一般是保存在硬盘等辅助存储器中。硬盘一般容量较大,为了便于管理和使用,可以将硬盘分成一到多个逻辑磁盘,称为分区;为使分区中的文件组织成操作系统能够处理的形式,需要对分区进行格式化(创建文件系统);在linux中,对于格式化后的分区,还必须经过挂载(可简单理解为将分区关联至linux目录树中某个已知目录)之后才能使用。

df -h或lsblk
命令用于显示文件系统的磁盘空间使用情况。它会列出每个已挂载的分区、挂载点、总容量、已用空间、可用空间等信息。该命令可以帮助你快速了解文件系统和磁盘使用情况,以便在需要时释放磁盘空间。

fdisk -l 命令用于列出所有检测到的块设备,例如硬盘驱动器、固态硬盘、USB 闪存驱动器、SD卡等等。它会显示每个块设备的详细分区信息,例如分区类型、起始扇区、结束扇区、分区大小等等。该命令通常用于检查磁盘分区方案,以及为创建新分区提供信息。

这两个命令的主要区别在于它们提供的信息不同。df -h 命令显示已挂载的文件系统的磁盘空间使用情况,而 fdisk -l 命令列出所有检测到的块设备的详细信息,包括它们的分区方案。

ls -l --block-size=K [file_path]:列出下面的文件大小(指定单位)
sudo lsof | grep deleted:磁盘上存在已被删除但仍然被进程占用的文件
sudo du -h /var --max-depth=1 | sort -hr:列出/var目录下的文件夹大小
tar -Pzcvf /backup/xxx.tar.gz /usr/bin/xxx:压缩指定目录的文件到指定目录-P是支持绝对路径

挂载新磁盘
mkfs.xfs /dev/vdb:先格式化
mount /dev/vdb /data:挂载
blkid /dev/vdb:查看该磁盘信息
vi /etc/fstab:配置重启自动挂载
加入UUID=05eeaaab-5f66-45d4-a58e-17001a529624 /data xfs defaults 0 2

最后的0表示不用dump备份工具,建议设置为 0,因为:dump 工具已经过时,现代备份工具(如 rsync、tar、BorgBackup 等)更为常用。如果用于存放数据库数据,通常有专门的备份策略(如逻辑备份、快照等),不需要依赖文件系统级别的备份。2表示文件系统次要检查,对于数据库盘,建议设置为2,以确保文件系统在启动时进行检查

网络篇

改静态IP地址
cd /etc/sysconfig/network-scripts
vi ifcfg-ensxx
修改下面两项
BOOTPROTO=static
ONBOOT=yes

新增下面
IPADDR=192.168.1.8
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

nmcli c reload:重载
ip addr:检查

权限篇
sudo chmod -R 755 /etc/httpd/conf.d,-R递归,4+1+2
echo "需要修改的内容" | sudo tee -a /path/to/file:解决直接sudo不行的问题,将echo命令的输出通过管道传递给sudo命令,从而以超级用户的身份来执行echo命令

创建用户
useradd -U admin -d /home/admin -s /bin/bash:执行以下命令,创建账户 admin
chown -R admin:admin /home/admin:将 /home/admin 目录及其所有子文件和子目录的所有者和所属组都设置为 admin。

passwd admin:设置密码
vim /etc/sudoers:(可选)为账户 admin 设置 sudo 权限。
admin ALL=(ALL) NOPASSWD: ALL:末尾添加该内容
ls -al:查看集群相关文件目录权限
chown -R admin:admin /data :若查看目录权限后,发现 admin 用户无相关文件的权限,可执行如下命令修改文件所属用户

ps记录:宝塔续签https证书脚本
在这里插入图片描述

构建多个镜像脚本

#!/bin/bash
# 定义每个 Dockerfile 的路径和对应的镜像名称
declare -A dockerfiles=(
    ["server/admin/Dockerfile"]="efficacylab/efficacylab-server:latest"
    ["server/monitor/Dockerfile"]="efficacylab/efficacylab-monitor-admin:latest"
    ["server/snailjob/Dockerfile"]="efficacylab/efficacylab-snailjob-server:latest"
)
# 遍历每个 Dockerfile 并构建
for dockerfile in "${!dockerfiles[@]}"
do
    # 获取 Dockerfile 所在目录
    build_dir=$(dirname "$dockerfile")
    
    # 获取对应的镜像名称
    image_name=${dockerfiles[$dockerfile]}
    
    echo "开始构建镜像: $image_name"
    
    # 执行 Docker 构建命令
	docker build -t "$image_name" "$build_dir" | tee build.log
    
    # 如果需要,可以添加更多构建后续操作,比如推送到镜像仓库等
    
    echo "镜像 $image_name 构建完成"
    echo "----------------------------------"
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值