Linux权限和开发工具(1)

在这里插入图片描述

文章目录

  • 1.Linux根目录的相关文件夹
  • 2.Linux软件管理器yum
  • 3.Linux编辑器-vim的基础使用
    • 1.命令模式下一些命令:
      • 有关光标的操作:
      • 有关复制删除的操作:
      • 有关字符替换的相关操作:
      • 有关注释的相关操作:
    • 2.插入模式
    • 3.底行模式下一些命令:
      • 实现双窗口
    • 4.vim命令
  • 4.vim配置
  • 5.Linux编译器-gcc/g++使用
    • 基本使用方法:

1.Linux根目录的相关文件夹

  1. bin 指令相关
  2. boot 启动相关的操作系统,配置文件
  3. dev 识别到的设备(键盘,显示器等)
  4. etc为启动后的配置文件
  5. home 用户的相关账号
  6. lib 动态库
  7. media 媒体设备(U盘)
  8. proc 进程相关
  9. var 日志
  10. tmp 各种临时文件

2.Linux软件管理器yum

  • 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.

  • 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装. 软件包和软件包管理器,

  • 就好比 “App” 和 “应用商店” 这样的关系.

  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.

Linux安装软件:

  1. 源码安装 不推荐
  2. 软件包安装 -----rpm
  3. 包管理器-----yum(centos)/apt-get(ubuntu)

在Linux中安装其实就是拷贝,而且安装到系统中安装一次所有人都能使用

安装:yum install -y sl

卸载:yum remove -y sl

查找: yum list | grep sl

  1. base 稳定版软件
  2. epel 扩展软件源

3.Linux编辑器-vim的基础使用

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且 还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 macos、 windows。

image-20241011172554356

vim是一款多模式的编辑器,经常用的有三种:

  1. 命令模式
  2. 底行模式
  3. 插入模式----------------- 就和正常在记事本中写入一样

切换几种模式:

我们进入vim时,默认在命令模式

i 就可以进入到插入模式

如果在其他模式下按ESC 就可以回退到命令模式

shift :可以进入底行模式,这个模式下就可以退出了

1.命令模式下一些命令:

  • 有关光标的操作:

  1. gg快速回到文档第一行
  2. G快速文档定位结尾
  3. N + G 将光标定位到N行
  4. shift $(4)将光标定位到当前行的结尾
  5. shift ^(6) 将光标定位到当前行的前面
  6. h/j/k/l 左下上右(也可以用小键盘但不推荐)
    1. 可以先打数字这样可以直接移动n个单位
  7. w以单词为单位向后移动,
  8. b 以单词为单位向前移动(特殊字符不算为单词,一般直接跳过)
  9. ctrl + b屏幕向后翻一页
  10. ctrl + u屏幕向前翻一页
  • 有关复制删除的操作:

  1. yy复制当前行
  2. p光标所在位置进行粘贴
  3. u 撤销历史操作
  4. ctrl r撤销u操作
  5. dd剪切当前行,如果不用p可以当成删除使用
  6. x每按一次,删除光标的字符
  7. X光标右侧不动,左侧删除

一旦退出文本编辑,就无法撤销了

如果只是保存,没有q(退出),就一直可以撤销

也可以先加数字来实现多行复制

  • 有关字符替换的相关操作:

  1. r + 要替换的字符 替换光标所在字符
  2. R 进入replace模式,所有的输入都会将原来的内容替换掉
  3. shift ~ 可以快速将小写改为大写
  • 有关注释的相关操作:

ctrl + v进入视图模式(V-BLOCK)

进入视图模式可以使用:

  1. 可以使用hjkl进行区域选择
  2. I 进入插入模式
  3. 输入//ESC回退就可以批量注释
  4. 再次进入视图模式选中全部// 后按d就可以取消全部注释

当然也可以进行批量代码的补充

  1. shift + #选中单词 在使用n 可以进行查找

2.插入模式

  1. i直接进入
  2. a光标向后移动一个字符
  3. o光标向下移动一个行

3.底行模式下一些命令:

  1. set nu设置行号
  2. set nonu取消行号设置
  3. wq 保存并退出
  4. ZZ 快速退出并保存
  5. q!强制退出
  6. : command 可以在vim的环境下实现命令
  7. %s/dsc/src实现批量化替换
  8. / 要查找的内容也可以实现查找
  • 实现双窗口

  1. vim先进入后,进入底行模式vs 文件名就可以进入双窗口了
  2. ctrl ww切换窗口

