当前位置: 首页 > 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部署每次都需…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...