1. 首页 > Linux教程 > 正文

Linux教程FG095-自定义命令别名提升运维效率实战

本文档风哥主要介绍自定义命令别名提升运维效率实战,包括命令别名的概念、基础别名配置、高级别名配置、函数别名配置等内容,参考RHEL 10官方文档,适合系统管理员在生产环境中使用。更多视频教程www.fgedu.net.cn

Part01-基础概念与理论知识

1.1 命令别名的概念

命令别名(alias)是指为复杂的命令或命令组合创建简短的替代名称,通过别名可以快速执行常用命令,提高工作效率。

命令别名的特点:

  • 简化命令:将长命令简化为短命令
  • 组合命令:将多个命令组合为一个命令
  • 参数预设:预设常用参数,减少输入
  • 个性化定制:根据个人习惯定制别名
  • 临时生效:当前会话有效

1.2 命令别名的优势

命令别名的优势:

  • 提高效率:减少命令输入时间
  • 减少错误:避免输入错误
  • 便于记忆:使用简短易记的别名
  • 个性定制:根据个人习惯定制
  • 团队协作:统一团队别名规范

1.3 命令别名的应用场景

命令别名的应用场景:

  • 系统运维:查看系统信息、管理服务
  • 网络运维:测试网络连通性、查看网络状态
  • 文件管理:快速定位文件、查看文件内容
  • 开发调试:快速编译、测试、部署
  • 日常操作:常用命令的简化
风哥提示:命令别名是提高运维效率的有效手段,建议根据日常工作需求,合理配置命令别名。学习交流加群风哥微信: itpux-com

Part02-生产环境规划与建议

2.1 别名规划策略

别名规划策略建议:

# 别名规划策略
# 分类规划
– 系统运维别名:系统信息查看、服务管理
– 网络运维别名:网络测试、网络配置
– 文件管理别名:文件查找、文件操作
– 开发调试别名:编译、测试、部署
– 日常操作别名:常用命令简化

# 使用频率规划
– 高频命令:创建简短别名(2-3个字符)
– 中频命令:创建中等长度别名(3-5个字符)
– 低频命令:创建描述性别名(5个字符以上)

# 团队协作规划
– 统一命名规范:团队统一别名命名
– 共享别名配置:使用配置文件共享
– 文档记录:记录别名用途和用法

2.2 命名规范建议

别名命名规范建议:

# 命名规范建议
# 命名原则
– 简短易记:使用简短易记的名称
– 语义明确:名称要能表达功能
– 避免冲突:避免与系统命令冲突
– 统一风格:使用统一的命名风格

# 命名示例
– ll:ls -l(长格式列表)
– la:ls -a(显示隐藏文件)
– lla:ls -la(长格式+隐藏文件)
– grep:grep –color=auto(彩色输出)
– dfh:df -h(人类可读格式)
– duh:du -h(人类可读格式)
– psaux:ps aux(查看所有进程)
– netstat:netstat -tuln(网络连接状态)

2.3 管理策略设计

别名管理策略设计:

  • 配置文件:使用~/.bashrc或~/.bash_aliases
  • 分类管理:按类别组织别名
  • 注释说明:为每个别名添加注释
  • 版本控制:使用git管理别名配置
  • 定期更新:定期更新和优化别名
生产环境建议:建议使用~/.bash_aliases文件单独管理别名,保持~/.bashrc文件的整洁。同时要为每个别名添加注释,便于维护和团队协作。更多学习教程公众号风哥教程itpux_com

Part03-生产环境项目实施方案

3.1 基础别名配置

3.1.1 创建基础别名

