Linux初始相关配置

前言

在学完了Linux的相关基础命令后,在正式使用Linux系统之前,我觉得配置一些东西是很有意义的。

文章目录

  • 前言
  • 1.权限配置,普通用户无法sudo提权
  • 2.vim配置
  • 3.vim其他操作
  • 4.动静态库
  • 5.gcc/g++
  • 6.程序翻译的过程
  • 7.make/makefile
  • 8.cmake/CMakeLists


1.权限配置,普通用户无法sudo提权

假设我们随便以普通用户的身份用sudo干个事情,都会说不在sudoers文件中,不行!!
在这里插入图片描述
这时候我们先切换到root

vim /etc/sudoers

进入到第二张图片的文件中,添加用户名
ljh ALL=(ALL) ALL
就完成了

在这里插入图片描述

在这里插入图片描述

2.vim配置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。
例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
打开自己目录下的.vimrc文件,执行 vim .vimrc

由于我的
centOS7配置过了,这里我拿Ubuntu给大家演示。
在这里插入图片描述

vim .vimrc           //这个就是配置vim的文件,如果没有配置过,他就是空的

在这里插入图片描述
设置语法高亮: syntax on
显示行号: set nu
设置缩进的空格数为4: set shiftwidth=4

我就做了如上简单的配置,我不喜欢那么多花里胡哨的玩意。
大家如果想要改的更丰富,CSDN上随便搜吧。
在这里插入图片描述

3.vim其他操作

下图是基础命令
在这里插入图片描述
在这里插入图片描述
如果想分屏写的话直接在底端
:vs xxx.h就可以了
或者:vs XXX.C

ctrl+ww可以换界面

4.动静态库

Linux的
动态库:.so
静态库:.a
链接时有两种方式,分别时动态链接和静态链接

C动态库是默认提供的
gcc编译默认形成的可执行程序,默认采用动态链接
动态库/动态链接的优缺点:
1.不能丢失,否则无法使用
2.节省资源
在这里插入图片描述

静态库/静态链接的优缺点:
1.一旦形成,和库无关
2.浪费资源
在这里插入图片描述
but,初始情况下!我们自己在链接静态库时会有报错
在这里插入图片描述
那是因为默认情况下,Linux上,一般静态库都是默认没有安装的!
想装静态库的话,命令如下:

sudo yum install -y glibc-static libstdc++-static//这是centOS系统
//如果是Ubuntu系统安装命令不是yum

5.gcc/g++

有几个情况得说一下:

gcc test.c -std=c99  //编译时,执行C99标准,以防有的时候gcc版本低编译不过去的情况
gcc test.c -o my.exe  //-o my.exe,将默认生成的a.out改为my.exe
g++ test.cpp -std=c++11  //编译时,执行C++11标准,以防有的时候g++版本低编译不过去的情况
test.cpp test.cc test.cxx//这三种都是c++文件

6.程序翻译的过程

在这里插入图片描述

7.make/makefile

make是一个命令
makefile是一个文件
在这里插入图片描述
由于之前跑了SLAM,用的是cmake/cmakeLists
我感觉和make/makefile这玩意很像啊!!!
在这里插入图片描述
注意makefile文件运行命令前一定要加tab键
否则会报如下错:
Makefile:5: *** 遗漏分隔符 。 停止。

8.cmake/CMakeLists

Cmake之前跑SLAM的时候写过:
CMake详解–从创建到编译

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity3D小功能】Unity3D中设置Text行首不出现标点符号

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中会遇到Text的文本内容行首出现标点符号的情况&#xf…

vim 替换

在 Vim 编辑器中进行替换操作可以使用 :s 命令。下面是一些示例: 替换当前行第一个匹配到的字符串: :s/old/new/替换当前行所有匹配到的字符串: :s/old/new/g替换从当前行开始到文件末尾的所有匹配到的字符串: :%s/old/new/g替换整…

《动手学深度学习(PyTorch版)》笔记4.8

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过。…

vue2 自定义webpack plugin 添加版本文件到public目录下/vue-config全局环境变量

在项目根目录创建version-plugin.js文件 // 引进node fs 模块 const fs require(fs)// 引进node path 模块 const path require(path)// webpack plugin class VersionPlugin {// 实例化传的参数constructor (options {}) {this.options optionsthis.isFinish false}// p…

实战教程:使用Spring Boot和Vue.js开发社区团购管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

使用AnimeGAN2将照片动漫化--入门

使用AnimeGAN2将照片动漫化--入门 1. 环境准备2. 使用3. 总结 1. 环境准备 首先下载AnimeGAN2:https://github.com/TachibanaYoshino/AnimeGANv2.git 然后使用conda 创建一个python3.6的环境conda create -n pyt36 python3.6: 创建一个requirements.txt文件&am…

