目录

返回 主页

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 <文件>               # 高级文本编辑器(功能强大)

返回 主页