鲁ICP备2024118681号
Collect from网页模板
Modified by 博客

实用 Shell 命令手册:从入门到高效操作

掌握这些命令,让你的终端效率翻倍!

在日常开发、系统管理或自动化任务中,熟练使用 Shell 命令是提升效率的关键。本文整理了高频实用的 Shell 命令,涵盖:命令历史、文件操作、目录导航、文本处理、端口管理、别名配置、Mac 特有技巧等,并提供清晰示例与最佳实践。


一、命令历史与快捷操作

1. history:查看与管理命令历史

history            # 显示最近执行的所有命令
history 5          # 只显示最近 5 条
!N                 # 执行历史中的第 N 条命令(如 !123)
!!                 # 重复上一条命令
!$                 # 引用上条命令的最后一个参数
!command           # 执行最近一次以 command 开头的命令(如 !ls)

管理历史记录

history -d 990     # 删除第 990 条历史记录
history -c         # 清空整个命令历史(当前会话)

⚠️ 注意:history -c 不会永久删除,重启终端后可能恢复(取决于 HISTFILE 配置)。

快速搜索命令

  • Ctrl + R:进入反向搜索模式,输入关键词查找历史命令
    (继续按 Ctrl + R 可查找更早的匹配项)

💡 小技巧:输入 hist 后按 Ctrl + R 搜索“ssh”,可快速找到之前的登录命令。


二、目录切换:cd 命令进阶用法