# 1. 创建别名配置文件
# cat > ~/.bash_aliases << 'EOF' # bash别名配置文件 # 作者:fgedu # 日期:2026-04-02 # 文件操作别名 alias ll='ls -l' alias la='ls -a' alias lla='ls -la' alias lt='ls -lt' alias ltr='ls -ltr' # 目录操作别名 alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias md='mkdir -p' alias rd='rmdir' # 文件查找别名 alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' alias findname='find . -name' alias findtype='find . -type' # 系统信息别名 alias dfh='df -h' alias duh='du -h' alias freeh='free -h' alias psaux='ps aux' alias psauxf='ps auxf' alias top='top -d 3' # 网络操作别名 alias ping='ping -c 4' alias pingg='ping -c 100' alias netstat='netstat -tuln' alias ss='ss -tuln' alias ifconfig='ip addr show' alias route='ip route show' # 历史操作别名 alias h='history' alias hg='history | grep' # 清屏别名 alias c='clear' alias cls='clear' # 编辑器别名 alias vi='vim' alias view='vim -R' # 下载别名 alias wget='wget -c' alias curl='curl -L' EOF # 2. 加载别名配置文件 # source ~/.bash_aliases # 3. 验证别名 # alias alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias c='clear' alias cls='clear' alias dfh='df -h' alias duh='du -h' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias findname='find . -name' alias findtype='find . -type' alias freeh='free -h' alias grep='grep --color=auto' alias h='history' alias hg='history | grep' alias ifconfig='ip addr show' alias la='ls -a' alias ll='ls -l' alias lla='ls -la' alias lt='ls -lt' alias ltr='ls -ltr' alias md='mkdir -p' alias netstat='netstat -tuln' alias ping='ping -c 4' alias pingg='ping -c 100' alias psaux='ps aux' alias psauxf='ps auxf' alias rd='rmdir' alias route='ip route show' alias ss='ss -tuln' alias top='top -d 3' alias vi='vim' alias view='vim -R' alias wget='wget -c' alias curl='curl -L' # 4. 测试别名 # ll total 48 drwx------ 5 root root 4096 Apr 2 10:00 . drwxr-xr-x. 3 root root 4096 Apr 2 09:00 .. -rw------- 1 root root 1234 Apr 2 10:00 .bash_history -rw-r--r-- 1 root root 18 Apr 2 09:00 .bash_logout -rw-r--r-- 1 root root 234 Apr 2 09:00 .bash_profile -rw-r--r-- 1 root root 345 Apr 2 09:00 .bashrc -rw-r--r-- 1 root root 456 Apr 2 10:00 .bash_aliases -rw-r--r-- 1 root root 567 Apr 2 09:00 .vimrc # dfh Filesystem Size Used Avail Use% Mounted on /dev/sda1 100G 65G 35G 65% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 8.9M 7.8G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup tmpfs 1.6G 0 1.6G 0% /run/user/0

3.1.2 配置别名自动加载

# 1. 编辑bash配置文件
# cat >> ~/.bashrc << 'EOF' # 加载别名配置文件 if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi EOF # 2. 重新加载bash配置 # source ~/.bashrc # 3. 验证别名加载 # alias | grep ll alias ll='ls -l'

3.2 高级别名配置

3.2.1 创建高级别名

# 1. 创建高级别名
# cat >> ~/.bash_aliases << 'EOF' # 系统运维别名 alias services='systemctl list-units --type=service --state=running' alias failed='systemctl list-units --type=service --state=failed' alias restart='systemctl restart' alias start='systemctl start' alias stop='systemctl stop' alias status='systemctl status' alias enable='systemctl enable' alias disable='systemctl disable' alias journal='journalctl -xe' # 网络运维别名 alias ports='netstat -tuln | grep LISTEN' alias connections='netstat -an | grep ESTABLISHED' alias listen='ss -tuln | grep LISTEN' alias estab='ss -tn | grep ESTAB' alias myip='curl -s ifconfig.me' alias localip='hostname -I' alias gateway='ip route | grep default' alias dns='cat /etc/resolv.conf' # 日志查看别名 alias syslog='tail -f /var/log/messages' alias secure='tail -f /var/log/secure' alias bootlog='tail -f /var/log/boot.log' alias dmesg='dmesg | tail -f' # 进程管理别名 alias psgrep='ps aux | grep -v grep | grep' alias pkill='killall -9' alias pcpu='ps auxf | sort -nr -k 3' alias pmem='ps auxf | sort -nr -k 4' alias puser='ps auxf | sort -k 1' # 磁盘管理别名 alias dus='du -sh * | sort -h' alias dud='du -sh */ | sort -h' alias dfall='df -hT' alias dfi='df -hi' # 备份操作别名 alias backup='tar -czvf' alias backupdir='tar -czvf backup_$(date +%Y%m%d_%H%M%S).tar.gz' alias extract='tar -xzvf' # Git别名 alias gs='git status' alias ga='git add' alias gc='git commit' alias gp='git push' alias gl='git pull' alias gd='git diff' alias gb='git branch' alias gco='git checkout' # Docker别名 alias dps='docker ps' alias dpsa='docker ps -a' alias di='docker images' alias dex='docker exec -it' alias dlog='docker logs' alias dstop='docker stop' alias dstart='docker start' alias drestart='docker restart' alias dkill='docker kill' alias drm='docker rm' alias drmi='docker rmi' EOF # 2. 重新加载别名配置 # source ~/.bash_aliases # 3. 验证高级别名 # services UNIT LOAD ACTIVE SUB DESCRIPTION sshd.service loaded active running OpenSSH server daemon chronyd.service loaded active running NTP client/server NetworkManager.service loaded active running Network Manager systemd-journald.service loaded active running Journal Service systemd-logind.service loaded active running Login Service systemd-udevd.service loaded active running Rule-based Manager for Device Events and Files crond.service loaded active running Command Scheduler rsyslog.service loaded active running System Logging Service dbus.service loaded active running D-Bus System Message Bus # ports Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:25 :::* LISTEN # myip 192.168.1.100 # localip 192.168.1.100 # gateway default via 192.168.1.1 dev eth0 proto static metric 100 # dns # Generated by NetworkManager search example.com nameserver 192.168.1.1 nameserver 8.8.8.8

