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 0 halt poweroff
5 uptime 计算机在线持续时间(开机到现在) • 1
6 uname 获取系统相关信息 uname uname -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 尾行:G 3. 上移动 n : n+↑ 4. 下移动 n : n+↓ 5. 左移动 n : n+← 6. 右移动 n : n+→ 7. 向上翻屏: ctrl + b 向下翻屏:ctrl + f 8. 复制光标所在行: yy 粘贴 : p 9. 以光标所在行,向下复制 n 行:数字+yy 10.剪切/删除所在行 : dd 11. 以光标所在行,向下剪切 n 行:数字+dd 12. 撤销 : u undo 快捷键: ctrl r
Day 6
1 模式之间切换
1. w 保存 2. w 路径 另存 3. 查找: /关键词 4. 查找关键词上下移动: n/N 5. 取消高亮:nohl 6. 替换 :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个函数
- 默认构造 :若是有参构成已有,则不提供默认构造
- 析构函数
- 拷贝构造 :若提供拷贝构造。不提供有参、无参
5 深拷贝、浅拷贝
6 类对象作为类成员
当其他类对象作为本类成员,构造时先构造类对象,再构造自身。析构的顺序相反。
7 静态成员
特点:
- 共享一份数据
- 编译阶段分配内存
- 类内声明。类外初始化
static int m_age; int Person::m_age=10;
特点:
- 共享一个函数
- 只有静态成员变量可以访问静态成员函数
都有访问权限
8 成员变量和成员函数是分开存储的
创建1个空对象(1个类)占用空间: 1 区分空对象占用内存的位置 1. 非静态成员变量 属于类对象 4 2. 静态成员变量 不属于类对象 1 3. 非静态成员函数 不属于类对象 1 4. 静态成员函数 不属于类对象 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的函数