Linux常用命令及配置
2026/7/13 14:12:06 网站建设 项目流程

1 创建删除用户

创建用户

# 添加用户 sudo useradd -d /home/用户名 用户名 # 设置密码 sudo passwd 用户名

删除用户

# 1、userdel 命令:(这条命令会删除指定的用户账号,并从系统中移除该用户的主目录) userdel username # 2、udo 和 rm 命令:(这条命令会先删除用户主目录下的文件,然后使用 userdel -r 删除用户账号。多种方法的原因在于不同的Linux发行版可能会有不同的默认配置,因此选择哪种方法删除用户可能会有所变化。但无论哪种方法,务必小心操作,以免误删除重要文件或有后续的影响。) sudo rm -r /home/username sudo userdel -r username


2 修改用户登录密码

1.1 root登录,运行passwd 命令,可以设置或修改任何用户的密码

# 修改密码 passwd 用户名

1.2 root登录,修改任何普通用户的密码

echo "用户名:新密码" | sudo chpasswd

3 Linux修改系统时间

3.1 手动同步

3.1.1 使用date命令修改系统时间

date -s "2024-08-24 12:00:00"

3.1.2 使用hwclock命令修改硬件时钟(防止系统重启后修改的时间失效)

hwclock --set --date "2024-08-24 12:00:00"

3.1.3 将硬件时钟同步到系统时间

hwclock --hctosys


3.2 根据时间服务器同步(临时手动同步)


3.2.1 安装ntpdate指令

#yum安装 yum install ntpdate
#apt-get安装 apt-get install ntpdate

3.2.2 同步时间

使用ntpdate(临时同步,需要网络)

#临时手动同步时间 ntpdate ntp.aliyun.com


3.3 修改时区

3.1、查看当前时区

[root@localhost ~]# ll /etc/localtime lrwxrwxrwx. 1 root root 35 8月 16 16:19 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

3.2、修改时区

#方式一:直接修改/etc/localtime文件‌链接的时区文件 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#方式二:使用timedatectl命令‌ timedatectl set-timezone Asia/Shanghai


4 检查java进程

ps -ef |grep java

5 检查nginx进程

ps aux |grep nginx

6 查看/杀进程

6.1 查看全部进程PID

以下任一个命令都可以:
(1)$ ps -A
(2)$ ps -ef
(3)$ ps -aux
找到要杀掉进程的PID,比如是1323,然后用下面的命令杀掉:
$ kill -s 9 1323
如果杀不掉,提示没有权限,那么用:
$ sudo kill -s 9 1827

6.2 精确查找进程PID方法

上面的三种查找进程PID命令把所有进程都列出来了,眼花缭乱,下面的命令可以查找精确进程的PID,比如查找进程java:
(1)$ ps -ef | grep java
(2)$ pgrep java
……
然后kill命令杀掉相应进程:$ kill -s 9 1323

6.3 快速杀掉进程方法

下面两种方法只要给出进程名即可杀掉,而且使用pkill和killall都不要加 -s,信号等级9(9即强制、尽快终止进程)直接跟在 “-“ 后面:
(1)$ pkill -9 java
(2)$ killall -9 java

6.4 根据进程名查找pid杀java进程

ps -ef |grep ${server_name} |grep java |awk '{print $2}'

7 实时监控文件最后100行‌

tail -100f 文件名


8 静态查看最后100行‌

tail -n 100 文件名 # 或简写为 tail -100 文件名

9 压缩文件

根据不同的需求,选择合适的压缩命令
* 创建 .tar 文件:tar -cvf archive.tar directory/
* 创建 .tar.gz 或 .tgz 文件:tar -czvf archive.tar.gz directory/
* 创建 .tar.bz2 文件:tar -cjvf archive.tar.bz2 directory/
* 创建 .tar.xz 文件:tar -cJvf archive.tar.xz directory/
* 压缩文件为 .gz:gzip file
* 压缩文件为 .bz2:bzip2 file
* 压缩文件为 .xz:xz file
* 创建 .zip 文件:zip -r archive.zip directory/
* 创建 .rar 文件:rar a archive.rar directory/(需要安装rar)
* 创建 .7z 文件:7z a archive.7z directory/(需要安装p7zip-full)

打包忽略文件夹

tar -czvf test.tar.gz --exclude=test/folder1 --exclude=test/folder2 --exclude=test/file test/