4.vim命令

  1. vim 文件名 + 行数 可以打开后使光标直接定位到指定位置
  2. ! 历史命令的首字母实现历史命令的直接实现

4.vim配置

vim的配置文件在每个用户的~目录下的.vimrc的隐藏文件下如果没有就执行基本操作,如果有就对vim进行配置

当然如果配置的是 /etc/vimrc 的话,就对所有人生效

我们直接在里面进行更改即可

也可以通过网络来一键配置,当可能系统不兼容,我们可以通过以下方法来查看系统

image-20241016115347419

这里提供一个centos 7 版本的配置:

[VimForCpp: 快速将vim打造成c++ IDE (gitee.com)]

5.Linux编译器-gcc/g++使用

基本使用方法:

例如我们写入以下代码:

image-20241016183124699

基本使用方法:gcc code.c -o mycode

  1. -o 后面加的是要生成的文件名

  2. -E 从现在开始程序编译,在预处理做完时,就停下来 例如 gcc -E code.c -o code.i也就是预处理

  3. -S开始编译,将编译编译做完就停下来,形成汇编语言 例如 gcc -S code.i -o code.s

  4. -c 生成可从重定位的目标文件(已经是二进制的文件了) gcc -code.s -o code.o

image-20241016184957607

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892386.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

架构设计笔记-9-软件可靠性

目录 知识要点 综合知识 案例分析 1.可靠性特性,软硬件可靠性对比 论文 1.论软件可靠性设计技术的应用 知识要点 软件架构需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。其中,标识构件又详细地…

AI周报(10.6-10.12)

AI应用-AI中医诊疗 AI中医诊疗通过整合中医“望、闻、问、切”的传统诊断方法,并结合现代AI技术,如自然语言处理和图像识别,来辅助医生进行更精准的诊断。 望诊,作为中医四诊之首,其精髓在于“司外揣内”。医者通过细致…

Java通过RAG构建专属知识问答机器人_超详细

RAG:融合检索与生成的文本精准生成技术 检索增强生成(RAG)是一种技术,它通过结合检索模型和生成模型来提高文本生成的准确性。具体来说,RAG首先利用检索模型从私有或专有的数据源中搜索相关信息,然后将这些…

STM32—SPI通讯协议

前言 由于I2C开漏外加上拉电阻的电路结构,使得通信线高电平的驱动能力比较弱,这就会号致,通信线由候电平变到高电平的时候,这个上升沿耗时比较长,这会限制I2C的最大通信速度, 所以,I2C的标准模…

uniapp学习(003-2 vue3学习 Part.2)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第15p-第p20的内容 文章目录 事件监听以及组件内置事件处理自定义模板快速创建uniapp条件渲染 v-if和v-elsev-e…

搭建一个vue3+vite框架

可以使用以下两种搭建方式 通过create-vue搭建vue3 项目(建议使用) create-vue create-vue 是 Vue.js 官方推荐的用于快速启动 Vite 驱动的 Vue 项目的脚手架工具。它简化了创建新 Vue 项目的过程,提供了预配置的项目结构,并集…

Mac 远程 Windows 等桌面操作系统工具 Microsoft Remote Desktop for Mac 下载安装详细使用教程

最近需要在 Mac 上远程连接控制我的 windows 电脑系统,经过一番尝试对于 win 来说还是微软自家推出的 Microsoft Remote Desktop for Mac 最最好用,没有之一 简介 Microsoft Remote Desktop是一款由微软公司开发的远程桌面连接工具,可以让用…

如何解决与kernel32.dll相关的常见错误:详细指南解析kernel32.dll文件缺失、损坏或错误加载问题

当你的电脑中出现错误kernel32.dll丢失的问题,会导致电脑不能出现正常运行,希望能够有效的帮助你有效的将丢失的kernel32.dll文件进行修复同时也给大家介绍一些关于kernel32.dll文件的相关介绍,希望能够有效的帮助你快速修复错误。 kernel32.…

学习笔记——交换——STP(生成树)基本概念

三、基本概念 1、桥ID/网桥ID (Bridege ID,BID) 每一台运行STP的交换机都拥有一个唯一的桥ID(BID),BID(Bridge ID/桥ID)。在STP里我们使用不同的桥ID标识不同的交换机。 (2)BID(桥ID)组成 BID(桥ID)组成(8个字节):由16位(2字节)的桥优先级…

