基本指令
查看日期与日历
data 指令
显示日期
- 用法1:data
- CST:China Standard Time 时区,中国标准时间
- 用法2: data +指定格式
常用格式:- “+%Y-%m-%d”(%F): 2025-06-16
- “+%H:%M:%S”(%T): 20:19:45
- “+%F%T”
- 用法3:date -d “-1 day”
获取之前或者之后的某个时间(备份)
符号可选值:+(之后)或者-(之前)
单位的可选值:year,month,day,hour,minute,second - 格式参数
- %F:表示完整的时间年月日
- %T:表示完整的时分秒
- %Y:表示四位年份
- %m:表示两位月份
- %d:表示日期
- %H:表示小时
- %M:表示分钟
- %S:表示秒数
cal 指令
calendar,显示日历
- 用法1:#cal
含义:显示当前月份的日历。等价于 #cal -1 - 用法2:#cal -3
含义:显示上一个月+本月+下个月的日历 - 用法3:#cal 年份
含义:显示某年的日历 - 用法4:#cal 月份 年份
含义:显示某年某月的日历
关机与重启
reboot 指令
重新启动计算机
shutdown 指令
关机 (慎用)
- 用法1:shutdown -h now “关机提示” 或者 shutdown -h 21:30 “关机提示”
如果想要取消关机计划的话,则可以按照下面方式尝试: - shutdown -c
- 取消关机计划
其他指令
clear指令/ctrl + l快捷键
清除终端(把之前的信息的隐藏到了最上面)
man指令
manual,手册(包含了 Linux 中全部命令手册,英文)
语法:#man 命令 (退出按下q键)
service 指令
控制一些软件的服务启动/停止/重启
- 用法:#service 服务名 start/stop/restart
vim 编译器
一、 vi和vim
vi 编辑器是所有 Unix 及 Linux 系统下标准的编辑器,类似于 Windows 系统下的记事本。很多软件默认使用 vi 作为他们编辑的接口。vim 是进阶版的 vi,vim 可以视为一种程序编辑器。
复制 /etc/passwd 文件到自己的目录下(不要直接修改 /etc/passwd),后面使用 passwd 文件演示 vim 命令
cp /etc/passwd ./passwd
- cp 是复制命令
- /etc/passwd 是源文件
- ./passwd 表示复制到当前目录,命名为 passwd
下载 vim:sudo apt-get install vim
- 用法1:vim 文件路径
含义:打开指定的文件 - 用法2:vim +数字 文件的路径
含义:打开指定的文件,并且将光标移动到指定行 - 用法3:vim +/关键词 文件的路径
含义:打开指定的文件,并且高亮显示关键词,快速定位到文件中的某个关键词,便于查找内容 - 用法4:vim 文件路径1 文件路径2 文件路径3
含义:同时打开多个文件,比较多个文件或同时编辑多个文件。 - 用法5:vim -d 文件路径1 文件路径2
含义:两个文件显示不同
用法 | 作用 | 说明 | 示例 |
---|---|---|---|
vim 文件 | 打开单个文件 | 直接打开并编辑指定文件 | vim /etc/passwd |
vim +行数 文件 | 定位到特定行 | 打开文件后跳到特定行 | vim +20 myfile.txt |
vim +/关键词 文件 | 定位关键词 | 高亮显示关键词,并跳转 | vim +/function main myfile.c |
vim 文件1 文件2 文件3 | 打开多个文件 | 在同一实例中编辑多个文件 | vim a.c b.c |
vim -d 文件1 文件2 | 文件差异比对 | 打开两个文件进行差异比较 | vim -d v1.txt v2.txt |
二、 vim三种模式
vim 中存在三种模式:命令模式、编辑模式(输入模式)、末行模式。
- 命令模式:打开文件之后默认进入该模式,可以输入快捷键进行一些操作:删除、复制、粘贴、移动光标等
- 编辑模式:可以对文件的内容进行编辑
- 末行模式:可以在末行输入命令来对文件进行操作:搜索、替换、保存、退出、撤销、高亮等
模式切换按键说明:
- 进入编辑模式:
- i:insert,光标处
- I:行首(第一个非空字符)
- a:append,下一个字符
- A:行尾
- o:open,下边插入一空行
- O:上边插入一空行
- s:subst,取代当前字符
- S:取代当前行
- 退回命令模式:[Esc]
- 进入末行模式:
- :
- / 或 ?:进入末行模式,后面接字符串进行查找
- 退出 vim:
- q:退出
- wq:保存并退出
- q!:强制退出
- x:文件没有修改时直接退出,在文件修改的情况下保存并退出(不要使用X,X是文件进行加密)
异常退出:在编辑文件之后并没有正常 wq(保存退出),而是遇到突然关闭终端或者断电的情况,则会显示下面的效果,这个情况称之为异常退出
解决办法:删除隐藏的临时文件(以 .swp 结尾)
三、命令模式
打开文件之后默认进入该模式
1. 光标移动
- 光标上下左右移动:方向键 或 kjhl
- 光标上下左右移动指定行或字符:[数字]方向键 或 [数字]kjhl
- 光标移动到行首:^
- 光标移动到行尾:$
- 光标移动到首行:gg
- 光标移动到末行:G
- 自动格式化程序:gg=G
- 光标移动到指定行:[数字]G 或 [数字]gg
- 向上翻屏:按键 ctrl + b 或 PgUp
- 向下翻屏:按键 ctrl + f 或 PgDn
2. 复制/粘贴/剪切
- 复制光标所在行:yy
- 光标所在行的下一行新开一行粘贴(paste):p
- 以光标所在行为准(包含当前行),向下复制指定的行数:[数字]yy
- 剪切/删除光标所在行(剪切了不粘贴就是删除)(delete):dd
- 剪切/删除光标所在行为准(包含当前行),向下剪切/删除指定行:[数字]dd
- 剪切/删除光标所在的当前行之后的内容:D
- 可视化操作(view):v(可视模式)、V(可视行)、ctrl + v(可视块),然后按下方向键来选中需要操作的区块按下 y 复制或按下 d 删除
3. 撤销/恢复
- 撤销(undo):u 或者 :u (末行模式)
- 恢复(取消)之前的撤销操作:ctrl + r
四、 末行模式
1. 保存与退出文件
- 保存操作(write)
- 保存::w
- 另存为::w 路径
- 退出(quit)::q
- 保存并退出::wq
- 强制执行:!
- 不保存,强制退出::q!
- 强制保存退出::wq!
2. 查找与替换
- 查找:/关键词 或 ?关键词
- 在搜索结果中切换上/下一个结果(next):N/n
- 取消高亮(no highlight)::nohl
- 替换
- 替换光标所在行第一条原数据:: s/原数据/新数据
- 替换光标所在行全部原数据:: s/原数据/新数据/g
- 替换整个文件每行第一条原数据::%s/原数据/新数据
- 替换整个文件全部原数据::%s/原数据/新数据/g
- 符号含义:
- %表示整个文件
- g表示全局(global)
3. 显示行号
- 显示行号(临时)(number)::set nu
- 取消显示行号::set nonu
4. 执行 shell 指令
- 执行 shell 指令::![shell 指令]
举例::!ls /
当外部命令执行结束之后按下任意键回到 vim
5. 切换文件
- 查看当前已经打开的文件名称::files
- 切换指定文件::open 已经打开的文件名
- 切换到上一个文件(back prev)::bp
- 切换到下一个文件(back next)::bn
五、分屏查看
1.启动分屏
vim可以实现分屏操作,一个屏幕被多个文件给分占,有左右和上下两种分屏的方式。
- 启动左右分屏:vi -On 文件1 文件2
- 启动上下分屏:vi -on 文件1 文件2
2.编辑器中分屏
- 上下分割当前打开的文件
ctrl+w s
- 上下分割,并打开一个新的文件
:sp filename
- 左右分割当前打开的文件
ctrl+w v
- 左右分割,并打开一个新的文件
:vsp filename
3.关闭分屏
- 关闭当前窗口
ctrl+w c
- 关闭当前窗口,如果只剩最后一个,则退出vim
ctrl+w q
4.分屏间光标的移动
vim中的方向键是h,j,k,l,要在各个屏之间切换,只需要先按一下ctrl+w
- 把光标移动到上边的屏
ctrl+w k 或者 ctrl+w 上方向键
- 把光标移动到下边的屏
ctrl+w j或者 ctrl+w 下方向键
- 把光标移动到右边的屏
ctrl+w l或者 ctrl+w 右方向键
- 把光标移动到左边的屏
ctrl+w h或者 ctrl+w 左方向键
- 把光标移动到另一个屏
ctrl+w w
六、vim的配置
sudo vim /etc/vim/template.c
#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include<pthread.h>
#include<fcntl.h>int main(int argc, char* argv[])
{return 0;
}
sudo vim ~/.vimrc
set number
" 突出显示当前行
set cursorline
" 设定 tab 长度为 4
set tabstop=4
" 搜索时高亮显示被找到的文本
set hlsearch
" 开启新行时使用智能缩进
set smartindent
" 显示命令
set showcmd
" 命令行高度
set cmdheight=2
" 设置头文件及主函数模板
autocmd BufNewFile *.c 0r /etc/vim/template.c
- 临时配置:末行模式下输入的配置
- 全局配置文件:/etc/vim/vimrc(不需要修改)
- 个人配置文件:~/.vimrc
在 /etc/vim/template.c 中写入模板:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <sys/mman.h>
#include <mqueue.h>
#include <time.h>
#include <semaphore.h>int main(int argc, char *argv[])
{return 0;
}