Linux基本操作指令和vim编译器

基本指令

查看日期与日历

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值