打包忽略文件改变报错

--warning=no-file-changed 在使用 tar 命令打包时,禁止出现常见的文件未改变的警告
tar命令打包时,若打包文件更新了会导致tar命令报错并终止:tar: ./xxx: file changed as we read it,该命令可以解决这个问题,方便自动化脚本等

tar --warning=no-file-changed -czvf test.tar.gz --exclude=test/folder1 --exclude=test/folder2 --exclude=test/file test/

10 解压文件

根据不同的压缩文件格式,选择合适的解压缩命令
* .tar:tar -xvf file.tar
* .tar.gz 或 .tgz:tar -zxvf file.tar.gz
* .tar.bz2:tar -jxvf file.tar.bz2
* .tar.xz:tar -Jxvf file.tar.xz
* .gz:gzip -d file.gz
* .bz2:bzip2 -d file.bz2
* .xz:xz -d file.xz
* .zip:unzip file.zip
* .rar:rar x file.rar(需要安装rar)
* .7z:7z x file.7z(需要安装p7zip-full)

11 设置开机自启自动联网

配置一下网络自启

第一步:su 进入root用户

命令:su - root

第二步:进入/etc/sysconfig/network-scripts/

命令:cd /etc/sysconfig/network-scripts/

第三步:查看 是否存在 ifcfg-ens33(可能因服务器而异,名称不一样)

命令是:ls

麒麟服务器可能是ifcfg-enp4s0

第四步:命令vim打开ifcfg-ens33

命令:vim ifcfg-ens33

第五步:把 ONBOOT=no修改为ONBOOT=yes

输入i 进入输入模式,把 ONBOOT=no修改为ONBOOT=yes

第六步:退出并保存

12 开放端口

在CentOS 7中,开放端口通常涉及到配置防火墙规则,以确保特定的端口可以被外部访问。CentOS 7默认使用firewalld作为防火墙管理工具,但你也可以使用iptables(尽管firewalld是推荐的现代工具)。

方式一
1、开启防火墙

systemctl start firewalld

2、开放指定端口

# 开放8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent

参数注释:
–zone=public 作用域,公开的
–add-port=1935/tcp 添加端口,格式为:端口/通讯协议
–permanent 永久生效,没有此参数重启后失效

3、重启防火墙

firewall-cmd --reload

4、查看端口号命令
查看当前所有tcp、udp端口:

netstat -ntulp # -t 显示TCP连接 # -u 显示UDP连接 # -l 仅显示监听状态的端口 # -n 以数字形式显示地址和端口号,不尝试解析域名 # -p 进程名 # 或者 lsof -i :端口

查看8080端口使用情况:

netstat -ntulp |grep 8080

lsof -i :8080

方式二
开放端口:8080

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

方式三

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
service iptables restart


13 关闭端口

# 关闭端口 sudo iptables -A INPUT -p tcp --dport 8080 -j REJECT # 重启防火墙 firewall-cmd --reload


查看防火墙开放的端口

sudo iptables -L -n

查看端口占用

netstat -tulnp netstat -tulnp | grep 1234

14 centos7安装jdk

因为默认的CentOS仓库可能不包含较新的JDK版本,特别是如果用户使用的是CentOS 7或更早的版本。所以可能需要添加额外的仓库,比如EPEL或者Oracle的官方仓库,但更常见的是使用AdoptOpenJDK或Amazon Corretto的源。

14.1 卸载旧版本 JDK(可选)

# 查找旧版本 rpm -qa | grep java-1.8 # 卸载(示例) sudo yum remove -y java-1.8.0-openjdk-devel

14.2 安装 Amazon Corretto 17

步骤 1:添加 Amazon Corretto 仓库

# 下载仓库配置 sudo curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo

步骤 2:安装 Corretto 17

sudo yum install -y java-17-amazon-corretto-devel

14.3 验证安装

# 检查 Java 版本 java -version # 输出应包含类似内容: # openjdk version "17.0.11" 2024-04-16 LTS # 或 # openjdk version "17.0.11" 2024-04-16 LTS (Corretto-17.0.11.12.1)

14.4 设置默认 Java 版本(如系统存在多版本)

sudo alternatives --config java # 按提示选择 JDK 17 的编号

14.5 配置环境变量(可选)

编辑全局环境变量文件:

sudo vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk # 路径可能因发行版不同,用 `readlink -f $(which java)` 确认 export PATH=$JAVA_HOME/bin:$PATH

使配置生效:

source /etc/profile.d/java.sh

15 安装maven

方法 1:使用包管理器安装(适合快速部署,但版本可能较旧)

CentOS/RHEL 系统

# 启用 EPEL 仓库(如果尚未启用) sudo yum install -y epel-release # 安装 Maven sudo yum install -y maven # 验证安装 mvn -v

Debian/Ubuntu 系统

sudo apt update sudo apt install -y maven mvn -v

方法 2:手动安装(推荐,可指定版本)

步骤 1:下载 Maven 二进制包

从国内镜像站下载(以清华镜像为例,替换版本号):

# 下载最新版(示例为 3.9.6) wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz # 或从官方下载 # wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz
步骤 2:解压并移动至安装目录
# 解压到 /opt 目录 sudo tar -xzf apache-maven-3.9.6-bin.tar.gz -C /opt # 创建软链接(方便版本管理) sudo ln -s /opt/apache-maven-3.9.6 /opt/maven
步骤 3:配置环境变量

编辑全局配置文件:

sudo vim /etc/profile.d/maven.sh

添加以下内容:

export MAVEN_HOME=/opt/maven export PATH=$MAVEN_HOME/bin:$PATH

使配置生效:

source /etc/profile.d/maven.sh
步骤 4:验证安装
mvn -v # 输出应包含 Maven 版本及 JDK 信息
步骤5:配置 Maven 镜像加速

编辑 Maven 配置文件~/.m2/settings.xml(若不存在则创建):

mkdir -p ~/.m2 vim ~/.m2/settings.xml

添加华为云镜像:

<mirrors> <!-- 华为云 --> <mirror> <id>huaweicloud</id> <mirrorOf>central</mirrorOf> <url>https://repo.huaweicloud.com/repository/maven/</url> </mirror> </mirrors>

16 centos配置阿里yum

# 1.备份当前yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/ # CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo # 或者 curl -o /etc/yum.repos.d/CentOS-Base.repo # CentOS 6 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo # 或者 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo # CentOS 7 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 或者 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 3.清空并生成缓存 yum clean all yum makecache # 首先要安装一个yum工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2

17 查看目录大小

# 查看当前目录的总大小 du -sh # 查看当前目录所有子目录的大小(只会显示子目录,子子目录不显示) du -sh * # 查看当前目录和所有子目录大小,最后一行会显示当前目录的总大小,不包括隐藏文件 du -ach * du -sh 目录路径 du -sh /usr

18 linux切换用户

su 和 su - 的区别:

  • su -: 切换用户,同时切换到目标用户的环境变量。
su - user1
  • su: 仅切换用户,不改变当前用户的环境变量
su user

19 创建目录

创建空目录
通常在当前目录下创建空目录,否则就是在父级目录都存在的情况下创建,语法如下:


递归创建多级目录
如果创建的多级目录中某个上级目录不存在,那么就会创建不成功,必须要加上 -p 选项就能成功创建了。

# 显式创建 mkdir -pv [多级目录] # 隐式创建 mkdir -p [多级目录]

创建新目录都显示提示信息
我们可以加上 -v 选项,那么在创建新目录时就会打印提示信息 mkdir: created directory 'xxx':

20 访问nginx默认页面

curl -l [ip地址]

21 递归修改文件权限(自动任务)

chmod -R 755 [目录]

在服务器上创建一个脚本,脚本每5分钟自动执行一次,递归修改文件权限

1. 创建脚本文件

在服务器上创建脚本文件(例如:set_dir_perms.sh),并添加以下内容:

#!/bin/bash # 目标目录路径(请替换为你的实际目录路径) TARGET_DIR="/share_data" # 设置权限值(例如755,按需修改) PERMISSIONS="755" # 执行权限修改 chmod $PERMISSIONS $TARGET_DIR 2>/dev/null # 可选:记录日志 # echo "[$(date)] 权限已设置为 $PERMISSIONS 在目录 $TARGET_DIR" >> /var/log/permission_changes.log

2. 赋予脚本执行权限

chmod +x /path/to/set_dir_perms.sh

3. 配置 Cron 定时任务

编辑当前用户的 crontab:

crontab -e

添加以下行(每5分钟执行一次):

