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

C++(1)Linux基础知识

经济下行,计算机就业形势严峻,为了勉励自己继续进步,继续学习代码提高核心竞争力。

安装QT Creator

首先,安装QT开发工具QT Creator

参考:2021最新Qt6开发环境(Qt Creator)安装以及卸载记录_qt6卸载_秋水黑刀的博客-CSDN博客

QT2023新版安装教程_qt安装包_许前许后的博客-CSDN博客

 编译后生成可执行文件exe,可执行文件被操作系统执行

//入口程序,入口函数# include <stdio.h>   //C语言中所有函数要求先声明后使用 头文件
int main()
{printf("hello world!!!"\n);  //error warnningreturn 0;
}//IDE integrated Development Environment 集成开发环境  ——一般引入了一个概念:工程
// QT Creator  /  Visual Studio//从源文件到可执行文件,经历了什么
//Linux    --- main.c --> a.out
//windows  --- main.c --> xxx.exegcc -E main.c -o(output) main.i  预处理文件gcc -S main.i -o main.s  编译文件gcc -C main.s -o main.o  汇编(生成二进制文件)  Permission deniedgcc main.o -o hello      链接

hello.c --> 预处理(cpp) hello.i --> 编译器(ccl)  hello.s --> 汇编器 hello.o 可重定位目标程序(二进制) --> 连接器 hello 可执行目标程序(二进制)

//单行注释

快捷键:右shift + ? 多行注释  或 /*  */

条件编译  实现多行著视

#if 0

#endif

C语言

厂商差异性: microsoft vc / borland turbo c / Gnu gcc

平台差异性:Windows / Linux / mac os

Linux内核    发行版  Ubuntu(图形化界面与人机交互)  CentOS(免费的redhat)  人性化交互界面、软件服务

Everything is file

类似发动机一样,车不同

uname -r  内核版本号  4主版本号.2次版本号.0末版本号    stablee稳定版

tree /  需要安装命令  显示目录结构

分区与目录

硬盘 挂载在分区中

快捷键 全屏  ctrl+alt+enter

su root  权限

fdisk -l  查看U盘 是否接入

/dev/sda1 sda2 sda3  三个分区,sd串口,a第一块硬盘,123为分区

此时,U盘没有被识别到

如有/dev/sdb4,则为第二个硬盘 ,分区为4

/dev  放置一些 必要的设备、声卡、磁盘等,如/dev/null  /dev/console  /dev/zero  /dev/full等

/mnt  临时挂载文件系统

挂载命令  建立挂载节点

mkdir /mnt/usb

ls /mnt/

挂载命令

mount /dev/sdb4 /mnt/usb/    把硬盘挂载到文件创建的usb中

cd /mnt/usb/

ls

卸载命令

umount /mnt/usb/

ls  /mnt/

Windows中,交互界面是 cmd --> explorer.exe

命令提示符$/#  命令字 ls  -l命令选项  /home命令参数    命令组成部分之间用空格进行分隔

su 切换用户

普通用户 $   root用户 #

-l  更多详细信息

cd /  根目录

第一级目录

cd /opt/

清屏命令  Linux  clear 快捷键 ctrl + L  /  Windows cls 

pwd  显示当前路径  (print work directory)

touch a.c b.c c.c    创建文件

mkdir dira dirb dirc dird    创建文件夹

rm -rf *.c dir*   慎用      -r  recursive  -f force

mv a.c dira/    移动文件到文件夹

cp  a.c dira/    拷贝文件到文件夹

cp  -r dira/ dirb/   将dira中文件全都拷贝到dirb中    -r  recursive递归

mv aa.cc a.c  改名文件

mv diraa/  dirb/    文件夹改名

cp smb.conf  cmb.conf.bak  文件备份

ssh    ifconfig  查看ip号,远程登陆       sembda服务器,用于文件交互,如windows和linux文件交互

service sshd stop  无法远程连接服务  (PuTTY Configuration可用于连接)

cat smb.conf    查看配置文件的内容

head smb.conf  只看了文件前十行,默认10行  -n 看的行数量

tail smb.conf  只看末尾十行

more smb.conf  可翻页,浏览(只能下翻)

less smb.conf  即可上翻,也可下翻

find 查找位置 / -name smb.conf  查找文件位置

find / -type l 链接性文件

find / -size +1024k  找大于1M的文件

root时,useradd bob  passed bob  创建用户

用户的文件夹为/home/bob

userdel  bob  删除用户

rm -rf /home/bob/

userdel -r bob  删除所有文件

exit  退出当前用户,不占用进程13633

网络命令

ifconfig  查看ip地址

ping -c 4 192.168.0.0    -c count

service network restart  网络重启

setup    设置防火墙Firewall、静态IP等

service network status  网络状态

service iptables statis  防火墙状态filter过滤

service iptables stop  关闭防火墙

chkconfig iptables off  直接关闭防火墙

sestatus  状态

setenforce 0  关闭selinux

cd /etc/selinux 

apt-get update    更新软件

apt-get upgrade     升级最新列表软件

apt-cache search  查询软件列表

apt-get install  安装软件

