当前位置: 首页 > news >正文

Linux复习-安装与熟悉环境(一)

这里写目录标题

    • 虚拟机
    • ubuntu系统
    • 配置镜像
    • Linux命令
    • vi编辑器
      • 3个模式
      • 光标命令
      • vi模式切换命令
      • vi拷贝与粘贴命令
      • vi保存和退出命令
      • vi的查找命令
      • vi替换命令
    • 末行模式
      • 复制、粘贴、剪切
      • gcc编译器

虚拟机

VMware16
官网下载:vmware官网
网盘下载:
链接: https://pan.baidu.com/s/1-vWg9VwiHmVXmiQ0IKge1g?pwd=g4jx
提取码:g4jx

ubuntu系统

ubuntu18. 04
官网下载:https://www.ubuntu.org.cn/global
网盘下载:
ubuntu18. 04 链接:https://pan.baidu.com/s/1qy5b6hAGgsi2y99u8ZfYRQ?pwd=7tjg
提取码:7tjg

配置镜像

使用国外镜像,在ubuntu上安装软件经常会下载和安装失败,这时可以配置国内镜像文件,提升网速。
首先打开终端,使用vi编辑器打开软件源配置文件:

sudo vi /etc/apt/sources.list

选择合适的镜像源:根据你的地理位置或个人偏好,选择一个合适的镜像源。下面是一些常见的Ubuntu镜像源:

阿里云镜像源:将以下镜像源配置添加到文件中:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

清华大学镜像源:将以下镜像源配置添加到文件中:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

中国科学技术大学镜像源:将以下镜像源配置添加到文件中:

deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

按:wq保存退出vi编辑器

执行以下命令以更新软件包列表并使用新的镜像源:

sudo apt update

Linux命令

参考这篇文章:Linux 命令大全(看这一篇就足够)

vi编辑器

3个模式

光标命令

vi模式切换命令

命令功能
A a(Append)进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符
I i(Insert)进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符
O o(Open)进入编辑状态,并插入一新行,光标移到该新行的行首,以后键盘输入的字符将插入到光标位置
:! Command在vi中执行外部命令Command,按回车键可以返回vi继续工作
ESC进入命令状态

vi拷贝与粘贴命令

命令功能
[N]x(Expurgate)删除从光标位置开始的连续N个字符(并复制到编辑缓冲区)
[N]dd(Delete)删除从光标位置开始的连续N行(并复制到编辑缓冲区)
[N]yy(Yank)复制从光标位置开始的连续N行到编辑缓冲区
p或P(Put)从编辑缓冲区复制文本到当前光标位置(即粘贴)
u(Undo)取消上一次操作(即恢复功能)

vi保存和退出命令

命令功能
:q(Quit)退出没有修改的文件(若文件被修改了而没有保存,则此命令无效)
:q!强制退出,且不保存修改过的部分
:w(Write)保存文件,但不退出
:x(Exit)保存文件并退出
:w File另存为File给出的文件名,不退出
:r File(Read)读入File指定的文件内容插入到光标位置

在这里插入图片描述

vi的查找命令

/string 查找字符串

  • n 继续查找
  • N 反向继续查找
  • 支持正则表达式比如:/^the /end$

vi替换命令

利用:s 命令可以实现字符串的替换。

  • : s/str1/str2/
  • : s/str1/str2/g
  • :.,$ s/str1/str2/g g全部替换(默认换第1个)
  • :1,$ s/str1/str2/g
  • :%s/str1/str2/g
    常用快捷键但不限于剪切板
    多按几遍ESC进入命令模式

末行模式

在末行模式下

命令功能
x剪切当前字符
:set nu(set number)显示行号
:set nonu取消显示行号
②显示忽略或区分字符大小写
set ic (set ignorecase)忽略大小写
set noignorecase区分大小写
③设定自动缩进
set ai(set autoindent):自动缩进
set noai:取消自动缩进
④查找到的文本高亮或取消高亮显示
set hlsearch:高亮显示搜索到的文本
set nohlsearch:取消高亮显示搜索到的文本
⑤语法高亮
syntax on:打开语法高亮显示
syntax off关闭语法高亮显示
命令功能
x剪切当前字符
7x剪切从当前位置起7个字符大写的X,表示从前面一个字符开始往前计算
dd剪切光标所在行。
7dd从光标所在行开始剪切7行
d7G删除光标所在到第7行的所有数据
yw复制当前单词
7yw复制从当前位置起7个单词
yy复制当前行
6yy从当前行起向下复制6行
y7G复制游标所在列到第7列的所有数据
p粘贴
u撤销
ctrl+r取消撤销
cw删除当前单词(从光标位置开始计算),并进入插入模式
c7w删除7个单词并进入插入模式

新建一个c文件

vi hello.c

显示行号

:set nu

也可以在终端模式下显示行号

vi ~/.vimrc 

新增一行命令

:set number

;wq保存退出

在hello.c文件编写以下代码:

#include <stdio.h>int main(void){printf("hello world");return 0;}

如果左下角没有显示当前操作,执行下面语句

sudo gedit /etc/vim/vimrc.tiny

输入密码
将set compatible 设置成set nocompatible
然后保存。

复制、粘贴、剪切

gcc编译器

1.安装

sudo apt install gcc

查看版本

gcc -v

2.编译hello.c

http://www.lryc.cn/news/174442.html

相关文章:

  • Go基础语法:map
  • 开发板TFTP调试
  • MySQL---优化日志
  • 【送面试题】深入解析Cookie和Session的请求区别及使用场景
  • 010_第一代软件开发(二)
  • 基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(四)
  • RestTemplate:简化HTTP请求的强大工具
  • 【数据结构】什么是数据结构?
  • c++源码编译过程(翻译阶段)的若干细节概要
  • Go内置函数make和new的区别?
  • 动手学深度学习(pytorch版)第二章-2.3线性代数Note-linear-algebra
  • Docker CMD指令如何覆写
  • 动手吧,vue单独使用的复选框
  • 升级iOS17后可以降级吗?iOS17退回iOS16方法教程分享
  • 基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)
  • 关于Qt适配不同分辨率和缩放率时可能遇到的问题和解决方案
  • 第1篇 目标检测概述 —(1)目标检测基础知识
  • Discuz论坛网站标题栏Powered by Discuz!版权信息如何去除或是修改?
  • springboot整合aop,实现日志操作
  • openjdk和oracle jdk的区别
  • 深度学习-Python调用ONNX模型
  • [2023.09.24]: 今天差点又交白卷
  • css,环形
  • php食堂点餐系统hsg5815ABA2程序-计算机毕业设计源码+数据库+lw文档+系统+部署
  • Vite打包时使用plugin解决浏览器兼容问题
  • java Excel 自用开发模板
  • 34.CSS魔线图标的悬停效果
  • Django — 会话
  • SpringBoot集成easypoi实现execl导出
  • 第9章 【MySQL】InnoDB的表空间