Linux常用命令及配置
tail -100f 文件名tail -n 100 文件名# 或简写为tail -100 文件名。
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
关键说明:
-
替换路径:将脚本中的
/share_data替换为你的实际目录路径 -
权限值:根据需要修改
PERMISSIONS的值(常用值:755或775) -
递归修改:如需修改目录内所有内容,将
chmod命令改为:chmod -R $PERMISSIONS "$TARGET_DIR"
-
日志功能:取消注释
echo行以启用日志记录(需确保日志文件存在且可写)
安全建议:
-
使用绝对路径
-
限制脚本和目录的访问权限
-
首次测试时可在脚本中添加
set -x开启调试 -
检查系统日志确认任务执行:
grep CRON /var/log/syslog
-
2>:-
2表示标准错误流(stderr - 程序输出的错误信息) -
>是重定向操作符
-
-
/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),步骤:
- 编辑配置文件(以
~/.bashrc为例):vi ~/.bashrc - 在文件末尾添加别名(格式同上):
# 自定义别名 alias dps="docker ps -a" alias up="yum update -y" alias gcl="git clone" - 使配置生效:
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' # 按内存占用排序查看进程
更多推荐


所有评论(0)