apt-get remove 卸载软件

vim文本编辑

gedit a.c  gedit 必须在开启图像后使用,无图形化界面没有

命令模式

插入模型 i  esc->命令模式->shift+: 末行模式

末行模式  shift+:    :q退出  :q!退出不保存  :w保存  :wq保存退出

:w bb.c 另存为

vimtutor  vim教学 英文版  vimtutor -g zh

shift+z = :wq

< h ^ k ↓ j  > l

shift+A, 光标到行末,并进入插入模式

dw  删除单词,不留空格

d$  当前光标删除到行末

de  删除单词,留空格

2dw  动作前输入数字,动作重复多次

0  到行首;shift+A  到行末

2w  向前移动两个单词

3e使得光标向前移动到第三个单词的末尾

d2  删除两个单词

dd  删除整行

2dd  删除2行

u  回退/撤销

U  整行撤销

x  删除不想保留的字母

ctrl+R  撤消掉撤消命令

dd  删除整行,剪贴板,p粘贴

r  替换

R  整行替换

ce / cw  改变文本

c$  光标到行末删除

gg  第一行  shift+g  最后一行  500+shift+g 跳到指定位置

ctrl+shift+g  文件状态

/ + 字符,想要查找的字符串

n  跳到当前需要的字符  N  向上跳找当前查找的字符

?+字符  逆向查找

%  括号配对

替换

s/thee/the   将thee替换为the

:553,576s/thee/the/g    范围内的全都改变

o    当前行下一行插入

shift+o  当前行上一行插入

a  光标后面插入

e  单词的最后一个位置插入

r  替换

R  连续替换

y  复制文本,p粘贴

yy  复制一整行

v  选中高亮

j$  下一行行末

vim /ect/vimrc  全局配置文件

shift+G

set nu    显示行号

set ts=4    左侧缩进4个字符

set ai    autoindent  新行自动缩进

set ci    cindent  c语法自动缩进

全选排列格式,一件格式化

gg 到行首 shift+v  行选模式  shift+g  全选 =  

:vsp  xxx.c   右侧开个代码

ctrl+w  两个窗口的切换

:sp  文件上下摆放

变量的本质:一段内存空间的别名

C语言区分大小写

Qt Creator

ctrl+A  对齐

ctrl+R  运行

相关文章:

C++(1)Linux基础知识

经济下行&#xff0c;计算机就业形势严峻&#xff0c;为了勉励自己继续进步&#xff0c;继续学习代码提高核心竞争力。 安装QT Creator 首先&#xff0c;安装QT开发工具QT Creator 参考&#xff1a;2021最新Qt6开发环境&#xff08;Qt Creator&#xff09;安装以及卸载记录_q…...

接口自动化yaml文件读取与写入

前言 在走进yaml文件之前大家应该都很想知道他是用来干嘛的&#xff1f; 是的是的&#xff0c;他是用来做接口自动化测试的。 我们一起来学习他吧&#xff01;——&#xff08;一定要收藏带走哦❤&#xff09; 1、yaml文件有什么作用呢&#xff1f; ①可作为配置文件使用—…...

Java Map、JSONObject、实体类互转

文章目录 前言Map、JSONObject、实体类互转 前言 使用库 com.alibaba.fastjson2&#xff0c;可完成大部分JSON转换操作。 详情参考文章: Java FASTJSON2 一个性能极致并且简单易用的JSON库 Map、JSONObject、实体类互转 import com.alibaba.fastjson2.JSON; import com.alib…...

在Hive/Spark上执行TPC-DS基准测试 (PARQUET格式)

在上一篇文章:《在Hive/Spark上运行执行TPC-DS基准测试 (ORC和TEXT格式)》中,我们介绍了如何使用 hive-testbench 在Hive/Spark上执行TPC-DS基准测试,同时也指出了该项目不支持parquet格式。 如果我们想要生成parquet格式的测试数据,就需要使用其他工具了。本文选择使用另…...

基于CentOS搭建私有仓库harbor

环境&#xff1a; 操作系统&#xff1a;CentOS Linux 7 (Core) 内核&#xff1a; Linux 3.10.0-1160.el7.x86_64 目录 安装搭建harbor &#xff08;1&#xff09;安装docker编排工具docker compose &#xff08;2&#xff09;下载Harbor 安装包 &#xff08;3&…...

PDF怎么转Word?8 个最佳 PDF 转 Word 转换器

PDF 转 Word 转换工具只是一个特殊程序&#xff0c;可以将 PDF&#xff08;本机和/或扫描&#xff09;转换为 Microsoft Office Word 格式。将 PDF 导出到 Word 的主要原因之一是满足可编辑文档的需求&#xff0c;尽管还有其他原因。 由于缺少 PDF 阅读器&#xff0c;您可以选…...

老板都爱看的财务数据分析报表,全在这了

老板们都爱看哪些财务数据分析报表&#xff1f;自然是可以帮助他们更好地了解公司的财务状况和经营绩效的那一类财务数据分析报表&#xff0c;比如利润表、资产负债表、现金流量表、应收账款分析报表、应付账款分析报表、库存分析报表等。奥威BI数据可视化工具有一套标准化财务…...

