Linux 命令行工具参考手册
目录
文件管理
bat - cat 命令的增强版
# 基本用法
bat file.txt
# 语法高亮指定语言
bat --language=python script.py
# 显示行号但不高亮
bat --plain file.txt
# 多文件对比
bat file1.txt file2.txt
eza - ls 命令的现代替代品
# 基本列表
eza
# 详细列表(类似ls -l)
eza -l
# 显示隐藏文件
eza -a
# 树状显示
eza --tree
# 按大小排序
eza -ls size
fd - find 命令的替代品
# 基本搜索(通常可使用fd命令,实际命令可能是fdfind)
fd pattern
# 搜索指定类型文件
fd -e txt
# 排除特定目录
fd pattern -E node_modules/
# 执行命令到搜索结果
fd -e jpg -x convert {} {.}.png
fzf - 模糊查找器
# 交互式文件查找
fzf
# 搜索历史命令
history | fzf
# 与其他命令结合
vim $(fzf)
# 设置环境变量(在.bashrc或.zshrc中)
export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --border"
ncdu - 磁盘使用分析器
# 分析当前目录
ncdu
# 分析特定目录
ncdu /var
# 排除特定内容
ncdu -X ~/.ncduignore /
# 导出结果
ncdu -o result.file /
# 导入结果
ncdu -f result.file
ranger - 终端文件管理器
# 启动ranger
ranger
# 主要快捷键:
# - 方向键或hjkl: 导航
# - Enter: 打开文件/进入目录
# - q: 退出
# - zh: 显示隐藏文件
# - space: 选择文件
# - yy: 复制
# - dd: 剪切
# - pp: 粘贴
# - /: 搜索
# 首次运行会创建配置文件
# 配置文件位置: ~/.config/ranger/
tree - 目录结构显示
# 显示目录结构
tree
# 限制层级深度
tree -L 2
# 只显示目录
tree -d
# 显示隐藏文件
tree -a
# 显示文件大小
tree -h --du
zoxide - 智能 cd 命令
# 首先需要在shell配置中添加(~/.bashrc或~/.zshrc)
eval "$(zoxide init bash)" # 对于bash
# 或
eval "$(zoxide init zsh)" # 对于zsh
# 基本导航(代替cd)
z directory_name
# 列出访问频率最高的目录
z -l
# 交互式选择(需要fzf)
zi
# 添加当前目录到数据库
z -a .
系统监控
btop - 系统资源监视器
# 启动btop
btop
# 交互式快捷键:
# - q 或 ESC: 退出
# - 1-4: 切换视图
# - m: 切换内存视图
# - p: 显示进程属性
# - hjkl 或 方向键: 导航
fastfetch/neofetch - 系统信息显示
# 显示系统信息
fastfetch
# 指定输出格式
fastfetch --format json
# 自定义显示内容
fastfetch --structure "title:os:kernel:memory"
# neofetch版本
neofetch
# 自定义输出信息
neofetch --config none --info "title os kernel uptime packages memory"
# 使用不同的ASCII艺术
neofetch --ascii_distro debian
# 显示特定信息
neofetch --memory --cpu --disk
htop - 进程查看器
# 启动htop
htop
# 交互式快捷键:
# - F1: 帮助
# - F2: 设置
# - F3: 搜索进程
# - F4: 按名称过滤
# - F5: 树状视图
# - F6: 排序
# - F9: 杀死进程
# - q: 退出
iftop - 网络带宽监控
# 基本用法
sudo iftop
# 监控特定接口
sudo iftop -i eth0
# 显示端口号
sudo iftop -P
# 交互键:
# - n: 切换主机名显示
# - s: 显示源主机
# - d: 显示目标主机
# - p: 显示端口
# - q: 退出
iotop - IO 监控
# 启动iotop
sudo iotop
# 只显示有IO活动的进程
sudo iotop -o
# 批处理模式
sudo iotop -b -n 5
# 交互键:
# - o: 切换是否只显示有IO活动的进程
# - p: 按IO使用率排序
# - a: 累计模式
# - q: 退出
sysstat - 系统性能工具集
# iostat - 显示IO统计
iostat
# mpstat - 显示处理器统计
mpstat
# sar - 收集并报告系统活动
sar
# 收集并保存指定时间的性能数据
sar -o output.file 1 10
# 查看历史性能数据
sar -f /var/log/sysstat/sa01
vnstat - 网络流量监控
# 查看所有接口流量
vnstat
# 查看特定接口流量
vnstat -i eth0
# 实时流量监控
vnstat -l -i eth0
# 每小时流量统计
vnstat -h
# 每日流量统计
vnstat -d
# 每月流量统计
vnstat -m
文本处理
ripgrep - 递归搜索工具
# 基本搜索
rg pattern
# 递归搜索特定类型的文件
rg pattern -g '*.py'
# 显示上下文
rg pattern -C 3
# 大小写不敏感搜索
rg -i pattern
# 使用正则表达式
rg '\d{4}-\d{2}-\d{2}'
# 排除目录
rg pattern --glob '!node_modules'
xsel - 剪贴板管理
# 将文本复制到剪贴板
echo "text" | xsel --clipboard
# 从剪贴板读取内容
xsel --clipboard
# 将文件内容复制到剪贴板
xsel --clipboard < file.txt
# 将剪贴板内容保存到文件
xsel --clipboard > file.txt
# 清空剪贴板
xsel -c
网络工具
aria2 - 下载工具
# 基本下载
aria2c "http://example.org/myfile.zip"
# 多线程下载(默认5线程)
aria2c -x 10 "http://example.org/myfile.zip"
# 断点续传
aria2c -c "http://example.org/myfile.zip"
# 下载BT种子
aria2c "magnet:?xt=urn:btih:..."
# 或
aria2c example.torrent
curl - 数据传输工具
# 获取网页内容
curl https://example.com
# 下载文件
curl -O https://example.com/file.zip
# 发送POST请求
curl -X POST -d "data=value" https://api.example.com
# 显示响应头
curl -I https://example.com
iperf3 - 网络性能测试
# 服务器模式
iperf3 -s
# 客户端模式,连接到服务器
iperf3 -c server_ip
# 指定测试时间(秒)
iperf3 -c server_ip -t 30
# 双向测试
iperf3 -c server_ip -d
# UDP测试
iperf3 -c server_ip -u -b 100M
nmap - 网络扫描工具
# 基本扫描
nmap 192.168.1.1
# 扫描网络范围
nmap 192.168.1.0/24
# 端口扫描
nmap -p 22,80,443 example.com
# 服务版本检测
nmap -sV example.com
# 操作系统检测
sudo nmap -O example.com
# 全面漏洞扫描
nmap -A example.com
ntpdate - 时间同步
# 与NTP服务器同步系统时间
sudo ntpdate pool.ntp.org
# 只查看时间差异不更新
ntpdate -q pool.ntp.org
# 使用特定NTP服务器
sudo ntpdate time.nist.gov
开发工具
build-essential - 编译工具
# 包含gcc、g++和make等工具,用于编译C/C++程序
# 编译C程序
gcc -o program program.c
# 编译C++程序
g++ -o program program.cpp
# 使用make构建项目
make
git - 版本控制
# 初始化仓库
git init
# 克隆仓库
git clone https://github.com/user/repo.git
# 提交更改
git add .
git commit -m "提交信息"
# 拉取和推送
git pull origin main
git push origin main
neovim - 文本编辑器
# 打开文件
nvim file.txt
# 常用模式切换:
# - i: 进入插入模式
# - Esc: 回到普通模式
# - v: 进入可视模式
# - :: 进入命令模式
# 保存和退出
# :w (保存)
# :q (退出)
# :wq (保存并退出)
# :q! (强制退出不保存)
# 插件安装(需先安装插件管理器如vim-plug)
# 编辑配置文件: nvim ~/.config/nvim/init.vim
pip - Python 包管理
# 安装包
pip install package_name
# 列出已安装的包
pip list
# 升级包
pip install --upgrade package_name
# 安装特定版本
pip install package_name==1.0.0
# 从requirements.txt安装
pip install -r requirements.txt
实用工具
lolcat - 彩虹文本
# 基本用法
command | lolcat
# 常用示例
cat file.txt | lolcat
echo "Hello World" | lolcat
# 动画模式
lolcat -a file.txt
# 调整速度和跳动
lolcat -s 100 -f file.txt
taskwarrior - 任务管理
# 添加任务
task add "完成项目报告"
# 列出任务
task list
# 标记任务完成
task 1 done
# 修改任务
task 2 modify priority:H due:tomorrow
# 任务详情
task 1 info
# 报告模式
task burndown
tldr - 命令示例
# 查看命令示例
tldr tar
# 更新本地缓存
tldr --update
# 列出所有可用命令
tldr --list
# 查看特定平台的命令
tldr --platform=linux ls
tmux - 终端复用器
# 创建新会话
tmux
# 创建命名会话
tmux new -s mysession
# 列出会话
tmux ls
# 附加到会话
tmux attach -t mysession
# 主要快捷键(默认前缀是Ctrl+b):
# - 前缀 + c: 创建新窗口
# - 前缀 + ,: 重命名窗口
# - 前缀 + n/p: 下一个/上一个窗口
# - 前缀 + %: 垂直分割窗格
# - 前缀 + ": 水平分割窗格
# - 前缀 + 方向键: 切换窗格
# - 前缀 + d: 分离会话
# - 前缀 + z: 窗格全屏切换
多媒体工具
feh - 图片查看器
# 查看图片
feh image.jpg
# 幻灯片模式
feh -Z -D 5 *.jpg
# 设置桌面壁纸
feh --bg-scale wallpaper.jpg
# 缩略图浏览
feh -t -E 100 -y 100 images/
imagemagick - 图像处理
# 转换图像格式
convert image.jpg image.png
# 调整图像大小
convert image.jpg -resize 800x600 resized.jpg
# 旋转图像
convert image.jpg -rotate 90 rotated.jpg
# 添加文本
convert image.jpg -annotate +50+50 'Hello' annotated.jpg
# 创建GIF
convert -delay 100 -loop 0 *.png animation.gif
Shell 增强
fonts-powerline - 特殊符号字体
# 这是字体包,安装后可在终端和提示符中使用特殊符号
# 配置示例(~/.zshrc中)
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator time)
zsh - 增强 Shell
# 切换到zsh
zsh
# 设置为默认shell
chsh -s $(which zsh)
# 配置文件
# ~/.zshrc - 主配置文件
# ~/.oh-my-zsh - 如果使用oh-my-zsh框架
# 安装oh-my-zsh(推荐)
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 主要特性:
# - 高级自动补全
# - 拼写纠正
# - 路径替换
# - 丰富的主题
# - 插件系统