*/5 * * * * /path/to/set_dir_perms.sh

4. 验证配置(可选)

检查 cron 配置:

crontab -l

关键说明:

  1. 替换路径:将脚本中的/share_data替换为你的实际目录路径

  2. 权限值:根据需要修改PERMISSIONS的值(常用值:755775

  3. 递归修改:如需修改目录内所有内容,将chmod命令改为:

    chmod -R $PERMISSIONS "$TARGET_DIR"

  4. 日志功能:取消注释echo行以启用日志记录(需确保日志文件存在且可写)

安全建议:

  • 使用绝对路径

  • 限制脚本和目录的访问权限

  • 首次测试时可在脚本中添加set -x开启调试

  • 检查系统日志确认任务执行:grep CRON /var/log/syslog

  1. 2>

    • 2表示标准错误流(stderr - 程序输出的错误信息)

    • >是重定向操作符

  2. /dev/null

    • Linux 的特殊设备文件

    • 功能相当于"黑洞",写入其中的所有数据都会被丢弃

    • 不产生任何输出,也不占用存储空间

组合效果:

2>/dev/null表示:将命令执行产生的错误信息全部丢弃,不显示在终端也不保存到任何文件。

在脚本中的实际作用:

chmod $PERMISSIONS "$TARGET_DIR" 2>/dev/null

  • ✅ 如果命令执行成功:正常完成权限修改

  • ❌ 如果命令执行失败(如目录不存在/权限不足):

    • 错误信息会被重定向到/dev/null

    • 终端不会显示任何错误提示

    • 脚本不会因错误而中断

cron文件语法:
分 小时 日 月 星期 命令

0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)

Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令

记住几个特殊符号的含义:

“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字

30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段] 25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段] */15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ] 30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]

22 NFS挂载

nfs功能:通过网络把一个操作系统里的文件挂载到另一个操作系统上。

mount 进行挂载
语法:

sudo mount -t nfs 被挂载的主机IP:被挂载的文件目录路径 进行挂载的主机想要将文件挂载到的文件路径 # sudo mount -t nfs 远程主机IP:远程文件目录路径 本机文件目录路径

示例:
mount -t nfs 192.168.43.64:/share_data /share_data1

umount 取消挂载
umount /share_data1

注:前提在当前主机创建要挂载到的路径

23 redis

redis-cli -h 192.168.254.129 -p 6379 -a [password]

redis默认端口6379.哨兵模式默认端口26379

24 maven编译

1.临时切换jdk

# 假设找到JDK 1.6路径为 /usr/java/jdk1.6.0_45
export JAVA_HOME=/usr/java/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$PATH

# 验证版本
java -version # 应输出1.6
mvn -v # 检查Maven使用的Java版本

2、pom中配置source和target

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<!-- 如果仍有问题,强制指定编译器路径 -->
<fork>true</fork>
<executable>${env.JAVA_HOME_1_6}/bin/javac</executable>
</configuration>
</plugin>
</plugins>
</build>


3.设置临时变量

export JAVA_HOME_1_6=/usr/java/jdk1.6.0_45
mvn clean compile


4、切回其他版本
export JAVA_HOME=/usr/java/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$PATH


其他
mvn clean install -Dmaven.compiler.source=11 -Dmaven.compiler.target=11

JAVA_HOME=/path/to/your/jdk mvn clean install

25 服务器上java程序开机自启

以jenkins为例

1.通过chkconfig --list命令列出系统中已安装的服务及其启动状态

chkconfig --list

2. 创建启动脚本

在/etc/init.d/目录下,创建Jenkins启动脚本

vim jenkins_startup.sh

脚本内容如下:

#!/bin/bash #chkconfig:2345 80 90 #decription:启动Jenkins #请将/root/jenkinsStart.log和/root/jenkins.war替换为实际的路径。 nohup java -jar /root/jenkins.war &> /root/jenkinsStart.log &

3. 编辑完脚本后对脚本进行赋权

chmod +x jenkins_startup.sh

4. 将脚本添加进清单

chkconfig --add jenkins_startup.sh

5. 添加完毕后查看清单

chkconfig --list

至此,完成了Jenkins随操作系统启动自启服务的操作,也可以使用service jenkins_startup.sh start/stop/restart命令来重启服务。

26 查看用户所属组

