一,效果图

二,初级
打开终端,利用终端上的会话菜单进行设置,点击参数配置进行自定义设置
1 字体------修改设置-------DejaVu Sans Mono 13 pt
2 光标形状------条状光标
3 背景图像-------选择-------DIY一张自己的图片
4 当前终端------绘制边框------点击对勾选择
三,普通中级
第一步:打开终端,输入:
bash
# 查看并找到文件'.zshrc'
ls -a -l -C
第二步
bash
#备份原来的配置文件
cp .zshrc .zshrcbak
第三步: 查看效果,是否备份好文件
ls -a -l -C # 查看一下
bash
# 查看一下
ls -a -l -C
第四步: 用kali自带文本编辑器打开文件
我用mousepad打开,推荐使用nano或者vim打开和编辑
mousepad .zshrc
清空原有的内容后,复制下面的代码!
bash
# ====== 第1步:ZSH配置文件详细注释 ======
# ~/.zshrc 文件用于zsh交互式shells
# 示例可参考 /usr/share/doc/zsh/examples/zshrc
# 修改于2026年1月14日 19:00左右,xgj完成
# ======第2步:设置选项============
#setopt autocd # 只需输入目录名即可切换目录
#setopt correct # 自动纠正拼写错误(已注释)
setopt interactivecomments # 允许在交互模式下使用注释
setopt magicequalsubst # 为'任何内容=表达式'形式的参数启用文件名扩展
setopt nonomatch # 如果没有匹配的模式,隐藏错误信息
setopt notify # 立即报告后台作业状态
setopt numericglobsort # 按数字顺序排序文件名(有意义时)
setopt promptsubst # 在提示符中启用命令替换
# 不将下划线和连字符视为单词的一部分
WORDCHARS='_-'
# 隐藏行尾标记('%')
PROMPT_EOL_MARK=""
# ======== 第3步:键盘绑定配置 ========
bindkey -e # 使用Emacs风格按键绑定
bindkey ' ' magic-space # 按空格键时执行历史扩展
bindkey '^U' backward-kill-line # Ctrl + U: 向后删除整行
bindkey '^[[3;5~' kill-word # Ctrl + Delete: 删除单词
bindkey '^[[3~' delete-char # Delete键: 删除字符
bindkey '^[[1;5C' forward-word # Ctrl + 右箭头: 向前移动一个单词
bindkey '^[[1;5D' backward-word # Ctrl + 左箭头: 向后移动一个单词
bindkey '^[[5~' beginning-of-buffer-or-history # Page Up: 移动到缓冲区或历史开头
bindkey '^[[6~' end-of-buffer-or-history # Page Down: 移动到缓冲区或历史末尾
bindkey '^[[H' beginning-of-line # Home键: 移动到行首
bindkey '^[[F' end-of-line # End键: 移动到行尾
bindkey '^[[Z' undo # Shift + Tab: 撤销上一次操作
# ======== 第4步:自动补全功能配置 ======
autoload -Uz compinit # 启用自动补全功能
compinit -d ~/.cache/zcompdump # 初始化补全,将缓存保存到指定位置
zstyle ':completion:*:*:*:*:*' menu select # 在补全时显示选择菜单
zstyle ':completion:*' auto-description 'specify: %d' # 自动描述补全项
zstyle ':completion:*' completer _expand _complete # 补全器设置
zstyle ':completion:*' format '正在补全 %d' # 补全格式
zstyle ':completion:*' group-name '' # 分组名称
zstyle ':completion:*' list-colors '' # 列表颜色
zstyle ':completion:*' list-prompt %S在 %p: 按TAB查看更多,或输入字符插入%s # 列表提示
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # 匹配器列表(不区分大小写)
zstyle ':completion:*' rehash true # 自动重新哈希
zstyle ':completion:*' select-prompt %S正在滚动: 当前选择在 %p%s # 选择提示
zstyle ':completion:*' use-compctl false # 不使用compctl
zstyle ':completion:*' verbose true # 详细模式
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd' # kill命令的补全格式
# ====== 第5步:历史记录配置 ======
HISTFILE=~/.zsh_history # 历史文件位置
HISTSIZE=1000 # 内存中保存的历史记录数量
SAVEHIST=2000 # 历史文件中保存的历史记录数量
setopt hist_expire_dups_first # 当历史文件大小超过HISTSIZE时,首先删除重复项
setopt hist_ignore_dups # 忽略历史列表中的重复命令
setopt hist_ignore_space # 忽略以空格开头的命令
setopt hist_verify # 在执行历史扩展命令前先显示给用户确认
#setopt share_history # 共享命令历史数据(已注释)
# 强制zsh显示完整历史记录
alias history="history 0"
# ==========第6步:其他设置,有点已经注释掉,有的还可以在用=======
# ==========时间格式配置 ======
#TIMEFMT=$'\n实际时间\t%E\n用户时间\t%U\n系统时间\t%S\nCPU使用率\t%P'
# ====== 设置less命令更友好 ======
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# ====== 设置chroot环境变量(用于提示符) ======
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# ====== 设置彩色提示符 ======
# 根据终端类型决定是否使用彩色提示符
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# 强制启用彩色提示符(取消注释以启用)
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# 终端支持颜色
color_prompt=yes
else
color_prompt=
fi
fi
# ====== 第7步:DIY自定义提示符设置 ======
# 获取IP地址以添加到提示符中
IP1=$(ip -4 addr | grep -v 127.0.0.1 | grep -v secondary | grep eth0 | grep -Po "inet \K[\d.]+") # 获取普通网络接口IP
IP2=$(ip -4 addr | grep -v 127.0.0.1 | grep -v secondary | grep tun0 | grep -Po "inet \K[\d.]+") # 获取VPN IP(如果已连接)
IP3=$(ip -4 addr | grep -v 127.0.0.1 | grep -v secondary | grep wlan0 | grep -Po "inet \K[\d.]+") # 获取无线网络IP(如果已连接)
# 根据找到的网络接口创建提示符部分
if [ $IP1 ]; then
LOCAL=$'\n%F{green}├──🖥️:%F{cyan}$IP1%b%F{green}'
else
LOCAL=""
fi
if [ $IP2 ]; then
VPN=$'\n%F{green}├──🔒:%F{cyan}$IP2%b%F{green}'
else
VPN=""
fi
if [ $IP3 ]; then
WIFI=$'\n%F{green}├──📶:%F{cyan}$IP3%F{green}'
else
WIFI=""
fi
# 目录和用户名设置
DIR=$'%B%F{yellow}%(6~.%-1~/.../%4~.%5~)%F{green}' # 当前目录显示
NAME=$'RedKaliXgj' # 用户名
if [ "$color_prompt" = yes ]; then
# 分部分组装提示符以提高可读性
# 建议:RedKaliXgj用户名,字体颜色改为绿色,因为是非root用户
LINE1=$'%F{green}┌──💀☠💀☠💀☠💀☠:%F{green}'$NAME'%F{green}'
LINE2=$LOCAL$VPN$WIFI
LINE3=$'\n├──'$DIR:''
LINE4=$'\n└──%F{magenta}➤➤➤: '
# 使用24小时制时间格式:2026年1月14日 15:10 下午
TIME_24H=$(date +"%Y年%m月%d日 %H:%M")
HOUR=$(date +"%H")
# 判断上午还是下午
if [ $HOUR -lt 12 ]; then
AM_PM="上午"
else
AM_PM="下午"
fi
# 组合完整的时间字符串
TIME="$TIME_24H $AM_PM"
# 主提示符和右侧提示符
PROMPT=$LINE1$LINE2$LINE3$LINE4
RPROMPT=$'%F{green}[%F{reset}'$TIME'%(?.. %? %F{red}%B⨯%b%F{reset})%(1j. %j %F{yellow}%B⚙%b%F{reset}.)%F{green} ]'
# ====== 第8步:自定义提示符设置结束 ======
# ====== 启用语法高亮 ======
if [ -f /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then
. /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern)
ZSH_HIGHLIGHT_STYLES[default]=none
ZSH_HIGHLIGHT_STYLES[unknown-token]=underline
ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=cyan,bold
ZSH_HIGHLIGHT_STYLES[suffix-alias]=fg=green,underline
ZSH_HIGHLIGHT_STYLES[global-alias]=fg=green,bold
ZSH_HIGHLIGHT_STYLES[precommand]=fg=green,underline
ZSH_HIGHLIGHT_STYLES[commandseparator]=fg=blue,bold
ZSH_HIGHLIGHT_STYLES[autodirectory]=fg=green,underline
ZSH_HIGHLIGHT_STYLES[path]=bold
ZSH_HIGHLIGHT_STYLES[path_pathseparator]=
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]=
ZSH_HIGHLIGHT_STYLES[globbing]=fg=blue,bold
ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=blue,bold
ZSH_HIGHLIGHT_STYLES[command-substitution]=none
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]=fg=magenta,bold
ZSH_HIGHLIGHT_STYLES[process-substitution]=none
ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]=fg=magenta,bold
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=fg=green
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=fg=green
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=none
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]=fg=blue,bold
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=yellow
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=yellow
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]=fg=yellow
ZSH_HIGHLIGHT_STYLES[rc-quote]=fg=magenta
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=magenta,bold
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=magenta,bold
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]=fg=magenta,bold
ZSH_HIGHLIGHT_STYLES[assign]=none
ZSH_HIGHLIGHT_STYLES[redirection]=fg=blue,bold
ZSH_HIGHLIGHT_STYLES[comment]=fg=black,bold
ZSH_HIGHLIGHT_STYLES[named-fd]=none
ZSH_HIGHLIGHT_STYLES[numeric-fd]=none
ZSH_HIGHLIGHT_STYLES[arg0]=fg=cyan
ZSH_HIGHLIGHT_STYLES[bracket-error]=fg=red,bold
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=fg=blue,bold
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=fg=green,bold
ZSH_HIGHLIGHT_STYLES[bracket-level-3]=fg=magenta,bold
ZSH_HIGHLIGHT_STYLES[bracket-level-4]=fg=yellow,bold
ZSH_HIGHLIGHT_STYLES[bracket-level-5]=fg=cyan,bold
ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]=standout
fi
else
# 非彩色提示符
PROMPT='${debian_chroot:+($debian_chroot)}%n@%m:%~%(#.#.$) '
fi
unset color_prompt force_color_prompt
# ====== Kali配置变量(不要修改这些分隔符) ======
NEWLINE_BEFORE_PROMPT=yes
# ====== Kali配置变量结束 ======
# ====== 第9步:终端标题设置和预处理函数 ======
# 如果是xterm等终端,设置标题为 user@host:dir
case "$TERM" in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty|konsole*|tmux*|screen*)
# 方法:标准标题设置
TERM_TITLE=$'\e]0;${debian_chroot:+($debian_chroot)}%n@%m: %~\a'
;;
*)
;;
esac
# 预命令执行函数时间函数:终端标题和时间
precmd() {
# 打印之前配置的标题
print -Pnr -- "$TERM_TITLE"
# 如果配置了在提示符前换行,则打印新行
if [ "$NEWLINE_BEFORE_PROMPT" = yes ]; then
if [ -z "$_NEW_LINE_BEFORE_PROMPT" ]; then
_NEW_LINE_BEFORE_PROMPT=1
else
print ""
fi
fi
# ====== 更新时间显示 ======
# 在每次提示符显示前更新时间
TIME_24H=$(date +"%Y年%m月%d日 %H:%M")
HOUR=$(date +"%H")
# 判断上午还是下午
if [ $HOUR -lt 12 ]; then
AM_PM="上午"
else
AM_PM="下午"
fi
# 组合完整的时间字符串
TIME="$TIME_24H $AM_PM"
}
# ====== 第10步:其他设置:启用ls、less和man的颜色支持,并添加实用别名 ======
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
# 修复具有777权限的文件夹的ls颜色
export LS_COLORS="$LS_COLORS:ow=30;44:"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias diff='diff --color=auto'
alias ip='ip --color=auto'
# 设置less命令的颜色
export LESS_TERMCAP_mb=$'\E[1;31m' # 开始闪烁
export LESS_TERMCAP_md=$'\E[1;36m' # 开始粗体
export LESS_TERMCAP_me=$'\E[0m' # 重置粗体/闪烁
export LESS_TERMCAP_so=$'\E[01;33m' # 开始反向视频
export LESS_TERMCAP_se=$'\E[0m' # 重置反向视频
export LESS_TERMCAP_us=$'\E[1;32m' # 开始下划线
export LESS_TERMCAP_ue=$'\E[0m' # 重置下划线
# 在补全中也利用$LS_COLORS
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
fi
# ====== 更多ls命令别名 ======
alias ll='ls -l' # 长格式列表
alias la='ls -A' # 列出所有文件(包括隐藏文件,但不包括.和..)
alias l='ls -CF' # 列格式,显示类型指示符
# ====== 启用基于历史的自动建议 ======
if [ -f /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ]; then
. /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
# 更改建议颜色
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=244'
fi
# ====== 启用command-not-found(如果已安装) ======
if [ -f /etc/zsh_command_not_found ]; then
. /etc/zsh_command_not_found
fi
# ====== 第11步:DIY自定义的欢迎信息 ======
show_welcome() {
# 颜色定义
local GREEN='\033[1;32m'
local BLUE='\033[1;34m'
local YELLOW='\033[1;33m'
local CYAN='\033[1;36m'
local NC='\033[0m'
# 获取系统信息
local USER=$(whoami)
local HOST=$(hostname)
local DATE=$(date '+%Y-%m-%d %H:%M:%S')
local DAY=$(date '+%A')
local UPTIME=$(uptime -p 2>/dev/null || echo "未知")
# 显示欢迎信息
echo -e "${GREEN}"
echo " ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"
echo " ┃ ┃"
echo -e " ${CYAN}✨ 欢迎 ${YELLOW}$USER${CYAN} 登录 ${YELLOW}$HOST${CYAN} ✨ "
echo " "
echo -e " 📅 ${BLUE}日期:${NC} $DATE ($DAY) "
echo -e " ⏱️ ${BLUE}运行:${NC} $UPTIME "
echo " ┃ ┃"
echo " ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"
echo -e "${NC}"
# 进度条
echo -e "\n${GREEN}欢迎光临!! 您 正在进入Kali Linux的黑客世界...${NC}"
echo -ne "${GREEN}["
# 更平滑的进度条
for i in {1..70}; do
echo -ne "▇▇"
sleep 0.02
done
echo -e "]${GREEN} 100% 完成!${NC}\n"
# 显示温馨提示
echo -e "${YELLOW}💡 温馨提示:${NC}"
echo -e " ${CYAN}•${NC} 注意:${GREEN}请遵守网络安全法规${NC},不要抱有侥幸心理!"
echo -e " ${CYAN}•${NC} 注意:${GREEN}黑客${NC}或${GREEN}红客${NC},是有区别的! "
echo -e " ${CYAN}•${NC} 注意:${GREEN}中国黑客${NC},就是要做中国的红客!"
echo -e " ${CYAN}•${NC} 注意:${GREEN}中国红客${NC},就是要立志保家为国!\n"
}
# 执行欢迎函数
show_welcome
四,root高级
注意:root设置,可能有风险,建议sudo进行,我是进入root下操作,推荐使用nano或者vim打开和编辑
su
cd
cp .zshrc .zshrcbak
mousepad .zshrc
. 注意将原来非root用户的RedKaliXgj
改为Root,注意建议root为红色字体,就是将原来代码清除,复制粘帖上述代码后,将局部修改一下即可
ini
#NAME=$'RedKaliXgj' # 用户名
NAME=$'Root超级用户' # 用户名
和
ini
#LINE1=$'%F{green}┌──💀☠💀☠💀☠💀☠:%F{green}'$NAME'%F{green}'
LINE1=$'%F{green}┌──💀☠💀☠💀☠💀☠:%F{red}'$NAME'%F{red}'
完成