Linux初始相关配置

news2024/11/17 2:54:03

前言

在学完了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.coloradmin.cn/o/1414086.html

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

相关文章

人工智能:更多有用的 Python 库

目录 前言 推荐 JupyterLab 入门 复杂的矩阵运算 其它人工智能和机器学习的 Python 库 前言 在这篇文章中,我们将了解更多的矩阵操作,同时再介绍几个人工智能 Python 库。 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&#x…

探秘Dmail:Web3世界的通讯引领者

摘要:在一个充满潜力并且对创新要求严格的领域中,Dmail作为一种开创性的Web3通讯协议应运而生。 1月24日,OKX Jumpstart宣布上线Dmail,在Web3领域引起了巨大反响,这是一个旨在重新定义数字通讯范式的富有远见的项目&a…

力扣日记1.27-【回溯算法篇】131. 分割回文串

力扣日记:【回溯算法篇】131. 分割回文串 日期:2023.1.27 参考:代码随想录、力扣 131. 分割回文串 题目描述 难度:中等 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可…

小电影网站上线之nginx配置不带www域名301重定向到www域名+接入腾讯云安全防护edgeone

背景 写了个电影网站(纯粹搞着玩的),准备买个域名然后上线,但是看日志经常被一些恶意IP进行攻击,这里准备接入腾讯云的安全以及加速产品edgeone,记录下当时的步骤。 一、nginx配置重定向以及日志格式 ng…

AI部署开发指南:用vs2019编译OnnxRuntime-v1.16.2

前言 要详细了解一个系统的部署,对其源码进行调试可能是最好的办法。 Pytorch的部署几经改版,最大的特点依然是不稳定,或者使用libtorch这种稳定但优化力度不够的部署方案。 而稳定且通用的方案,目前仍然是export to onnx的办法…

js中字符串string,遍历json/Object【匹配url、邮箱、电话,版本号,千位分割,判断回文】

目录 正则 合法的URL 邮箱、电话 字符串方法 千位分割:num.slice(render, len).match(/\d{3}/g).join(,) 版本号比较 判断回文 json/Object 遍历 自身属性 for...inhasOwnProperty(key) Object.获取数组(obj):Object.keys,Object…

MySQL 联合索引

文章目录 1.简介2.最左匹配3.最左匹配原理4.如何建立联合索引?5.覆盖索引参考文献 1.简介 联合索引指建立在多个列上的索引。 MySQL 可以创建联合索引(即多列上的索引)。一个索引最多可以包含 16 列。 联合索引可以测试包含索引中所有列的查询&#…

抖去推短视频矩阵系统+实景无人直播系统技术源头开发

抖去推爆款视频生成器,通过短视频矩阵、无人直播,文案引流等,打造实体商家员工矩阵、用户矩阵、直播矩阵,辅助商家品牌曝光,团购转化等多功能赋能商家拓客引流。 短视频矩阵通俗来讲就是批量剪辑视频和批量发布视频&a…

深入浅出理解目标检测的NMS非极大抑制

一、参考资料 物体检测中常用的几个概念迁移学习、IOU、NMS理解 目标定位和检测系列(3):交并比(IOU)和非极大值抑制(NMS)的python实现 Pytorch:目标检测网络-非极大值抑制(NMS) …

LeetCode.42. 接雨水

题目 题目链接 分析 读完本题以及结合题目给出的图我们可以很直观的看到,这道题目是让我们求形成凹槽的面积。 我们可以针对每一个数字形成凹槽的面积进行计算,然后相加数组每一个数字形成凹槽的面积即可。 那么问题来了,怎么知道一个数…

51-16 FusionAD 用于自动驾驶预测与规划任务的多模态融合论文精读

今天要分享的是基于BEV的多模态、多任务、端到端自动驾驶模型FusionAD,其专注于自动驾驶预测和规划任务。这项工作首次发表于2023年8月2日,性能超越了2023 CVPR最佳论文UniAD模型。论文题目是FusionAD: Multi-modality Fusion for Prediction and Planni…

C++面试:散列表

目录 1. 散列表的基本概念 散列表的定义 散列函数 哈希冲突 2. 处理冲突的方法 链地址法(Separate Chaining) 开放地址法 再散列 3. 散列表的性能分析 1. 平均查找长度(ASL) 2. 负载因子(Load Factor&#…

GNSEC 2022全球下一代软件工程峰会:核心内容与学习收获(附大会核心PPT下载)

随着科技的飞速发展,软件工程领域也在不断演变。为了更好地应对未来的挑战和机遇,全球的软件工程师、研究者、企业家以及相关领域的专家齐聚一堂,参与了GNSEC 2022全球下一代软件工程线上峰会。这次大会的核心内容涵盖了软件工程的最新技术、…

Blender教程-初始用户界面-01

开始第一天的Blender学习、也是业余学习。希望记录下这一份学习的过程、并且分享给大家。今天带大家认识Blender这一款软件,先说说我为什么选择了Blender,我在软件市场找了好久,市场上其他雷同软件都是要么收费要么不好用,最终决定…

使用vs2022将.net8的应用程序发布为一个单独文件

在使用.NetCore3.1时&#xff0c;可以通过设置以下工程配置文本来将项目发布为一个单独的应用程序文件&#xff1a; <Project Sdk"Microsoft.NET.Sdk.WindowsDesktop"><PropertyGroup><TargetFramework>netcoreapp3.1</TargetFramework><…

HCIA学习作业三

要求&#xff1a; 拓扑图&#xff1a; <AR1>ping 5.5.5.1 <AR1>display ip interface brief <AR1>display ip routing-table <AR1>display ip routing-table protocol static <AR2>ping 5.5.5.1 <AR2>display ip interface brief <…

RUST笔记:candle使用基础

candle介绍 candle是huggingface开源的Rust的极简 ML 框架。 candle-矩阵乘法示例 cargo new myapp cd myapp cargo add --git https://github.com/huggingface/candle.git candle-core cargo build # 测试&#xff0c;或执行 cargo ckeckmain.rs use candle_core::{Device…

Ubuntu20.04 安装 ROS noetic + MAVROS

本文在 AlphaCatOvO【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程 基础上&#xff0c;根据实际安装经验&#xff0c;稍微进行补充。 一、安装Ubuntu20.04 假设已经正确安装。 二、安装 ROS noetic 2.1 换源 执行 sudo apt update sudo mv /etc/apt/sources.list /etc/apt/…

过采样和欠采样是处理类别不平衡问题的两种常见方法,它们的特点是什么?

问题描述&#xff1a;过采样和欠采样是处理类别不平衡问题的两种常见方法&#xff0c;它们的特点是什么&#xff1f; 问题解答&#xff1a; 过采样和欠采样是处理类别不平衡问题的两种常见方法&#xff0c;它们各自具有一些特点&#xff1a; 过采样&#xff08;Oversampling&…

反射机制学习

因为反射java变成了动态 反射 Reflection(反射)是java被视为动态语言的关键&#xff0c;反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息&#xff0c;并能直接操作任意对象的内部属性及方法 Class C Class.forName("java.lang.String") 加…