groups命令‌
功能:显示当前用户或指定用户的所有所属组。
语法:

  • groups(显示当前用户所属组)。
  • groups 用户名(显示指定用户所属组)。

27 更改文件所属

在Linux中,可以使用chown命令递归更改目录及其所有子目录和文件的所属者。该操作需要管理员权限(使用sudo或以root用户执行)。
命令格式:

chown -R 所有者:组名 目录路径

28 linux其他用户配置jdk

例如:root用户jdk版本为17,现需要给mms用户配置jdk1.8,操作流程如下:

# 到mms家目录 cd ~ # 修改.bash_profile文件 vim .bash_profile # 修改用户级别jdk环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_461 export PATH=$JAVA_HOME/bin:$PATH # 刷新文件 source .bash_profile

29 防火墙相关

常用命令:

#查看防火墙状态 systemctl status firewalld #开启防火墙 systemctl start firewalld #关闭防火墙 systemctl stop firewalld #重启防火墙 (立即生效) systemctl restart firewalld # 重新加载防火墙 # 两种重启的的区别:第一个不会断开连接,就是firewalld特性之一动态添加规则,第二个会断开所有连接,类似重启服务加载 firewall-cmd --reload firewall-cmd --complete-reload # 设置防火墙自启动 sudo systemctl enable firewalld # 启用自启动 # 禁用防火墙自启动(重启后生效) sudo systemctl disable firewalld

30 svn命令相关


添加当前目录下的所有文件和子目录:

svn add . --force

(. 代表当前工作目录,此命令会添加当前目录下所有未版本化的文件和子目录)


提交到版本库:

svn commit -m "添加目录下所有文件到版本控制"

svn add 只是将文件纳入本地版本控制的 “待提交列表”,需要执行 commit 命令才能真正提交到远程仓库:

更新

svn up
svn update --username xxx --password xxx

检出

svn checkout http://****/svn/****/branches/sit/****


筛选出非版本化文件(? 开头),并删除

svn status | grep '^?' | awk '{print $2}' | xargs rm -rf

解释:
grep '^?':筛选出以 ? 开头的行(非版本化文件);
awk '{print $2}':提取文件名 / 目录名;
xargs rm -rf:批量删除这些文件 / 目录。


还原

svn revert -R .

只能还原已纳入版本控制的文件(即已经通过 svn add 并提交过的文件),对于那些未版本化的文件(比如新创建但未执行 svn add 的文件、编译生成的临时文件等),svn revert 是无法处理的,因为 Subversion 根本没有跟踪这些文件的状态。

31 linux上打war包

将指定目录打成war包
使用JDK将指定目录打成WAR包:

jar -cvf your-app.war -C /path/to/your/directory .

参数解释:

  • cvf:c 代表创建新的档案文件,v 代表生成详细的输出信息,f 指定档案文件名。
  • your-app.war:是你想要创建的WAR文件的名字。
  • -C:表示改变到指定的目录,然后打包该目录下的内容。
  • /path/to/your/directory:是你想要打包的目录的路径。
  • .:表示当前目录,在这里用于指示jar命令从当前目录(即指定目录)中读取文件来打包。

将当前目录打包