QT布局详解 QT5大布局详解

QT布局详解 QT5大布局详解 1. Qt 布局基础 在 Qt 中,布局管理器用于自动调整窗口中控件的位置和大小。它们根据控件的尺寸策略、父窗口的大小以及控件的彼此关系,动态地调整控件。 常用的布局类包括: QHBoxLayout:水平布局管理…

MybatisWebApp

如何构建一个有关Mybatis的Web&#xff1f; 在这里给出我自己的一些配置。我的TomCat版本&#xff1a;10.1.28 &#xff0c;IDEA版本&#xff1a;2024.1.4 Pom.XML文件 <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/200…

小米电机与STM32——CAN通信

背景介绍&#xff1a;为了利用小米电机&#xff0c;搭建机械臂的关节&#xff0c;需要学习小米电机的使用方法。计划采用STM32驱动小米电机&#xff0c;实现指定运动&#xff0c;为此需要了解他们之间的通信方式&#xff0c;指令写入方法等。花了很多时间学习&#xff0c;但网络…

Solidity优质例子(二)物流的增删改查智能合约(附truffle测试)

本合约非常适合新手学习&#xff0c;其包含了基本的增删改查功能以及各个方式的不同之处的总结&#xff0c;本套合约我也编写了truffle测试&#xff0c;学习truffle测试的小伙伴也有福了~ 该合约的主要作用是通过区块链技术实现物流追踪系统的透明化、自动化与防篡改特性&#…

AES对称加密算法

AES&#xff08;Advanced Encryption Standard&#xff09;是取代DES而成为新标准的一种对称加密算法。在全世界提交的众多对称加密算法的候选中&#xff0c;其中有一个名为Rijndael的对称加密算法&#xff0c;将其命名为AES。 整体流程 分组长度 在AES中&#xff0c;分组长度…

Linux:信号保存与处理

使用kill -l命令查看信号&#xff1a; 信号量和信号确实一点关系没有 信号是操作系统发出的进程与进程之间的通知于中断&#xff0c;是进程之间时间异步通知的一种方式 先了解同步通信&#xff1a;同步通信是一种比特同步通信技术&#xff0c;要求发收双方具有同频同相的同步…

若依框架篇-若依框架搭建具体过程、后端源代码分析、功能详解(权限控制、数据字典、定时任务、代码生成、表单构建、接口测试)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 若依框架概述 1.1 若依构建 1.2 后端项目搭建 1.3 前端项目搭建 2.0 利用若依框架生成前后端代码案例 3.0 功能详解 3.1 功能详解 - 权限控制 3.1.1 使用权限控制…

Djang学习- URL反转

代码中url书写规范&#xff1a; 、 url反向解析 urls: path(test/url, views.test_url),path(test_result/<int:age>, views.test_result, name"rl") views: def test_url(request):return render(request, test_url.html)def test_result(request,age):re…

Lintcode 3686 · N 叉树的直径【中等 DFS/BFS java答案】

题目 题目链接&#xff1a;https://www.lintcode.com/problem/3686/ 思路 1.利用map创建图 2.找到直径的其中一个端点last,通过bfs可以实现 3.从last出发&#xff0c;再次bfs,有多少层&#xff0c;直径就是多少Java代码 /*** Definition for Undirected graph.* class Undir…

100. UE5 GAS RPG 显示范围魔法的攻击范围

在这一篇里&#xff0c;我们将制作一个范围魔法&#xff0c;释放魔法时&#xff0c;我们将在鼠标拾取位置绘制一个魔法光圈&#xff0c;用于显示技能释放时攻击的范围&#xff0c;然后再次点击可以释放技能。 创建贴花类 魔法范围标识的光圈&#xff0c;我们采用贴花实现&…

2014年国赛高教杯数学建模B题创意平板折叠桌解题全过程文档及程序

2014年国赛高教杯数学建模 B题 创意平板折叠桌 某公司生产一种可折叠的桌子&#xff0c;桌面呈圆形&#xff0c;桌腿随着铰链的活动可以平摊成一张平板&#xff08;如图1-2所示&#xff09;。桌腿由若干根木条组成&#xff0c;分成两组&#xff0c;每组各用一根钢筋将木条连接…