第一部分 Linux 基础命令核心速查
1. 命令基础与帮助
- 命令本质:对应系统可执行程序,通用格式:命令 [选项] [文件/路径]
- 核心帮助查询:
- man 命令:查看命令完整手册,按q退出
- 命令 –help:查看命令简要用法
- info 命令:查看命令详细信息文档
- 终端通用快捷键:ctrl+l 清屏(等效clear命令)
- 通用通配符:* 匹配任意字符,例*.c匹配所有.c 后缀文件
2. 目录与路径核心操作
| pwd | 直接输入pwd | 打印当前终端所在绝对路径 |
| cd | cd [路径] | 切换到指定路径;无参数回到用户家目录 |
| cd ~ | 切换到当前用户家目录 | |
| cd .. | 切换到上一级目录 | |
| cd / | 切换到系统根目录 | |
| cd – | 切换回上一次所在目录 | |
| ls | ls [选项] [路径] | 列出目录内容,无路径默认当前目录 |
| ls -l | 查看文件详细信息(类型、权限、大小、修改时间等) | |
| ls -a | 查看所有文件,包括隐藏文件(. 开头) | |
| ls -i | 查看文件 inode 索引号 | |
| ls -ila | 组合参数,查看全量文件详细信息 + inode | |
| mkdir | mkdir 目录名 | 创建空目录,支持批量创建 |
| mkdir -p 多级路径 | 递归创建不存在的多级目录 | |
| rmdir | rmdir 空目录名 | 删除空目录,非空目录无法删除 |
3. 文件核心操作
| touch | touch 文件名1 文件名2… | 创建空白普通文件,支持批量创建 |
| cat | cat 文件名 | 查看文件全部内容,输出到终端 |
| rm | rm 文件名 | 删除普通文件,支持批量删除 |
| rm -r 目录名 | 递归删除目录及目录内所有内容 | |
| mv | mv 源文件 目标路径 | 移动文件到指定路径 |
| mv 原文件名 新文件名 | 重命名文件 / 目录 | |
| cp | cp 源文件 目标文件名 | 复制普通文件,目标文件存在则覆盖 |
| cp -r 源目录 目标目录 | 递归复制目录及所有内容 | |
| echo | echo 字符串 | 输出字符串到终端,默认自动换行 |
| echo 字符串 > 文件名 | 覆盖写入字符串到文件,文件不存在则创建 | |
| echo 字符串 >> 文件名 | 追加写入字符串到文件末尾 |
4. 压缩与解压
| tar 包 | tar -cvf 压缩包名.tar 待压缩文件 | tar -xvf 压缩包名.tar | -c:压缩;-x:解压;-v:显示过程;-f:指定包名(必须放最后) |
| tar.gz | tar -zcvf 压缩包名.tar.gz 待压缩文件 | tar -zxvf 压缩包名.tar.gz | -z:启用 gzip 压缩 |
| zip | zip 压缩包名.zip 待压缩文件 | unzip 压缩包名.zip | 直接压缩 / 解压 zip 格式 |
5. 用户与权限管理
用户操作
- sudo passwd root:设置 root 用户密码
- su [用户名]:切换用户,无参数默认切换到 root
- sudo 命令:临时提升权限执行命令
- useradd 用户名:创建新普通用户
- userdel 用户名:删除用户
- passwd 用户名:设置 / 修改用户密码
权限管理 chmod
- 权限说明:r (读 = 4)、w (写 = 2)、x (执行 = 1),分三组:所有者 (u)、同组用户 (g)、其他用户 (o)
- 数字法:chmod 777 文件名 (7=rwx,6=rw-,4=r–,0=—)
- 符号法:chmod u+x 文件名 给所有者加执行权限;chmod o-w 文件名 给其他用户减写权限
6. 硬链接与软链接
| 本质 | 同一个 inode 的多个别名,等效原文件 | 独立文件,存放源文件路径,相当于快捷方式 |
| 创建命令 | ln 源文件 链接名 | ln -s 源文件 链接名 |
| 目录支持 | 不支持对目录创建 | 支持对目录创建 |
| 源文件删除 | 链接文件仍可正常使用,内容不变 | 链接文件失效,无法访问 |
| inode 号 | 与源文件完全相同 | 有独立的 inode 号 |
7. GCC 编译器核心用法
- 安装:sudo apt install gcc
- 编译四阶段(了解原理):
- 预处理:gcc xxx.c -E -o xxx.i 展开头文件、宏替换、删除注释
- 编译:gcc xxx.i -S -o xxx.s 语法检查,生成汇编文件
- 汇编:gcc xxx.s -c -o xxx.o 生成二进制目标文件
- 链接:gcc xxx.o -o xxx 链接库 / 多文件,生成可执行文件
- 日常编译高频用法
- 单文件:gcc xxx.c -o xxx 编译生成名为 xxx 的可执行文件,无-o默认生成 a.out
- 多文件:gcc *.c -o xxx -I 头文件路径 编译当前目录所有.c 文件,-I指定头文件目录
- 库链接:-L 库路径 指定库文件目录,-l库名 指定链接的库名
8. 带参 main 函数
- 函数原型:int main(int argc, char *argv[])
- argc:参数个数,包含程序本身,至少为 1
- argv:字符串指针数组,argv[0]是程序名,argv[1]~argv[argc-1]是传入的参数
- 常用辅助函数:atoi(数字字符串) (头文件stdlib.h),将数字字符串转为 int 整数
第二部分 Vim 编辑器核心速查
1. Vim 启动方式
| vim | 无文件名启动,保存时需指定文件名 |
| vim filename | 打开 / 创建 filename 文件,可读可写 |
| vim -R filename | 只读方式打开,可强制保存 |
| vim -M filename | 严格只读,不可修改 |
| vim + filename | 打开文件,光标定位到文件末尾 |
| vim +num filename | 打开文件,光标定位到第 num 行 |
| vim +/string filename | 打开文件,光标定位到第一个匹配 string 的位置 |
2. Vim 四大核心模式
| 正常模式(默认) | 任意模式按Esc返回 | 无法编辑,执行快捷键指令(光标移动、复制、删除等) |
| 插入模式 | 正常模式按i/I/a/A/o/O/s/S | 文本编辑、内容输入 |
| 命令模式 | 正常模式输入: | 执行保存、退出、配置、查找替换等指令 |
| 可视模式 | 正常模式按v/V/Ctrl+v | 选择文本,执行批量复制 / 删除 / 修改 |
插入模式高频入口
- i:光标前插入;I:行首插入
- a:光标后插入;A:行尾插入
- o:下一行新建行插入;O:上一行新建行插入
- s:删除光标字符后插入;S:删除整行后插入
可视模式子类型
- v:普通字符选择,移动光标选中对应字符
- V(Shift+v):行选择,以行为单位选中
- Ctrl+v:块选择,矩形块选中,用于批量列操作
3. 核心操作快捷键(正常模式下)
3.1 光标移动
- 基础移动:h(左)、j(下)、k(上)、l(右)
- 单词跳转:w/W(下一个单词开头)、b/B(上一个单词开头)、e/E(当前单词末尾)
- 行内跳转:0(行首)、^(行首非空白字符)、$(行尾)
- 文件跳转:gg(文件开头)、G(文件末尾)、nG(跳转到第 n 行)
- 屏幕跳转:H(屏幕顶部)、M(屏幕中间)、L(屏幕底部)
- 翻页:Ctrl+f(前进一页)、Ctrl+b(后退一页)、Ctrl+d(前进半页)、Ctrl+u(后退半页)
- 相同单词跳转:*(下一个相同单词)、#(上一个相同单词)
3.2 复制、粘贴、删除
- 复制:yy(复制单行)、nyy(复制 n 行);可视模式选中后按y复制
- 粘贴:p(光标下一行粘贴)、P(光标上一行粘贴)
- 删除(剪切):
- dd(删除单行)、ndd(删除 n 行);ggdG(删除全文)
- cw(删除光标后一个单词,进入插入模式)
- c$(删除光标到行尾)、c^(删除光标到行首)
- cG(删除光标到文件末尾)、cgg(删除光标到文件开头)
- 可视模式选中后按d/x删除
3.3 撤销与重做
- u:撤销上一步操作
- Ctrl+r:反撤销(重做)
3.4 查找与替换
- 查找:正常模式输入/关键词,回车后按n跳转到下一个匹配项,N跳转到上一个
- 替换(命令模式下):
命令功能说明 :s/old/new 替换当前行第一个 old 为 new :s/old/new/g 替换当前行所有 old 为 new :%s/old/new/g 替换全文所有 old 为 new :%s/^/xxx/g 全文每一行行首插入 xxx :%s/$/xxx/g 全文每一行行尾插入 xxx
4. 高频批量操作
4.1 多行注释(// 为例)
4.2 取消多行注释
4.3 其他高频批量操作
- 全文格式化:正常模式输入gg=G,自动格式化全文代码缩进
- 全文选中:正常模式输入ggVG,选中全文内容
5. 命令模式核心指令
| :w | 保存当前文件 |
| :w 新文件名 | 另存为新文件 |
| :q | 退出(已保存修改) |
| :q! | 强制退出,不保存修改 |
| :wq / 😡 | 保存并退出 |
| :wq! | 强制保存并退出 |
| :e 文件名 | 关闭当前文件,打开新文件 |
| :e! | 重新加载当前文件,丢弃所有修改 |
| :set paste | 进入粘贴模式,避免外部粘贴代码排版错乱 |
| :set nopaste | 退出粘贴模式 |
| :set nu / set number | 显示行号 |
| :set nonu / set nonumber | 隐藏行号 |
| :colors 配色名 | 临时切换 vim 配色方案 |
6. Vim 永久配置(.vimrc)
- 配置文件路径:~/.vimrc,修改后重启 vim 永久生效
- 核心常用配置模板:
" 字符编码设置,解决中文乱码
set fileencoding=utf-8
set fileencodings=utf-8,gb2312,gb18030,latin1
set termencoding=utf-8
set encoding=utf-8
" 基础显示设置
syntax on " 开启语法高亮
set number " 显示行号
set cursorline " 高亮当前行
filetype on " 检测文件类型
filetype plugin on " 加载对应文件类型插件
" 缩进与tab设置
set tabstop=4 " tab宽度4个空格
set softtabstop=4
set shiftwidth=4
set autoindent " 自动缩进
set smartindent " 智能缩进
set cindent
set expandtab " tab自动转为空格
" 符号自动补全
inoremap { {<CR>}<ESC>i
inoremap [ []<ESC>i
inoremap ( ()<ESC>i
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
" 快捷键映射
inoremap jj <Esc> " 插入模式jj快速回到正常模式
set pastetoggle=<F10> " F10切换粘贴模式
" 配色方案
color peachpuff
" 兼容与基础优化
set nocompatible
set backspace=indent,eol,start
配色方案:系统自带配色存放路径/usr/share/vim/vimxx/colors/,修改配置文件中color 配色名即可切换
7. 避坑提示
- 正常模式下Ctrl+s会锁定 vim,按Ctrl+q解锁
- 外部粘贴代码建议先开启:set paste,避免缩进错乱
- 所有模式下按Esc均可回到正常模式,是解决操作异常的核心快捷键