3.3 函数别名配置

3.3.1 创建函数别名

# 1. 创建函数别名
# cat >> ~/.bash_aliases << 'EOF' # 函数别名:创建并进入目录 mkcd() { mkdir -p "$1" && cd "$1" } # 函数别名:查找并删除文件 findrm() { find . -name "$1" -type f -delete } # 函数别名:查看进程详细信息 psinfo() { ps aux | grep -v grep | grep "$1" } # 函数别名:查看端口占用 portinfo() { netstat -tuln | grep ":$1" } # 函数别名:查看磁盘使用 diskusage() { du -sh "$1" 2>/dev/null || du -sh . | sort -h
}

# 函数别名:备份文件
backupfile() {
cp “$1” “$1.backup_$(date +%Y%m%d_%H%M%S)”
}

# 函数别名:快速搜索文件
searchfile() {
find . -name “*$1*” -type f
}

# 函数别名:快速搜索目录
searchdir() {
find . -name “*$1*” -type d
}

# 函数别名:查看系统负载
sysload() {
uptime
free -h
df -h
}

# 函数别名:查看网络状态
netstatus() {
ip addr show
ip route show
ping -c 3 8.8.8.8
}

# 函数别名:查看服务状态
svcstatus() {
systemctl status “$1”
}

# 函数别名:重启服务
svcrestart() {
systemctl restart “$1”
systemctl status “$1”
}

# 函数别名:查看日志
viewlog() {
if [ -f “$1” ]; then
tail -f “$1”
else
echo “文件不存在:$1”
fi
}

# 函数别名:快速SSH连接
sshconnect() {
ssh -o ConnectTimeout=5 “$1”
}

# 函数别名:快速SCP传输
scpfile() {
scp “$1” “$2”
}

# 函数别名:查看Docker容器状态
dockerstatus() {
docker ps -a
docker stats –no-stream
}

# 函数别名:查看Docker日志
dockerlogs() {
docker logs -f –tail 100 “$1”
}
EOF

# 2. 重新加载别名配置
# source ~/.bash_aliases

# 3. 测试函数别名
# mkcd testdir
# pwd
/root/testdir

# psinfo sshd
root 1234 0.0 0.1 12345 6789 ? Ss 10:00 0:00 sshd: root@pts/0
root 5678 0.0 0.1 23456 7890 ? Ss 10:00 0:00 sshd: root@notty

# portinfo 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN

# diskusage /var
1.2G /var

# searchfile bash
./.bash_history
./.bash_logout
./.bash_profile
./.bashrc
./.bash_aliases

# sysload
10:00:00 up 1 day, 2:00, 2 users, load average: 0.12, 0.15, 0.10
total used free shared buff/cache available
Mem: 15.6Gi 4.5Gi 8.9Gi 234Mi 2.2Gi 10.3Gi
Swap: 2.0Gi 0B 2.0Gi
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 100G 65G 35G 65% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 8.9M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0

# netstatus
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
default via 192.168.1.1 dev eth0 proto static metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=12.345 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=12.346 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=12.344 ms

— 8.8.8.8 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 12.344/12.345/12.346/0.000 ms

风哥提示:函数别名比普通别名更强大,可以接受参数和执行复杂的逻辑。建议根据日常工作需求,合理配置函数别名。学习交流加群风哥QQ113257174

Part04-生产案例与实战讲解

4.1 系统运维别名

4.1.1 系统运维别名配置

