【进厂修炼 - First week】Linux C++

2024-01-08 07:04
文章标签 c++ linux 修炼 first week 进厂

本文主要是介绍【进厂修炼 - First week】Linux C++,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux

Day 1

1 df -h 查看磁盘分区

在这里插入图片描述

2 free -k/m/G  查看内存的使用情况

在这里插入图片描述

3 head -n 查看一个文件的前n行,不指定n,n的默认为10
4 tail -n 查看一个文件的末n行
-F 查看一个文档的动态变化,修改文档的时候显示(例如火车站时间版)
5 less 查看文件,以较少的内容进行输出less +数字   从第n行开始查看
less 空格   翻页
less +↑/↓  上下翻页 
6 wc 统计文件内容信息
-l 以行的形式
-w 统计单词,空格区分
-c 统计字节
7 date 操作时间、日期
(1)date

在这里插入图片描述

(2)date +%F  或者 date "+%Y-%m-%d"

在这里插入图片描述

(3) date "+%F %T"   或者 date "+%Y-%m-%d %H:%M:%S

在这里插入图片描述

(4) 获取之前或者之后的某个时间(备份需要)
date -d "-1/+1 day" "%F %T"

在这里插入图片描述

8 cal 操作日历 
cal  -1 当前日历
cal -3 上月+本月+下月日历
cal -y 年份 某一年日历

在这里插入图片描述

9 clear  或者  快捷键ctrl+l    清除页面
10 管道
管道符 |  作用:过滤、特殊、扩展处理      注意:不可单独使用
(1) 过滤、查询根目录下包含“y"字母的文档
ls / | grep y      
可以理解为:ls / 有一个输出
| 分界线
grep 过滤
y 有一个输入

在这里插入图片描述

(2)特殊:通过管道实现less等价效果
cat 文件名 | less = less 文件名       有点鸡肋

Day 2

1 hostname 操作主机名
hostname -f 输出当前主机的FQDN,即域名

在这里插入图片描述

2 id 指令  查看一个用户基本信息
id  默认当前id
id 用户名 指定用户基本信息
3 whoami 当前登录用户名
4 ps -ef 用于查看服务器进程

在这里插入图片描述

ps中结果过滤出想要查看进程状态
ps -ef | grep 进程名称   结果至少包含2个进程
5 top 查看服务器进程占用的资源
快捷键: top运行的状态中
M:按照内存从高到底排序
P:按照CPU从高到底排序

在这里插入图片描述

Day 3

1 du -sh 路径 查看目录真实大小

在这里插入图片描述

2 find 查找   注意:隐藏的文件也可以找到
find 路径范围 -name 名称查找  选项的值-type 类型文档  f文件/d文件夹

在这里插入图片描述

3 service 服务名	start/stop/restart
eg1:启动本机安装的Apache,服务名:httpd
service httpd start

Day 4

1 kill 杀死进程kill PID killall 进程名称
2 ifconfig  网卡信息
3 reboot 重启reboot -w  模拟重启,不操作(一般测试使用)
4 shutdown 关机shutdown -h now "关机提示"   立即关机shutdown -h  时间  "关机提示"  指定时间关机   ctrl + c 取消  或者  shutdown -c
其他关机命令:init 0haltpoweroff
5 uptime  计算机在线持续时间(开机到现在)

在这里插入图片描述

6 uname 获取系统相关信息unameuname -a  类型   主机名  内核版本  发布时间  开源计划

在这里插入图片描述

7 netstat -tnlp 查看网络连接状态-t 查看tcp协议连接-n 将地址字母转换成ip地址,协议变成端口号-l 只显示"stat"状态为LISTEN监听连接-p 显示发起连接进程pid和进程名称
8 man linux全部命令手册
man 查询命令

Day 5

在这里插入代码片
1 vim 编译器
(1) 三种模式1. 命令模式:不能对文件直接编译,快捷键操作(粘贴、删除、移动光标)2. 编辑模式:可以对文件进行编译3. 末行操作:对末行输入命令对文件操作(搜索、替换、保存、退出、撤销、高亮)
(2)打开文件的方式1. vim 文件路径2. vim +数字 文件路径  打开指定文件,光标移动到指定行3. vim /关键词 文件路径  (高亮关键词)4. vim 路径1 路径2 (同时打开多个文件)
(3)光标移动1. 行首 shift + 6    行尾:shift + 4 2. 首行 gg			尾行:G3. 上移动 n : n+↑4. 下移动 n : n+↓5. 左移动 n : n+←6. 右移动 n : n+→7. 向上翻屏: ctrl + b 		向下翻屏:ctrl + f8. 复制光标所在行:	yy  	粘贴 :	p9. 以光标所在行,向下复制 n 行:数字+yy10.剪切/删除所在行	: 	dd11. 以光标所在行,向下剪切 n 行:数字+dd12. 撤销	: u    undo    快捷键: ctrl r

