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 进程名

查看8080端口使用情况:

netstat -ntulp |grep 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 的值(常用值:755 或 775

  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' # 按内存占用排序查看进程

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