目录
Git常用命令手册
# ========== 仓库初始化与配置 ==========
git init # 创建一个新的本地仓库,在当前目录初始化Git仓库
# ========== 查看状态与差异 ==========
git status # 查看Git仓库的当前状态,显示已修改、已暂存、未跟踪的文件
git diff # 比较工作区与暂存区文件的差异(显示未暂存的修改)
git diff --cached # 比较暂存区与最新提交的差异(显示已暂存但未提交的修改)
# ========== 添加文件到暂存区 ==========
git add <file> # 将指定文件暂存到暂存区
git add . # 将当前目录下所有修改/新增的文件添加到暂存区
git add -A # 添加所有修改(包括删除和新增)到暂存区
# ========== 提交修改 ==========
git commit # 提交暂存区的修改到本地仓库(会打开编辑器输入提交信息)
git commit -m "message" # 直接附带提交信息进行提交
git commit -a # 提交所有已跟踪的文件(跳过 git add 步骤),但不会包含未跟踪的新文件
git commit --amend # 修改最后一次提交(可用于补充遗漏文件或修改提交信息)
# ========== 分支操作 ==========
git checkout <branch> # 切换到指定分支,并更新工作区
git checkout -b <new-branch> # 创建一个新分支,并立即切换到该分支
git branch # 列出所有本地分支(当前分支前有 * 标记)
git branch <branch> # 创建一个新分支(但不会切换)
git branch -d <branch> # 删除指定分支(仅当分支已合并时可用)
git branch -D <branch> # 强制删除指定分支(无论是否合并)
# ========== 查看历史 ==========
git log # 显示当前分支的提交历史(按时间倒序)
git log --oneline # 简洁模式显示提交历史,每行显示一个提交
git log --graph # 以图形化方式显示分支合并历史
# ========== 远程仓库操作 ==========
git fetch <remote> # 从远程仓库拉取所有分支到本地(但不自动合并)
git pull <remote> <branch> # 从远程仓库拉取指定分支到本地,并自动合并到当前分支
git push <remote> <branch> # 将本地仓库的修改上传到远程仓库的指定分支
# ========== 合并与变基 ==========
git merge <branch> # 合并指定分支到当前分支(生成一个合并提交)
git rebase <branch> # 变基操作,将当前分支的提交放到目标分支之后(保持线性历史)
# ========== 撤销与回退 ==========
git revert <commit-id> # 创建一个新提交来撤销指定的历史提交(安全撤销,不丢失历史)
git reset --soft <commit> # 回退到指定提交,但保留工作区和暂存区的修改
git reset --hard <commit> # 回退到指定提交,丢弃所有工作区和暂存区的修改(⚠️危险操作)
git reset HEAD <file> # 将文件从暂存区移除(取消暂存),但保留工作区修改
git checkout -- <file> # 丢弃工作区中文件的修改,恢复到暂存区或最新提交的状态
# ========== 其他常用命令 ==========
git remote -v # 查看当前配置的远程仓库地址
git clone <url> # 克隆远程仓库到本地
git tag <tagname> # 给当前提交打标签
git stash # 暂存当前工作区的修改,使工作区恢复干净
git stash pop # 恢复最近一次暂存的修改
linux 常用命令手册
# 文件与目录操作
ls # 列出目录内容
ls -l # 以长格式显示详细信息
ls -a # 显示所有文件(包括隐藏文件)
ls -lh # 人性化显示文件大小
ls -lt # 按修改时间排序
pwd # 显示当前工作目录
cd <目录> # 切换工作目录
cd ~ # 切换到用户主目录
cd - # 切换到上一个工作目录
mkdir <目录名> # 创建新目录
mkdir -p <路径> # 递归创建多级目录
rmdir <空目录> # 删除空目录
rm <文件> # 删除文件
rm -r <目录> # 递归删除目录及其内容
rm -f <文件> # 强制删除,不提示
cp <源> <目标> # 复制文件或目录
cp -r <源目录> <目标目录> # 递归复制目录
mv <源> <目标> # 移动或重命名文件/目录
ln -s <目标> <链接名> # 创建软链接(符号链接)
ln <目标> <链接名> # 创建硬链接
# 文件内容查看
cat <文件> # 显示文件全部内容
less <文件> # 分页查看文件(支持上下翻页)
more <文件> # 分页查看文件(仅向下翻页)
head <文件> # 显示文件开头(默认10行)
tail <文件> # 显示文件结尾(默认10行)
tail -f <文件> # 实时追踪文件更新
nl <文件> # 显示文件并添加行号
# 文本处理
grep <模式> <文件> # 在文件中搜索匹配的行
grep -r <模式> <目录> # 递归搜索目录内所有文件
grep -v <模式> <文件> # 显示不匹配的行
grep -i <模式> <文件> # 忽略大小写
grep -n <模式> <文件> # 显示匹配行及行号
wc <文件> # 统计行数、单词数、字符数
wc -l <文件> # 仅统计行数
sort <文件> # 对文件内容排序
uniq <文件> # 去除重复行(通常与sort配合)
cut -d':' -f1 <文件> # 按分隔符截取字段
awk '{print $1}' # 处理文本列(功能强大)
sed 's/旧/新/g' <文件> # 流编辑器,替换文本
# 文件属性与权限
stat <文件> # 显示文件详细状态信息(大小、权限、时间戳等)
file <文件> # 识别文件类型
du -sh <文件/目录> # 查看文件/目录占用磁盘大小
df -h # 查看磁盘分区使用情况
ls -l # 查看文件权限、所有者等
chmod 755 <文件> # 修改文件权限(数字法)
chmod u+x <文件> # 添加执行权限
chown <用户>:<组> <文件> # 修改文件所有者和组
umask # 显示或设置文件权限掩码
# 查找文件
find <路径> -name <文件名> # 按名称查找文件
find <路径> -type f # 只查找普通文件
find <路径> -mtime -7 # 查找7天内修改过的文件
locate <文件名> # 快速查找文件(依赖数据库)
which <命令> # 显示命令的绝对路径
whereis <命令> # 显示命令及其相关文件位置
# 系统信息
uname -a # 查看系统内核版本等信息
whoami # 显示当前用户名
id # 显示用户ID和组ID
date # 显示当前日期时间
cal # 显示日历
uptime # 查看系统运行时间及负载
top # 实时显示进程动态
htop # 增强版top(需安装)
ps aux # 查看所有进程
kill <PID> # 终止进程
kill -9 <PID> # 强制终止进程
jobs # 显示后台任务
fg # 将后台任务调到前台
bg # 将前台任务放到后台
# 网络相关
ifconfig # 查看/配置网络接口(部分系统需安装net-tools)
ip addr # 现代系统查看IP信息
ping <主机> # 测试网络连通性
netstat -tuln # 查看端口监听状态
ss -tuln # 更现代的网络统计工具
curl <URL> # 发送HTTP请求并获取响应
wget <URL> # 下载文件
ssh <用户>@<主机> # 远程登录
# 文件传输
scp <本地文件> <用户>@<主机>:<路径> # 远程复制文件
scp 用户名@远程服务器IP:远程文件路径 本地保存路径 # 从远程服务器复制文件到本地
rsync -avP 用户名@远程服务器IP:远程文件路径 本地保存路径 # 使用rsync进行增量同步,支持断点续传、增量同步
sz 文件名 # 此方式依赖终端软件的Zmodem支持,已在SSH会话中时使用,将文件从服务器发送到本地
rz # 此方式依赖终端软件的Zmodem支持,已在SSH会话中时使用,将文件从本地发送到服务器
# 压缩与归档
tar -cvf archive.tar <文件/目录> # 打包成tar(不压缩)
tar -xvf archive.tar # 解包tar
tar -czvf archive.tar.gz <文件/目录> # 打包并用gzip压缩
tar -xzvf archive.tar.gz # 解压tar.gz
tar -cjvf archive.tar.bz2 <文件/目录> # 打包并用bzip2压缩
tar -xjvf archive.tar.bz2 # 解压tar.bz2
zip -r archive.zip <文件/目录> # 压缩成zip
unzip archive.zip # 解压zip
# 包管理(以Debian/Ubuntu为例)
apt update # 更新软件包列表
apt upgrade # 升级已安装软件包
apt install <软件名> # 安装软件包
apt remove <软件名> # 卸载软件包
# 其他实用命令
echo <文本> # 输出文本到标准输出
export <变量>=<值> # 设置环境变量
env # 显示所有环境变量
alias <别名>='<命令>' # 创建命令别名
unalias <别名> # 取消别名
history # 显示历史命令
clear # 清屏
man <命令> # 查看命令手册
help <命令> # 查看shell内置命令帮助
type <命令> # 判断命令是内置还是外部
linux 命令速查表
# ========== 目录与文件操作 ==========
ls # 列出目录内容
cd <目录> # 更改目录
pwd # 显示当前工作目录
mkdir <目录名> # 创建目录
rmdir <空目录> # 删除空目录
rm <文件> # 删除文件或目录(加 -r 删除目录)
cp <源> <目标> # 复制文件或目录(加 -r 复制目录)
mv <源> <目标> # 移动或重命名文件或目录
touch <文件名> # 创建空文件或更新文件时间戳
# ========== 文件内容查看 ==========
cat <文件> # 连接并显示文件内容
less <文件> # 分页查看文件内容(支持上下翻页)
more <文件> # 查看文件内容(仅向下翻页,类似 less)
head <文件> # 显示文件开头(默认10行)
tail <文件> # 显示文件结尾(默认10行)
tail -f <文件> # 实时追踪文件更新
# ========== 文本搜索与查找 ==========
grep <模式> <文件> # 在文件内搜索文本
find <路径> -name <文件名> # 在目录层次结构中搜索文件
locate <文件名> # 按名称快速查找文件(依赖数据库)
# ========== 命令帮助 ==========
man <命令> # 显示命令的手册(详细帮助)
info <命令> # 显示命令信息(更详细的文档)
which <命令> # 定位命令的绝对路径
# ========== 文件权限与属性 ==========
chmod <权限> <文件> # 更改文件模式或访问控制列表
chown <用户>:<组> <文件> # 更改文件所有者/组
# ========== 进程管理 ==========
ps # 报告当前进程的快照
ps aux # 显示所有进程的详细信息
top # 动态显示 Linux 任务(实时刷新)
htop # 交互式进程查看器(增强版 top)
kill <PID> # 终止进程(发送指定信号)
pkill <进程名> # 按名称终止进程
# ========== 系统资源查看 ==========
df -h # 报告文件系统磁盘空间使用情况(人性化显示)
du -sh <文件/目录> # 估计文件空间使用量
free -h # 显示内存使用情况
uptime # 告知系统已运行多长时间、负载情况
uname -a # 打印系统信息(内核版本、主机名等)
# ========== 网络操作 ==========
ifconfig # 配置网络接口(传统命令,需安装 net-tools)
ip addr # 显示/操作路由、设备、策略路由和隧道(现代命令)
ping <主机> # 向网络主机发送 ICMP 请求,测试连通性
netstat -tuln # 打印网络连接、路由表、接口统计等
ss -tuln # 另一个用于调查套接字的工具(替代 netstat)
wget <URL> # 从网络检索文件(非交互式下载)
curl <URL> # 从或向服务器传输数据(支持多种协议)
scp <本地> <用户@主机:路径> # 安全复制文件(远程文件复制)
ssh <用户>@<主机> # OpenSSH 客户端,远程登录
# ========== 压缩与归档 ==========
tar -cvf archive.tar <文件/目录> # 存储文件到归档(打包,不压缩)
tar -xvf archive.tar # 从归档中提取文件(解包)
tar -czvf archive.tar.gz <文件/目录> # 使用 gzip 压缩打包
tar -xzvf archive.tar.gz # 解压 gzip 格式归档
gzip <文件> # 压缩文件(生成 .gz)
gzip -d <文件.gz> # 解压 gzip 文件
bzip2 <文件> # 使用 bzip2 压缩文件(生成 .bz2)
bzip2 -d <文件.bz2> # 解压 bzip2 文件
xz <文件> # 使用 XZ 格式压缩文件(生成 .xz)
xz -d <文件.xz> # 解压 XZ 文件
zip -r archive.zip <文件/目录> # 打包并压缩为 zip 格式
unzip archive.zip # 从 zip 归档中提取压缩文件
# ========== 文本输出与编辑器 ==========
echo <文本> # 显示一行文本到标准输出
nano <文件> # 简单的文本编辑器(适合新手)
vim <文件> # 高级文本编辑器(功能强大)