前端模块化-AMD、CMD、CommonJS和UMD、ESM

前端模块化-AMD、CMD、CommonJS和UMD、ESM 背景CommonJSAMD和require.jsCMD和sea.jsUMD(Universal Module Definition - 通用模块定义)ES6 ModuleES6 模块与 CommonJS 模块的差异总结 背景 在NodeJS之前,由于没有过于复杂的开发场景&#xf…

生信学院|02月02日《云端设计一体化平台—3DEXPERIENCE》

课程主题:云端设计一体化平台—3DEXPERIENCE 课程时间:2024年02月02日 14:00-14:30 主讲人:郭俊辰 生信科技 解决方案顾问 1、云产品发展趋势 2、3DExperience产品的介绍 3、3DExperience DEMO演示 请安装腾讯会议客户端或APP&#xff…

记一次无法ping通Cisco switch处理

网络小白,仅仅在工作中需要telnet到switch。奈何之前不知什么原因一直无法ping通该switch,很久只能使用串口连接来配置了。而今遇到了使用脚本telnet switch的场景,不得不再次面对这个问题。 首先还是使用串口来看switch是否拿到ip&#xff…

【蓝桥杯冲冲冲】进阶搜索 Anya and Cubes

蓝桥杯备赛 | 洛谷做题打卡day22 文章目录 蓝桥杯备赛 | 洛谷做题打卡day22Anya and Cubes题面翻译输入格式输出题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示题解代码我的一些话 Anya and Cubes …

LeetCode 54 螺旋矩阵

题目描述 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入&#x…

python数据生成excel文件实现

在Python中,你可以使用第三方库 openpyxl 来生成 Excel 文件。以下是一个简单的示例,演示如何使用 openpyxl 创建一个包含数据的 Excel 文件: 安装 openpyxl: 使用以下命令安装 openpyxl: pip install openpyxl 创建…

线程池的知识

线程池是由服务器预先创建的一组子线程,线程池中的线程数量应该和 CPU 数量差不多。线程池中的所 有子线程都运行着相同的代码。当有新的任务到来时,主线程将通过某种方式选择线程池中的某一个子 线程来为之服务。相比与动态的创建子线程,选…

【昕宝爸爸小模块】深入浅出详解之常见的语法糖

深入浅出详解之常见的语法糖 一、🟢关于语法糖的典型解析二、🟢如何解语法糖?2.1🟢糖块一、switch 支持 String 与枚举2.2📙糖块二、泛型2.3📝糖块三、自动装箱与拆箱2.4🍁糖块四、方法变长参数…

实战Vue.js与MySQL:爱心商城项目开发指南

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

【深入浅出SpringCloud原理及实战】「Netflix系列之Hystrix」针对于限流熔断组件Hystrix的回退降级实现方案和机制

针对于限流熔断组件Hystrix的回退降级实现方案和机制 依赖隔离依赖隔离之线程&线程池高延迟请求的例子 线程池的优势线程池的弊端线程池的开销线程池开销 信号量 依赖隔离 Hystrix通过使用『舱壁模式』(注:将船的底部划分成一个个的舱室,…

SpringBoot+BCrypt算法加密

BCrypt是一种密码哈希函数,BCrypt算法使用“盐”来加密密码,这是一种随机生成的字符串,可以在密码加密过程中使用,以确保每次加密结果都不同。盐的使用增强了安全性,因为攻击者需要花费更多的时间来破解密码。 下图为使用BCrypt算法后的的密码结果值: 下面讲一下注册登陆…

Python编程-使用urllib进行网络爬虫常用内容梳理

Python编程-使用urllib进行网络爬虫常用内容梳理 使用urllib库进行基础网络请求 使用request发起网络请求 from urllib import request from http.client import HTTPResponseresponse: HTTPResponse request.urlopen(url"http://pkc/vul/sqli/sqli_str.php") pr…

从 0 开始搭建 React 框架

webpack 配置 不再赘述&#xff0c;可参考前三个文章&#xff08;wenpack5 基本使用 1 - 3&#xff09; 使用 react 安装 react、react-dom、babel/preset-react yarn add react react-dom babel/preset-react<!DOCTYPE html> <html lang"en"> <h…

SQL表操作DDL,DML和辅助的操作语句

在开发工作中经常使用到对DB进行操作&#xff0c;各种数据库类型的操作语句类似的&#xff0c;下面是以mysql为主进行举例&#xff0c;复制表结构&#xff0c;然后插入数据&#xff0c;再增加新字段&#xff0c;再给新字段复制&#xff0c;再做其它操作&#xff08;省略&#x…