Day 6

1 模式之间切换

在这里插入图片描述

1. w 保存2.  w 路径  另存3. 查找: /关键词4. 查找关键词上下移动: n/N5. 取消高亮:nohl6. 替换:s/搜索关键词/新内容	光标所在行的第一处替换:s/搜索关键词/新内容/g	光标所在行的全部:%s/搜索关键词/新内容	替换整个文档的每一行第一处:%s/搜索关键词/新内容/g 替换整个文档7. 显示行号: set nu    取消:set nonu
2 vim 打开多个文件
默认第一个界面在第一个文件夹,查看打开的文件:files(末行输入)
%a 正在打开的文件
# 上一个文件(1) 切换文件: open  文件
(2) bn:下一个文件		bp:上一个文件

在这里插入图片描述

3 vim 配置
末行位置配置:	临时的
个人配置文件: ~/.vimc    没有可自行创建	若是与全局配置冲突,则个人配置==为主== 
全局配置文件:/etc/vimc
4 异常退出
编译文件时,没有正常wq退出,遇到关闭终端或者断电。
下次vim进入的时候,会有一个交换文件的提示
解决:
ls -a  把文件显示(包含隐藏文件)
- 会发现.pawsswd.swp 这个文件
rm -f .pawsswd.swp   移除即可
5 别名机制:创建属于自己自定义的命令别名
依靠在一个别名映射文件:~/.bashrc重启 或者	source ~/.bashrc

C++

1 区别struct class

struct 默认权限:public
class 默认权限: private

2 setName()/getName()

setName() getName()  对某些属性进行 可读可写/只读/只写 控制

3 拷贝函数的调用过程

Person(const Person &p){
}1. 使用一个已经创建完毕的对象初始化新对象2. 值传递的方式给函数返回参数值3. 以值方式返回局部对象
Person p
Person p1(p)

4 构造函数调用规则

创建一个类,每个类至少添加3个函数

  1. 默认构造 :若是有参构成已有,则不提供默认构造
  2. 析构函数
  3. 拷贝构造 :若提供拷贝构造。不提供有参、无参

5 深拷贝、浅拷贝

在这里插入图片描述

6 类对象作为类成员

当其他类对象作为本类成员,构造时先构造类对象,再构造自身。析构的顺序相反。

7 静态成员

特点:

  • 共享一份数据
  • 编译阶段分配内存
  • 类内声明。类外初始化
static int m_age;
int Person::m_age=10;

静态成员函数:
特点:

  • 共享一个函数
  • 只有静态成员变量可以访问静态成员函数

都有访问权限

8 成员变量和成员函数是分开存储的

创建1个空对象(1个类)占用空间:	1  区分空对象占用内存的位置1. 非静态成员变量	属于类对象	42. 静态成员变量		不属于类对象	13. 非静态成员函数	不属于类对象	14. 静态成员函数		不属于类对象	1

9 this指针

(1)解决名称冲突(类属性与形参一致问题)

this 指针指向 被调用的成员函数 所属对象

(2)返回对象本体,用引用的方式

Person & PersonAdd(Person &p)
{return *this
}
以值的形式返回
Person PersonAdd(Person &p)
{return *this
}

10 空指针访问成员函数

若是成员函数中有属性,默认为:this->m_age ,但是this 被调用的不能为

解决:
在成员函数中加:
if(this==NULL)
{return ;
}

const 修饰成员函数

void show() const  常函数
const Person p    常对象

this 的本质:指针常量,指针指向不能修改

Perosn * const this;

在成员函数加 const ,这样指针指向的值也不能修改

const Person * const this

若是常函数内想访问属性:
在属性前加: mutable

常对象可以访问常函数,不可以访问普通函数

public:int m_A;mutable int m_B; //可修改 可变的const Person person; //常量对象  
cout << person.m_A << endl;
//person.mA = 100; //常对象不能修改成员变量的值,但是可以访问
person.m_B = 100; //但是常对象可以修改mutable修饰成员变量
//常对象访问成员函数
person.MyFunc(); //常对象不能调用const的函数

这篇关于【进厂修炼 - First week】Linux C++的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/582639

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

C++包装器

包装器 在 C++ 中,“包装器”通常指的是一种设计模式或编程技巧,用于封装其他代码或对象,使其更易于使用、管理或扩展。包装器的概念在编程中非常普遍,可以用于函数、类、库等多个方面。下面是几个常见的 “包装器” 类型: 1. 函数包装器 函数包装器用于封装一个或多个函数,使其接口更统一或更便于调用。例如,std::function 是一个通用的函数包装器,它可以存储任意可调用对象(函数、函数

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)