# 1. 创建系统运维别名
# cat >> ~/.bash_aliases << 'EOF' # 系统信息查看别名 alias sysinfo='echo "=== 系统信息 ===" && uname -a && echo "" && echo "=== CPU信息 ===" && lscpu | grep -E "Model name|CPU\(s\)|Thread" && echo "" && echo "=== 内存信息 ===" && free -h && echo "" && echo "=== 磁盘信息 ===" && df -h && echo "" && echo "=== 网络信息 ===" && ip addr show && echo "" && echo "=== 进程信息 ===" && ps aux | head -n 10' # 系统负载查看别名 alias sysload='echo "=== 系统负载 ===" && uptime && echo "" && echo "=== CPU使用率 ===" && top -bn1 | grep "Cpu(s)" && echo "" && echo "=== 内存使用率 ===" && free -h && echo "" && echo "=== 磁盘使用率 ===" && df -h' # 系统服务管理别名 alias svc-list='systemctl list-units --type=service --state=running' alias svc-failed='systemctl list-units --type=service --state=failed' alias svc-all='systemctl list-units --type=service' # 系统日志查看别名 alias log-sys='tail -f /var/log/messages' alias log-secure='tail -f /var/log/secure' alias log-boot='tail -f /var/log/boot.log' alias log-dmesg='dmesg | tail -f' alias log-journal='journalctl -xe' # 系统资源监控别名 alias monitor='watch -n 1 "echo === 系统负载 === && uptime && echo === CPU使用率 === && top -bn1 | grep Cpu && echo === 内存使用率 === && free -h && echo === 磁盘使用率 === && df -h"' # 系统清理别名 alias clean-cache='sync && echo 3 > /proc/sys/vm/drop_caches && echo “缓存已清理”‘
alias clean-logs=’journalctl –vacuum-time=7d && echo “日志已清理(保留7天)”‘
alias clean-tmp=’rm -rf /tmp/* && echo “临时文件已清理”‘

# 系统备份别名
alias backup-config=’tar -czvf config_backup_$(date +%Y%m%d_%H%M%S).tar.gz /etc /root/.bashrc /root/.bash_aliases’
alias backup-data=’tar -czvf data_backup_$(date +%Y%m%d_%H%M%S).tar.gz /data /home’

# 系统更新别名
alias update=’dnf update -y’
alias upgrade=’dnf upgrade -y’
alias check-update=’dnf check-update’
alias clean-dnf=’dnf clean all’
EOF

# 2. 重新加载别名配置
# source ~/.bash_aliases

# 3. 测试系统运维别名
# sysinfo
=== 系统信息 ===
Linux server1 5.14.0-284.el10.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 2 09:00:00 CST 2026 x86_64 x86_64 x86_64 GNU/Linux

=== CPU信息 ===
Model name: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
CPU(s): 28
Thread(s) per core: 2

=== 内存信息 ===
total used free shared buff/cache available
Mem: 15.6Gi 4.5Gi 8.9Gi 234Mi 2.2Gi 10.3Gi
Swap: 2.0Gi 0B 2.0Gi

=== 磁盘信息 ===
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 100G 65G 35G 65% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 8.9M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0

=== 网络信息 ===
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever

=== 进程信息 ===
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 12345 6789 ? Ss 09:00 0:00 /usr/lib/systemd/systemd
root 567 0.0 0.1 23456 7890 ? Ss 09:00 0:00 /usr/lib/systemd/systemd-journald
root 890 0.0 0.2 34567 8901 ? Ss 09:00 0:00 /usr/sbin/sshd -D
root 1234 0.0 0.1 12345 6789 ? Ss 10:00 0:00 sshd: root@pts/0
root 2345 0.0 0.1 23456 7890 pts/0 Ss 10:00 0:00 -bash
root 3456 0.0 0.1 34567 8901 pts/0 R+ 10:00 0:00 sysinfo

# svc-list
UNIT LOAD ACTIVE SUB DESCRIPTION
sshd.service loaded active running OpenSSH server daemon
chronyd.service loaded active running NTP client/server
NetworkManager.service loaded active running Network Manager
systemd-journald.service loaded active running Journal Service
systemd-logind.service loaded active running Login Service
systemd-udevd.service loaded active running Rule-based Manager for Device Events and Files
crond.service loaded active running Command Scheduler
rsyslog.service loaded active running System Logging Service
dbus.service loaded active running D-Bus System Message Bus

# clean-cache
缓存已清理

4.2 网络运维别名

4.2.1 网络运维别名配置

# 1. 创建网络运维别名
# cat >> ~/.bash_aliases << 'EOF' # 网络信息查看别名 alias net-info='echo "=== 网络接口 ===" && ip addr show && echo "" && echo "=== 路由信息 ===" && ip route show && echo "" && echo "=== DNS配置 ===" && cat /etc/resolv.conf && echo "" && echo "=== 网络连接 ===" && netstat -an | grep ESTABLISHED | wc -l' # 网络测试别名 alias net-test='echo "=== 网关测试 ===" && ping -c 3 $(ip route | grep default | awk "{print \$3}") && echo "" && echo "=== DNS测试 ===" && ping -c 3 8.8.8.8 && echo "" && echo "=== 外网测试 ===" && ping -c 3 www.baidu.com' # 端口查看别名 alias port-listen='netstat -tuln | grep LISTEN' alias port-estab='netstat -an | grep ESTABLISHED' alias port-time='netstat -an | grep TIME_WAIT' alias port-all='netstat -an' # 防火墙管理别名 alias fw-list='firewall-cmd --list-all' alias fw-add-port='firewall-cmd --permanent --add-port' alias fw-add-service='firewall-cmd --permanent --add-service' alias fw-remove-port='firewall-cmd --permanent --remove-port' alias fw-remove-service='firewall-cmd --permanent --remove-service' alias fw-reload='firewall-cmd --reload' # 网络流量监控别名 alias net-traffic='iftop -i eth0' alias net-connections='watch -n 1 "netstat -an | grep ESTABLISHED | wc -l"' alias net-bandwidth='nload eth0' # 网络抓包别名 alias net-capture='tcpdump -i eth0 -w capture_$(date +%Y%m%d_%H%M%S).pcap' alias net-capture-http='tcpdump -i eth0 -A -s 0 "tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) != 0)"' alias net-capture-https='tcpdump -i eth0 -A -s 0 "tcp port 443 and (((ip[2:2] - ((ip[0]&0xf)<<2)) != 0)"' # SSH连接别名 alias ssh-local='ssh root@192.168.1.100' alias ssh-web1='ssh root@192.168.1.101' alias ssh-web2='ssh root@192.168.1.102' alias ssh-db1='ssh root@192.168.1.103' alias ssh-db2='ssh root@192.168.1.104' # SCP传输别名 alias scp-to-web1='scp -r' alias scp-to-db1='scp -r' alias scp-from-web1='scp root@192.168.1.101:' alias scp-from-db1='scp root@192.168.1.103:' EOF # 2. 重新加载别名配置 # source ~/.bash_aliases # 3. 测试网络运维别名 # net-info === 网络接口 === 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever

=== 路由信息 ===
default via 192.168.1.1 dev eth0 proto static metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100

=== DNS配置 ===
# Generated by NetworkManager
search example.com
nameserver 192.168.1.1
nameserver 8.8.8.8

=== 网络连接 ===
23

# port-listen
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN

# fw-list
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

# net-test
=== 网关测试 ===
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.456 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.458 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.455 ms

— 192.168.1.1 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.455/0.456/0.458/0.000 ms

=== DNS测试 ===
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=12.345 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=12.346 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=12.344 ms

— 8.8.8.8 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt min/avg/max/mdev = 12.344/12.345/12.346/0.000 ms

=== 外网测试 ===
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=54 time=5.678 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=54 time=5.679 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=54 time=5.677 ms

— www.a.shifen.com ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 5.677/5.678/5.679/0.000 ms

4.3 DevOps运维别名

4.3.1 DevOps运维别名配置

# 1. 创建DevOps运维别名
# cat >> ~/.bash_aliases << 'EOF' # Docker管理别名 alias docker-ps='docker ps' alias docker-psa='docker ps -a' alias docker-images='docker images' alias docker-exec='docker exec -it' alias docker-logs='docker logs -f --tail 100' alias docker-stop='docker stop $(docker ps -q)' alias docker-start='docker start $(docker ps -a -q)' alias docker-restart='docker restart $(docker ps -q)' alias docker-rm='docker rm $(docker ps -aq)' alias docker-rmi='docker rmi $(docker images -q)' alias docker-clean='docker system prune -a' # Docker Compose别名 alias dc-up='docker-compose up -d' alias dc-down='docker-compose down' alias dc-restart='docker-compose restart' alias dc-logs='docker-compose logs -f' alias dc-ps='docker-compose ps' alias dc-exec='docker-compose exec' # Git管理别名 alias git-log='git log --oneline --graph --all' alias git-status='git status' alias git-branch='git branch -a' alias git-diff='git diff' alias git-commit='git commit -m' alias git-push='git push' alias git-pull='git pull' alias git-merge='git merge' alias git-checkout='git checkout' alias git-stash='git stash' alias git-stash-pop='git stash pop' # Ansible管理别名 alias ansible-ping='ansible all -m ping' alias ansible-shell='ansible all -m shell -a' alias ansible-copy='ansible all -m copy -a' alias ansible-playbook='ansible-playbook' alias ansible-vault='ansible-vault' # Kubernetes管理别名 alias kubectl-get-pods='kubectl get pods' alias kubectl-get-svcs='kubectl get services' alias kubectl-get-deploy='kubectl get deployments' alias kubectl-get-all='kubectl get all' alias kubectl-logs='kubectl logs -f' alias kubectl-describe='kubectl describe' alias kubectl-apply='kubectl apply -f' alias kubectl-delete='kubectl delete -f' # 监控告警别名 alias monitor-cpu='top -o %CPU' alias monitor-mem='top -o %MEM' alias monitor-disk='watch -n 1 df -h' alias monitor-net='iftop' alias monitor-all='glances' # 日志分析别名 alias log-error='grep -i error' alias log-warn='grep -i warn' alias log-fatal='grep -i fatal' alias log-tail='tail -f' alias log-grep='grep' EOF # 2. 重新加载别名配置 # source ~/.bash_aliases # 3. 测试DevOps运维别名 # docker-ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1b2c3d4e5f6a nginx:latest "/docker-entrypoint.…" 10 minutes ago Up 9 minutes 0.0.0.0:8080->80/tcp nginx-web
2d3e4f5a6b7c mysql:5.7 “docker-entrypoint.s…” 20 minutes ago Up 19 minutes 3306/tcp mysql-db

# docker-images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 1234567890ab 2 days ago 142MB
mysql 5.7 abcdef123456 3 days ago 448MB
redis latest 7890abcdef12 5 days ago 117MB

# git-log
* 1234567 (HEAD -> main) Add new feature
* 2345678 Fix bug
* 3456789 Update documentation
* 4567890 Initial commit

# kubectl-get-pods
NAME READY STATUS RESTARTS AGE
nginx-deployment-7d6c8b6b9-x 1/1 Running 0 10m
mysql-deployment-6c7c8b7b9-x 1/1 Running 0 20m

# monitor-disk
Every 1.0s: Filesystem Size Used Avail Use% Mounted on
/dev/sda1 100G 65G 35G 65% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 8.9M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0

生产环境建议:建议根据团队协作需求,统一别名命名规范,并使用配置文件共享别名配置。同时要为每个别名添加注释,便于维护和团队协作。更多视频教程www.fgedu.net.cn

Part05-风哥经验总结与分享

5.1 别名使用最佳实践

别名使用最佳实践:

  • 分类管理:按类别组织别名
  • 注释说明:为每个别名添加注释
  • 命名规范:使用统一的命名规范
  • 避免冲突:避免与系统命令冲突
  • 定期更新:定期更新和优化别名
  • 团队协作:统一团队别名规范
  • 版本控制:使用git管理别名配置

5.2 效率提升技巧

效率提升技巧:

# 效率提升技巧
# 1. 使用Tab补全
# 输入别名的前几个字符,按Tab键自动补全

# 2. 使用命令历史
# 使用上下箭头查看历史命令
# 使用Ctrl+R搜索历史命令

# 3. 使用命令编辑
# 使用Ctrl+A跳到行首
# 使用Ctrl+E跳到行尾
# 使用Ctrl+K删除到行尾
# 使用Ctrl+U删除到行首

# 4. 使用函数别名
# 函数别名可以接受参数和执行复杂的逻辑

# 5. 使用管道和重定向
# 组合多个命令,实现复杂功能

5.3 工具推荐

推荐的别名管理工具:

  • bash:默认shell,支持别名和函数
  • zsh:功能强大的shell,支持更丰富的别名
  • oh-my-zsh:zsh框架,提供丰富的别名和插件
  • fish:友好的交互式shell,支持自动补全
  • tmux:终端复用工具,提高工作效率
风哥提示:命令别名是提高运维效率的有效手段,建议根据日常工作需求,合理配置命令别名。对于复杂的操作,建议编写函数别名或脚本自动化处理。学习交流加群风哥微信: itpux-com

本文档介绍了自定义命令别名提升运维效率实战,包括命令别名的概念、基础别名配置、高级别名配置、函数别名配置等内容。通过合理使用命令别名,可以大大提高工作效率,简化日常操作。更多学习教程公众号风哥教程itpux_com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息