我记不住的常用linux命令

83 阅读3分钟

git上部署脚本增量

# 因为git限制大小,只能上传不完整脚本,大文件需要合并

rsync -av --ignore-existing --progress offline_x86_rocky8.6_20250905/ offline-git/

grep过滤注释

# 过滤不要注释,查看配置文件使用
grep -Ev '^[[:space:]]*([#;]|$)' values.yaml

deb 和 rpm 包获取,包含所有依赖

# 红帽系
dnf download --downloaddir=./ --resolve --alldeps --setopt=install_weak_deps=True wget vim
# debian系
sudo apt update && sudo apt install -y apt-rdepends

touch /tmp/all_deps.txt

PACKAGES="jq iptables vim"

for pkg in $PACKAGES; do apt-rdepends -p $pkg | grep -v "^ " | grep -v "debconf-2.0" >> /tmp/all_deps.txt; done

sort -u /tmp/all_deps.txt > /tmp/unique_deps.txt

mkdir -p /tmp/bao_full

sudo apt-get install --download-only -o Dir::Cache::Archives="/tmp/bao_full"  $(cat /tmp/unique_deps.txt)

挂载磁盘命令

# 列出系统所有磁盘/分区信息,确认要挂载的磁盘(如/dev/vdc)是否存在 
lsblk 

# 将/dev/vdc磁盘格式化为ext4文件系统(挂载前必须先格式化,否则无法识别) 
mkfs.ext4 /dev/vdc 

# 把格式化后的/dev/vdc磁盘,挂载到/data目录(后续可在/data目录读写该磁盘文件) 
mount /dev/vdc /data

# 查看/dev/vdc的UUID(唯一标识,用于fstab自动挂载) 
blkid /dev/vdc

# 开机自动挂载磁盘  vi /etc/fstab 新增一行
UUID=a1b2c3d4-5678-90ef-ghij-klmnopqrstuv /data ext4 defaults 0 2

# 测试fstab配置是否正确
 mount -f -a

java命令

#运行 server.jar 包(堆内存 8G、UTF-8 编码、东八区时区)
java -Xms8g -Xmx8g -Dfile.encoding=UTF-8 -Duser.timezone=GMT+08 -jar server.jar

ssh命令

#1. ssh-keygen:一直回车,生成密钥对(私钥 id_rsa、公钥 id_rsa.pub,默认存~/.ssh/)
ssh-keygen
#2. ssh-copy-id:自动将公钥追加到远程主机的~/.ssh/authorized_keys,无需手动上传
ssh-copy-id  10.0.0.211

NFS搭建配置

# 安装nfs-utils、编辑exports配置文件、启动程序、客户端挂载使用
dnf install nfs-utils

vim /etc/exports
/data/  192.168.0.0/24(rw,no_root_squash,no_all_squash,sync)

systemctl start nfs-server.service
systemctl enable nfs-server.service

mount -t nfs 192.168.0.23:/data /data

PG相关

# 用指定用户连接本地数据库(默认端口5432)
psql -U 用户名 -d 数据库名

# 连接远程数据库(指定主机、端口、用户和数据库)
psql -h 主机名 -p 端口 -U 用户名 -d 数据库名

# 列出所有数据库(psql元命令)
\l

# 切换到指定数据库(psql元命令)
\c 数据库名

# 查看当前连接信息(数据库、用户等,psql元命令)
\conninfo

# 创建新数据库
CREATE DATABASE 数据库名;

# 删除数据库(谨慎操作,不可逆)
DROP DATABASE 数据库名;

# 列出当前数据库的所有表(psql元命令)
\dt

# 查看指定表的结构(字段、类型、约束等,psql元命令)
\d 表名

# 查看表的详细信息(含存储大小、描述等,psql元命令)
\d+ 表名

# 创建表(示例:含id主键和name非空字段)
CREATE TABLE 表名(id INT PRIMARY KEY, name VARCHAR(50) NOT NULL);

# 删除表(谨慎操作,不可逆)
DROP TABLE 表名;

# 向表中插入数据
INSERT INTO 表名(字段1, 字段2) VALUES(值1, 值2);

# 查询表中数据(*表示所有字段,可加WHERE条件过滤)
SELECT * FROM 表名 WHERE 条件;

# 更新表中数据(需加WHERE条件,否则更新所有行)
UPDATE 表名 SET 字段=新值 WHERE 条件;

# 删除表中数据(需加WHERE条件,否则删除所有行)
DELETE FROM 表名 WHERE 条件;

# 查看所有用户/角色(psql元命令)
\du

# 创建用户并设置密码
CREATE USER 用户名 WITH PASSWORD '密码';

# 修改用户密码
ALTER USER 用户名 WITH PASSWORD '新密码';

# 授予用户对表的查询和插入权限
GRANT SELECT, INSERT ON 表名 TO 用户名;

# 撤销用户对表的插入权限
REVOKE INSERT ON 表名 FROM 用户名;

# 备份整个数据库为SQL文件
pg_dump -U 用户名 数据库名 > 备份文件.sql

# 仅备份指定表为SQL文件
pg_dump -U 用户名 -t 表名 数据库名 > 表备份.sql

# 从SQL备份文件恢复数据库
psql -U 用户名 -d 数据库名 < 备份文件.sql

# 开启SQL执行时间统计(psql元命令,再次执行关闭)
\timing

# 查看SQL命令帮助(如查看SELECT语法,psql元命令)
\h SELECT

# 参数说明:将库全量导出为 tar 包。 要导出的目标数据库名diming
pg_dump -U postgres -F t -f /tmp/diming.tar diming

git相关 && mvn打包

# git克隆 master 分支代码
git clone -b "master" http://账号:密码@10.0.0.200:8080/data/open3.6.4.git

# mvn打包命令
清理项目:mvn clean

打包项目:mvn package

跳过测试打包:mvn package -DskipTests

清理并打包:mvn clean package

安装到本地仓库:mvn clean install