ZooKeeper(zk)与 Eureka 的区别及集群模式比较分析

​ 作者&#xff1a;zhaokk 推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 「java、python面试题」来自UC网盘app分享&#xff0c;打开手机app&#xff…...

搜狗拼音占用了VSCode及微信小程序开发者工具快捷键Ctrl + Shit + K 搜狗拼音截图快捷键

修改搜狗拼音的快捷键 右键--更多设置--属性设置--按键--系统功能快捷键--系统功能快捷键设置--取消Ctrl Shit K的勾选--勾选截屏并设置为Ctrl Shit A 微信开发者工具设置快捷键 右键--Command Palette--删除行 微信开发者工具快捷键 删除行&#xff1a;Ctrl Shit K 或…...

PMI-ACP值得考吗?在中国的前景如何?

相信很多小伙伴都听过PMP证书吧&#xff0c;但是对于PMI-ACP则知之甚少。那么同为项目管理证书&#xff0c;PMI-ACP认证的含金量怎么样呢&#xff1f;今天咱们就来聊一聊PMI-ACP敏捷项目管理证书。 PMI-ACP是由PMI&#xff08;美国项目管理协会&#xff09;颁发的针对敏捷项目…...

centos 安装防火墙,并开启对应端口号

1.查看防火墙状态&#xff1a; 命令&#xff1a;systemctl status firewalld.service 开启防火墙时&#xff0c;提示没有安装防火墙 [rootlocalhost ~]# systemctl start firewalld.service Failed to start firewalld.service: Unit not found.2.安装防火墙 [rootlocalhost …...

学习微信小程序时间延迟setTimeout和setInterval的使用方法

学习微信小程序时间延迟setTimeout和setInterval的使用方法 setTimeout()setInterval() setTimeout() setTimeout在使用的时候可以实现代码块延迟执行的效果&#xff0c;并且可以设置延迟执行的具体时间。请见如下代码&#xff1a; setTimeout(function() {//要实现延迟执行效…...

Vite好用的前端构建工具

是什么 Vite是Vue的作者尤雨溪开发的 一种新型前端构建工具。 Vite在大型项目开发模式下&#xff0c;打包速度远高于webpack。 Vite 为什么这么快 1. 快速冷启动 Vite只启动一台静态页面的服务器&#xff0c;不会打包全部项目文件代码&#xff0c;服务器根据客户端的请求加…...

Agile Iteration Velocity

【agile iteration velocity】敏捷速度指的平均速度 第四次迭代结束速度&#xff1a; 76 / 4 19 第五次迭代结束速度&#xff1a; &#xff08;76 24 &#xff09; / 5 100 / 5 20...

HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制LazyForEach数据懒加载

LazyForEach从提供的数据源中按需迭代数据&#xff0c;并在每次迭代过程中创建相应的组件。当LazyForEach在滚动容器中使用了&#xff0c;框架会根据滚动容器可视区域按需创建组件&#xff0c;当组件划出可视区域外时&#xff0c;框架会进行组件销毁回收以降低内存占用。一、接…...

04_15页表缓存(TLB)和巨型页

前言 linux里面每个物理内存(RAM)页的一般大小都是4kb(32位就是4kb),为了使管理虚拟地址数变少 加快从虚拟地址到物理地址的映射 建议配值并使用HugePage巨型页特性 cpu和mmu和页表缓存(TLB)和cache和ram的关系 CPU看到的都是虚拟地址&#xff0c;需要经过MMU的转化&#xf…...

ResourceBundle类:读取配置文件

ResourceBundle类是java自带的类&#xff0c;类路径&#xff1a;java.util.ResourceBundle&#xff0c;用来读取项目中后缀为properties的配置文件。 下面简单举例说明一下用法&#xff1a; 数据准备 1&#xff09;配置文件名称&#xff1a;application.properties&#xff…...

数学建模的三大模型和十大常用算法

一、三大模型 预测模型 神经网络预测、灰色预测、拟合插值预测(线性回归)、时间序列预测、马尔科夫链预测、微分方程预测、Logistic模型等等。 应用领域&#xff1a;人口预测、水资源污染增长预测、病毒蔓延预测、竞赛获胜概率预测、月收入预测、销量预测、经济发展情况预测等在…...

NAS绝对安全吗?文件会不会泄露或被删除?

NAS&#xff08;Network Attached Storage&#xff09;并非绝对安全&#xff0c;因为任何系统都存在潜在的风险和漏洞。以下是一些可能导致文件泄露或被删除的情况&#xff1a; 1. 物理安全&#xff1a;如果未采取适当的物理安全措施&#xff0c;例如未将NAS设备放置在安全环境…...

Kubernetes 使用 Rancher 管理

K8S集群管理工具 只能管理单个K8S集群 kubectl命令行管理工具 dashboard&#xff08;K8S官方的UI界面图形化管理工具&#xff09; &#xff08;管理多集群很麻烦&#xff0c;切换不同集群每次需要更改kube-config文件[kubectl配置文件]&#xff0c;如果kubeadm部署每次都需…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...