jar -cvf xxx.war ./*

32 linux上给命令设置别名

32.1 临时别名(仅当前终端有效)

直接在终端执行alias命令,格式:

alias 别名="原命令"

示例:

# 给docker ps -a起别名dps alias dps="docker ps -a" # 给系统更新命令起别名up alias up="yum update -y"

执行后,直接输入dps即可替代docker ps -a

32.2 永久别名(所有终端 / 重启后仍有效)

需将别名写入用户的配置文件(如~/.bashrc~/.bash_profile),步骤:

  1. 编辑配置文件(以~/.bashrc为例):
    vi ~/.bashrc
  2. 在文件末尾添加别名(格式同上):
    # 自定义别名 alias dps="docker ps -a" alias up="yum update -y" alias gcl="git clone"
  3. 使配置生效:
    source ~/.bashrc

32.3 常用操作

  • 查看已设置的别名
    alias
  • 删除别名
    unalias 别名
    示例:unalias dps

32.4 进阶:带参数的别名

若需要别名支持参数,可通过函数实现(写入~/.bashrc):示例:给docker logs -f设置带容器名参数的别名dlog

dlog() { docker logs -f "$1" }

使用:dlog gitlab(等价于docker logs -f gitlab

32.5 常用命令的别名配置模板

1.必备基础系统别名(运维通用,所有 Linux 都适用)

# ========== 基础系统快捷命令 ========== alias ll='ls -lhrt --color=auto' # 最常用:列表展示+按时间排序+大小人性化+彩色 alias la='ls -alh --color=auto' # 显示所有文件(含隐藏文件) alias l='ls -lh --color=auto' # 简洁列表展示 alias grep='grep --color=auto' # grep搜索结果高亮显示 alias cp='cp -i' # 复制文件时提示覆盖确认,防止误删 alias mv='mv -i' # 移动文件时提示覆盖确认 alias rm='rm -i' # 删除文件时提示确认,【防手抖删库神器】 alias df='df -h' # 查看磁盘占用,自动换算GB/MB,不用看KB alias du='du -h --max-depth=1' # 查看目录大小,只展示一级目录,简洁明了 alias free='free -h' # 查看内存/交换分区,人性化显示 alias cls='clear' # 清屏快捷命令,替代clear alias psg='ps -ef | grep' # 快速搜索进程,用法:psg docker / psg gitlab

2.Docker 专属别名

# ========== Docker 高频核心别名 (无参数,直接用) ========== alias d='docker' # 终极简化:d 替代 docker,后续组合超方便 alias dps='docker ps -a' # 查看所有容器(运行+停止) alias dpsr='docker ps' # 只看正在运行的容器 alias dim='docker images' # 查看所有镜像 alias dstop='docker stop $(docker ps -aq)' # 一键停止所有容器 alias drm='docker rm $(docker ps -aq)' # 一键删除所有停止的容器 alias drmi='docker rmi $(docker images -qf "dangling=true")' # 删除无用的悬空镜像 # ========== Docker 核心运维别名 (一键清理+重启,解决你之前的故障常用) ========== alias dclean='docker system prune -a -f --volumes' # 一键深度清理Docker垃圾(镜像/容器/缓存/卷)释放磁盘 alias drestart='systemctl restart docker containerd' # 一键重启docker+containerd服务 alias dstatus='systemctl status docker containerd' # 一键查看docker服务状态 # ========== Docker 容器操作快捷函数 (支持传参,最实用!) ========== # 用法:dstart 容器名/ID → 启动指定容器 例:dstart gitlab dstart() { docker start "$1"; } # 用法:dstopn 容器名/ID → 停止指定容器 例:dstopn gitlab dstopn() { docker stop "$1"; } # 用法:dlog 容器名/ID → 实时查看容器日志 例:dlog gitlab (你查gitlab日志刚需!) dlog() { docker logs -f --tail=200 "$1"; } # 用法:drmn 容器名/ID → 删除指定容器 例:drmn gitlab drmn() { docker rm -f "$1"; } # 用法:dexec 容器名/ID → 进入容器交互终端 例:dexec gitlab dexec() { docker exec -it "$1" /bin/bash; }

3.GitLab+Git 运维别名

# ========== Git 基础快捷命令 ========== alias gcl='git clone' alias gpull='git pull' alias gpush='git push' alias gadd='git add .' alias gcm='git commit -m' alias gsta='git status' alias gbr='git branch' # ========== GitLab 容器专属快捷命令 (你的专属!一键操作GitLab容器) ========== alias glabstart='docker start gitlab' # 一键启动gitlab容器 alias glabstop='docker stop gitlab' # 一键停止gitlab容器 alias glablog='docker logs -f gitlab' # 一键查看gitlab实时日志 alias glabssh='docker exec -it gitlab /bin/bash' # 一键进入gitlab容器内部

4.防火墙 + 系统运维补充别名

# ========== 防火墙快捷命令 ========== alias fwst='systemctl status firewalld' # 查看防火墙状态 alias fwon='systemctl start firewalld' # 启动防火墙 alias fwoff='systemctl stop firewalld' # 关闭防火墙 alias fwrl='firewall-cmd --reload' # 重载防火墙规则 alias fwport='firewall-cmd --zone=public --list-ports' # 查看已开放端口 # ========== 系统重启/关机/进程 ========== alias rebootnow='reboot' alias shutdownnow='shutdown -h now' alias topcpu='top -o %CPU' # 按CPU占用排序查看进程 alias topram='top -o %MEM' # 按内存占用排序查看进程

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询