命令 作用
cdcd ~ 回到当前用户的主目录(如 /home/user/Users/user
cd - 切换到上一次所在目录(目录切换“返回键”)
cd .. 进入上级目录
cd ../.. 进入上两级目录
cd !$ 使用上一条命令的最后一个参数作为路径(如 ls /tmp && cd !$

✅ 示例: bash ls /var/log/nginx cd !$ # 相当于 cd /var/log/nginx


三、文本编辑器 Vim 快捷命令(命令模式)

适用于 vimvi 编辑器

命令 功能
:w 保存文件,不退出
:w filename 另存为 filename
:w! 强制保存(覆盖只读文件)
:wq:x 保存并退出
:wq! 强制保存并退出
:q 退出(无修改)
:q! 强制退出,不保存
:e! 放弃所有修改,重新加载文件
:0:1 跳转到第 1 行
:$ 跳转到最后一行
nyy + p 复制 n 行并粘贴(如 5yy 复制 5 行)
dd 删除当前行
ndd 删除 n 行(如 3dd 删除 3 行)
u 撤销上一步操作
Ctrl + r 重做(恢复撤销的操作)
ZZ 保存并退出(等价于 :wq

💡 提示:进入命令模式需先按 Esc


四、系统清理:释放磁盘空间

1. 清理 APT 缓存(Ubuntu/Debian)

sudo apt-get clean           # 清理所有下载的 .deb 包缓存
sudo apt-get autoclean       # 仅清理旧版本的缓存包
sudo apt-get autoremove      # 删除不再需要的依赖包(孤立包)

✅ 建议定期执行,可释放数百 MB 甚至 GB 空间。

2. 查找并清理孤立包(Debian/Ubuntu)

# 安装 deborphan 工具
sudo apt-get install deborphan -y

# 查看可删除的孤立包
deborphan

# 删除所有孤立包
sudo deborphan | xargs sudo apt-get -y remove --purge

可手动删除这些目录中的文件以释放空间。


五、文件与文件夹操作

1. 初始化与追加内容

echo 'init' > test.txt      # 创建文件并写入内容(覆盖)
echo 'new line' >> test.txt # 追加内容到文件末尾

2. 替换文件中的字符串(sed

# 将 test.txt 中的所有单引号 ' 替换为双引号 "
sed -i "s/'/\"/g" test.txt

# 使用 # 作为分隔符(避免与 / 冲突)
sed -i 's#http://#https://#g' config.txt

🔐 -i 表示“就地修改”,建议先备份原文件


3. 查找大文件

# 查找大于 800MB 的文件,并按大小排序
find . -type f -size +800M -print0 | xargs -0 du -h | sort -hr

# 当前目录下各子目录大小(深度1)
du -h -d 1 | sort -hr

# 显示前 12 个最大的子目录(深度2)
du -hm --max-depth=2 | sort -nr | head -12

💡 sort -hr:人类可读格式(-h) + 逆序排序(-r)


4. 统计文件夹内所有文件总行数

find ./target-directory -type f -name "*.txt" | xargs cat | wc -l

可添加 -name "*.py" 等过滤特定类型文件。


5. 批量替换文件夹内所有文件中的字符串

find . -type f -exec sed -i 's/apple/iphone/g' {} \;

⚠️ 警告:此命令会修改所有文件!建议先测试: bash find . -type f -exec grep -l "apple" {} \; # 先查看哪些文件包含 "apple"


六、端口与进程管理

1. 查找占用指定端口的进程

# 方法一:netstat(较旧,部分系统已弃用)
netstat -atnp | grep :8080

# 方法二:lsof(推荐)
lsof -i :8080

# 输出示例:
# COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
# node    12345   user   20u  IPv6 123456      0t0  TCP *:http-alt (LISTEN)

2. 终止进程

kill -9 12345    # 强制终止 PID 为 12345 的进程

✅ 安全做法:先尝试 kill 12345(软终止),无效再用 -9


七、MacOS 专属技巧

1. 为 Python 创建软链接(解决命令找不到)

# 将 Python 3.12 添加到 PATH
sudo ln -s /Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12 /usr/local/bin/python
sudo ln -s /Library/Frameworks/Python.framework/Versions/3.12/bin/pip3.12 /usr/local/bin/pip

💡 推荐使用 pyenv 管理多版本 Python。


八、高效别名(Alias)配置

将以下内容添加到 ~/.bashrc~/.zshrc 文件中,大幅提升效率:

# ===== 文件与目录 =====
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# ===== Git =====
alias gta='git add .'
alias gtc='git commit -m'
alias gts='git status'
alias gtk='git checkout'
alias gtb='git branch'
alias gtp='git pull'
alias gtpo='git pull origin'
alias gtl='git log --oneline'
alias gtrh='git reset --soft HEAD~1'
alias gtdh='git diff HEAD'

# ===== Docker =====
alias dkb='docker build'
alias dki='docker images'
alias dkp='docker ps -a'
alias dkr='docker run'
alias dksp='docker system prune -af'
alias dkl='docker logs'

# ===== Python =====
alias python='python3.12'
alias pip='pip3.12'

# ===== Java & Homebrew =====
export JAVA_HOME='/usr/local/Cellar/openjdk@11/11.0.12/libexec/openjdk.jdk/Contents/Home'
export PATH="/usr/local/opt/openjdk@11/bin:$PATH"
export PATH="/usr/local/sbin:$PATH"
export HOMEBREW_NO_AUTO_UPDATE=1  # 关闭 Homebrew 自动更新(提升速度)

✅ 配置后执行 source ~/.zshrc(或 ~/.bashrc)生效。


九、实用在线工具推荐

工具 用途 链接
ExplainShell 输入命令,自动解析各部分含义 https://explainshell.com
C 菜鸟工具 在线运行 Shell、Python、C 等代码 https://c.runoob.com/compile/18
ShellCheck 检查 Shell 脚本语法错误 https://www.shellcheck.net

十、最佳实践与安全建议

  1. 备份重要文件:使用 sed -i 或批量操作前,先备份。
  2. 权限最小化:避免滥用 sudo,尤其是配合 findxargs
  3. 使用 .bash_aliases:将别名单独存放,便于管理。
  4. 学习 tmuxscreen:长时间任务使用会话管理工具。
  5. 定期清理历史:避免敏感信息(如密码)留在 ~/.bash_history

发表评论

评论列表,共 0 条评论

    暂无评论