# # ~/.bashrc # # If not running interactively, don't do anything [[ $- != *i* ]] && return # 基础别名 alias ls='ls --color=auto' alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' alias grep='grep --color=auto' # 安全操作 alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # 导航别名 alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' # 系统信息 alias df='df -h' alias du='du -h' alias dus='du -sh * | sort -nr' alias free='free -h' # Git 快捷方式 alias gs='git status' alias ga='git add' alias gc='git commit' alias gp='git push' alias gl='git log --oneline' alias tms='sh /home/smart/.tms3/starter/tms-tools.sh' alias rtms='sh /home/smart/.tms3/starter/restart' # 文件大小查看别名 alias size='ls -lahSr' # 简单版本 alias sizes='du -sh * | sort -h' # 准确版本 alias sizeall='du -sh .[!.]* * 2>/dev/null | sort -h' # 包含隐藏文件 # 详细版本,显示文件权限和大小 alias sizedetail='du -sh * | sort -h | while read s n; do ls -ld "$n" | awk '\''{printf "%-10s %-5s %-8s ", $1, $3, $4}'\''; echo "$s $n"; done' # 文件大小查看函数 fsize() { local path="${1:-.}" # 默认当前目录 local depth="${2:-0}" # 目录深度 echo "=== 文件大小统计: $path ===" if [ "$depth" -eq 0 ]; then # 只显示当前目录下的文件 du -sh "$path"/* 2>/dev/null | sort -h else # 显示指定深度的目录结构 find "$path" -maxdepth "$depth" -type f -exec du -sh {} + 2>/dev/null | sort -h fi } # 快捷别名 alias sz='fsize . 0' alias sz1='fsize . 1' alias sz2='fsize . 2' # 环境变量 export EDITOR=vim export VISUAL=vim export HISTSIZE=10000 export HISTFILESIZE=20000 # Wine 环境变量 - 添加到 PATH export WINE_HOME="/home/smart/wine" export PATH="$WINE_HOME/bin:$PATH" # 彩色提示符 PS1='\[\033[01;33m\]\t\[\033[00m\] \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' # 实用函数 mkcd() { mkdir -p "$1" && cd "$1"; } findf() { find . -name "$1" -type f 2>/dev/null; } # 检查 wine 是否可用 wine-check() { if command -v wine >/dev/null 2>&1; then echo "✓ Wine is available: $(which wine)" wine --version else echo "✗ Wine not found in PATH" echo "Current PATH: $PATH" fi }