
文章目录
- 一、总览
- 二、目录操作命令
-
- [1. 查看和切换目录](#1. 查看和切换目录)
- [2. 创建与删除目录](#2. 创建与删除目录)
- [3. 复制与移动目录](#3. 复制与移动目录)
- [4. 路径小贴士](#4. 路径小贴士)
- 三、文件操作命令
-
- [1. 文件的创建与删除](#1. 文件的创建与删除)
- [2. 文件的复制、移动与重命名](#2. 文件的复制、移动与重命名)
- [3. 文件内容查看](#3. 文件内容查看)
- [四、Vim 编辑器命令](#四、Vim 编辑器命令)
-
- (一)普通模式
-
- [1. 文本编辑(删除复制粘贴)](#1. 文本编辑(删除复制粘贴))
- [2. 光标移动](#2. 光标移动)
- [3. 撤销与恢复](#3. 撤销与恢复)
- [4. 快速进入插入模式](#4. 快速进入插入模式)
- (二)插入模式
-
- [1. 快速进入普通模式](#1. 快速进入普通模式)
- [2. 光标移动](#2. 光标移动)
- (三)命令模式
-
- [1. 保存与退出](#1. 保存与退出)
- [2. 全局搜索与替换](#2. 全局搜索与替换)
- [3. 分屏与多文件操作](#3. 分屏与多文件操作)
- [4. 显示行号](#4. 显示行号)
- [5. 原样粘贴](#5. 原样粘贴)
- [6. 对齐与格式化](#6. 对齐与格式化)
- 五、查看系统信息
- 六、C语言编译命令
一、总览
Linux的在线帮助命令(man):在 Linux 中,若要查找一个命令的用法,使用 man 命令获取详细说明
- 一般来说:
- 手册 1:用户命令
- 手册 2:系统调用函数
- 手册 3:标准库函数
| man 手册 1 | man 手册 2 | man 手册 3 | |
|---|---|---|---|
| 内容 | 可执行程序或 Shell 命令 | 操作系统内核提供的函数接口 | 标准库函数 |
| 面向对象 | 普通用户 | 系统程序员 | 应用开发者 |
| 说明 | 命令行中直接输入并运行的程序,通常位于 /bin 或 /usr/bin 目录下 | 应用程序与操作系统内核交换的途径,运行在内核态,用于执行底层任务 | 运行在用户态,为开发者提供比系统调用更高层次、更方便的编程接口 |
| 栗子 | man 1 ls | man 2 open | man 3 printf |
shell
man 要查询的命令名 或 函数名
或
man 1 要查询的命令名
man 2 要查询的标准库函数名
man 3 要查询的系统函数名
清空命令:
shell
清空输入的命令:clear
二、目录操作命令
1. 查看和切换目录
shell
pwd 命令:
显示当前目录的绝对路径:pwd
ls 命令:
列出当前目录下的文件和子目录:ls
以长格式显示详细信息(包括权限、大小、修改时间等):ls -l
显示所有文件(包括以 . 开头的隐藏文件):ls -a
人性化显示文件大小(自动转换为KB、MB等单位):ls -lh
cd 命令:
返回上一级:cd ..
返回根目录:cd /
返回用户目录(家目录):cd 或 cd ~
快速切换回上一次所在的目录:cd -
进入目录:cd 目录名
2. 创建与删除目录
shell
mkdir 命令:
创建新目录:mkdir 目录名
递归创建多级嵌套目录:mkdir -p 目录名/子目录名/子目录名
rmdir 命令:
删除空目录(若目录中包含文件或子目录回报错):rmdir 目录名
rm 命令:
递归删除非空目录及其所有内容:rm -r 目录名
3. 复制与移动目录
shell
cp 命令:
复制目录:cp -r 目录名 路径
注:复制文件夹时必须加上 -r 参数(递归复制),否则无法复制目录内容
栗子:cp -r source_folder /target/path/
mv 命令:
移动目录: mv 目录名 新路径
重命名目录:mv 旧目录名 新目录名
4. 路径小贴士
shell
绝对路径:从根目录 / 开始的路径
+ 栗子:/usr/local
相对路径:不以 / 开头,基于当前所在目录的路径
+ . :代表当前目录
+ .. :代表上级目录
+ 栗子:../local
三、文件操作命令
1. 文件的创建与删除
shell
touch 命令:
创建空文件:touch 文件名
注:若文件已存在,会更新文件的时间戳
rm 命令:
删除文件:rm 文件名
2. 文件的复制、移动与重命名
shell
cp 命令:
复制文件:cp 源文件名 新文件名
mv 命令:
移动文件:mv 文件名 路径
重命名文件:mv 旧文件名 新文件名
3. 文件内容查看
shell
cat 命令:
一次性输出文件的全部内容: cat 文件名
一次性输出文件的全部内容(带行号): cat -n 文件名
注:适用于查看较小的文件
head 与 tail 命令:
查看文件的开头(默认10行): head 文件名
查看文件的前20行: head -n 20 文件名
查看文件的结尾(默认10行): tail 文件名
实时追踪日志文件的更新(排查问题神器): tail -f 日志文件名
less 命令:
+ 交互式分页查看器,非常适合查看大文件
+ 操作技巧:
+ 按 空格 向下翻页
+ 按 b 向上翻页
+ 输入 /关键字 向下搜索
+ 按 q 退出
四、Vim 编辑器命令
三种基本模式:
- 普通模式:默认模式,用于移动光标、复制、删除等操作
- 按
i进入插入模式- 按
:进入命令模式- 插入模式:用于输入文本
- 按
ESC进入普通模式- 命令模式:用于保存、退出等操作
(一)普通模式
1. 文本编辑(删除复制粘贴)
shell
删除/剪切:
删除光标所在的单个字符:x
剪切当前整行: dd
剪切从当前行及其之后的 n 行:ndd
复制:
复制当前行:yy
复制从当前行及其之后的 n 行:nyy
粘贴:
在光标后/下方粘贴:p
在光标前/上方粘贴:P
2. 光标移动
shell
基础移动:h(左)、j(下)、k(上)、l(右)
单词级别:
+ 跳到下一个单词的开头(word):w
+ 跳到上一个单词的开头(back):b
+ 跳到当前或下一个单词的末尾(end):e
行内定位:
+ 跳到当前行的绝对行首:0(数字零)
+ 跳到当前行第一个非空字符处:^
+ 跳到当前行行尾:$
全局跳转:
+ 跳到文件第一行:gg
+ 跳到文件最后一行:G
+ 跳到第 n 行:nG
3. 撤销与恢复
shell
撤销:
撤销上一步操作:u
恢复:
重做/恢复被撤销的操作:Ctrl + r
4. 快速进入插入模式
shell
在光标前插入:i
在光标后插入:a
在当前行下方新建一行并插入:o(字母)
在当前行上方新建一行并插入:O(字母)
直接跳到当前行行尾并插入:A
直接跳到当前行首个非空字符前并插入:I
(二)插入模式
1. 快速进入普通模式
shell
退出插入模式:
从插入模式进入普通模式: Esc
2. 光标移动
shell
光标跳到当前行行首:Ctrl + a
光标跳到当前行行尾:Ctrl + e
(三)命令模式
1. 保存与退出
shell
保存当前文件:w
退出vim(若有未保存的修改会拒绝退出):q
保存并退出:wq
强制退出(写错代码想放弃时使用):q!
强制保存并退出:wq!
2. 全局搜索与替换
shell
向下搜索:/关键字,按回车后,按 n 查找下一个,按 N 查找上一个
向上搜索:?关键字
全文替换:%s/旧词/新词/g(将全文的"旧词"替换为"新词")
安全替换:%s/旧词/新词/gc(每次替换前都会询问是否替换)
3. 分屏与多文件操作
shell
垂直分屏(左右):vsp 文件名
水平分平(上下):sp 文件名
窗口切换:Ctrl + w,然后按 w (在多个分屏窗口间切换)
只保留当前窗口:only
4. 显示行号
shell
显示行号: set nu 或 set number
取消显示行号: set nonu
5. 原样粘贴
shell
粘贴模式:
开启粘贴模式: set paste
关闭粘贴模式: set nopaste
将粘贴模式设置成快捷键:
在命令模式下输入: set pastetoggle=<F5> 就能在普通模式和粘贴模式间无缝切换
6. 对齐与格式化
方案一:开启鼠标支持
- 命令模式下输入
set mouse=a并回车- 鼠标选中一段代码,按
=键对齐
方案二:使用Vim原生的"可视模式"(推荐)
- 按
V进入可视模式:此时光标经过的地方就会被高亮选中- 移动光标扩大选区
- 执行对齐命令:选中代码后,直接按
=键对齐
注:小写v会逐字选中,比较麻烦;大写V会整行选中,再按j(向下),最后按=键对齐
五、查看系统信息
shell
查看操作系统版本:lsb_release -a 或 uname -a
查看CPU信息:lscpu
查看内存信息(-g以GB为单位,-m以MB为单位): free -m
查看磁盘整体情况: df -h
六、C语言编译命令
shell
编译.c源文件(默认生成a.out可执行文件):gcc 文件名
编译时连接库:gcc 文件名 -L.库路径 -l链接库名
指定编译的可执行文件的文件名:gcc 文件名 -o 指定生成的可执行文件的文件名
执行可执行文件:./a.out