01 2020 档案
摘要:题目: 查看TCP连接状态 答案: 完整答案: netstat -nat | grep tcp | awk '{print $6}' | sort | uniq -c | sort -rn 分步一: 分步二: netstat -nat | grep tcp | awk '{print $6}' 分步
阅读全文
摘要:题目: 编写服务器守护进程管理脚本。 待完成。。。。。
阅读全文
摘要:Boost Asio相关 Boost是一个C++可移植库,是对标准库的后备拓展,也是C++标准化进程的开发引擎之一。 Boost Asio是Boost库中的一个部分,Asio的全称为Asynchronous input and output(异步输入输出)的缩写。结合Boost的特点,Asio提供了
阅读全文
摘要:std::function 是一种通用、多态的函数封装,它的实例可以对任何可以调用的目标实体进行存储、复制和调用操作,它也是对 C++中现有的可调用实体的一种类型安全的包裹(相对来说,函数指针的调用不是类型安全的),简而言之,std::function 就是函数的容器。 在前面的 Lambda 表达
阅读全文
摘要:正则表达式是独立与任何语言本身的一个很大的话题。在C++中,regex就是涉及到正则表达式的内容。 [a-z]+.\txt:在这个正则表达式中,[a-z]标识匹配一个小写字母,+可以是前面的表达式匹配多次,因此[a-z]+能够匹配一个小写字母组成的字符串。 在正则表达式中的一个 . 表示匹配任意字符
阅读全文
摘要:使用C++来编写json生成器的使用来熟悉C++区别于C的使用方法和语法。 头文件 /* json-writer.cpp */ #ifndef _JSONWRITER_H_ #define _JSONWRITER_H_ #include<iostream> #include<string> #inc
阅读全文
摘要:正值本命年结束之际,我利用Github Pages和Hexo制作了属于自己的个人网站。 https://wangqinghe95.github.io/ 目前已有的分类 PAT甲级(1076开始) Unix网络编程笔记 剑指offer题目答案 C/C++面试知识(语法、计网、OS、算法、Linux)
阅读全文
摘要:reinterpret_cast用在任意指针(或引用)类型之间的转化,以及指针与足够大的整数类型之间的转化,从整数类型(包括枚举类型)到指针类型,无视大小。 作用及原理:将一个类型的指针,转换为另一个类型的指针,这种转换不用修改指针变量值数据存放格式(不改变指针变量值),只需在编译时重新解释指针的类
阅读全文
摘要:题目: 编写自己的ubuntu环境安装脚本 待完成...
阅读全文
摘要:题目: 对于一个用户日志文件,每行记录了一个用户查询串,长度为1-255字节,共几千万行,请排出查询最多的前100条。 日志可以自己构造> 。 (提示:awk sort uniq head) 文件: zhougong wanggong ligong sungong tiangong tiangong
阅读全文
摘要:#include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<sys/time.h> #include<arpa/inet.h> #include<netdb.h> #define ICMP_S
阅读全文
摘要:ping命令使用到了网络中的ICMP协议: 关于ICMP介绍看这里:https://www.cnblogs.com/wanghao-boke/p/11670473.html 网络地址信息 地址信息表示: 网络传输时地址信息包括: 地址族(基于IPV4还是IPv6的地址族) IP地址 端口号 使用相关
阅读全文
摘要:对于在有好些个文件的项目中编译,用命令行来编译就不妥当了 这时候就需要写makefiel来编译运行了。 具体配置如下: task.json { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation
阅读全文
摘要:虽然linux环境下使用命令行编译可以使用gdb调试,但是不能跟随代码一步一步走,很麻烦 但是vscode通过配置task.json和launch.json可以达到一步一跟的效果。 对于文件不多的项目可以使用vscode模拟命令行编译效果来调试 task.json { // See https://
阅读全文
摘要:问题: 清除本机除了当前登陆用户以外的所有用户。 答案: kill $(who -u|grep -v `whoami`|awk '{print $6}'|sort -u) who -u 显示所有当前用户 grep -v 选取当前登录用户以外的所有用户。 awk 打印用户进程ID。 sort -u 会
阅读全文
摘要:题目: 设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在当前目录下/root/bak(root目录需要存在)目录里,且文件名,为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback存放在/usr/bin目录下。 答案: #!/bin/
阅读全文
摘要:题目: 编写shell程序,实现自动删除30个账号的功能。账号名为std01至std30。 答案: #!/bin/bash i=1 while [ $i -le 30 ] do if [ $i -le 9 ]; then USERNAME=stu0${i} else USERNAME=stu${i}
阅读全文
摘要:题目: 设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30,并设置密码为对应的stdxx。 答案: #!/bin/bash i=1 groupadd class1 while [ $i -le 30 ] do if [
阅读全文
摘要:按照第三方库和软件包: sudo apt-get install libgtk-3-dev sudo apt-get install libgtk-3-doc sudo apt-get install vlc libvlc-dev 其中使用了gtk第三方库,具体API请看官网https://deve
阅读全文
摘要:/* * file name: LRUCache.h * desp: LRU缓存接口 */ #ifndef __LRUCACHE_H__ #define __LRUCACHE_H__ int LRUCacheCreate(int capacity, void **lruCache); int LRU
阅读全文
摘要:LRU缓存概念 基本概念:缓存(Cache):Cache被称为高速缓存,是介于CPU和内存之间的高速小容量存储器,其容量远小于内存,但速度却可以接近CPU的频率。 概念拓展:如今高速缓存的概念已被扩充,不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘缓存),乃至在硬盘与
阅读全文
摘要:题目: 统计IP访问:要求分析apache访问日志,找出访问页面数量在前100位的IP数。日志大小在78M左右。 以下是apache的访问日志节选 202.101.129.218 - - [26/Mar/2006:23:59:55 +0800] "GET /online/stat_inst.php?
阅读全文
摘要:共有的头文件 /* utility.h */ #ifndef __UTILITY_H_INCLUDED #define __UTILITY_H_INCLUDED #include<iostream> #include<list> #include<sys/types.h> #include<sys/
阅读全文
摘要:C/S模型 TCP通信C/S模型图如下所示: TCP服务端通信的常规步骤: 使用 socket() 创建 TCP 套接字(socket) 将创建的套接字绑定到一个本地地址和端口上(Bind) 将套接字设为监听模式,准备接收客户端请求(listen) 等待客户请求到来: 当请求到来后,接受连接请求,返
阅读全文
摘要:题目: 设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 答案: #!/bin/bash mkdir ./userdata if [ $
阅读全文
摘要:题目: 终端输入一个文件名,判断是否是设备文件。 答案: #!/bin/bash echo -e "please input a filename to judge it is or not a device file.\n\n" read -p "Input a filename: " filen
阅读全文
摘要:题目: root用户今天登陆了多长时间 答案: #!/bin/bash cat /proc/uptime | awk -F . '{run_days=$1/86400; run_hour=($1%86400)/3600;run_minute=($1%3600)/60;run_second=$1%60
阅读全文
摘要:题目: 编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下。 答案: #!/bin/bash for FileName in `ls -l | awk '$5>10240 {print $9}'`; do mv $FileName /tmp done ls -al /tmp
阅读全文
摘要:重载:指的是同一可访问区被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数。重载不关心函数返回类型。 class A { public: void test{int i}; //overload void test(double i); //overlo
阅读全文
摘要:题目: 文件移动拷贝,有m1.txt m2.txt m3.txt m4.txt,分别创建出对应的目录,m1 m2 m3 m4 并把文件移动到对应的目录下。 答案: #!/bin/bash touch m1.txt m2.txt m3.txt m4.txt I=1 while [ $I -le 4 ]
阅读全文
摘要:题目: 编写一个的脚本,它包括以下内容 a) 包含一段注释,列出您的姓名、脚本的名称和编写这个脚本的目的。 b) 问候用户。 c) 显示日期和时间。 d) 显示这个月的日历。 e) 显示您的机器名。 f) 显示当前这个操作系统的名称和版本。 g) 显示父目录中的所有文件的列表。 h) 显示root正
阅读全文
摘要:上线左右或者wasd移动,q或Q退出 /* 2048.c */ #include<stdio.h> #include<stdlib.h> #include<curses.h> #include<unistd.h> #include<signal.h> #include<time.h> int a[4
阅读全文
摘要:题目: 编写shell脚本获取本机的网络地址。 答案: #!/bin/bash IP=`ifconfig | grep "inet addr" | sed '/127/d' | awk '{print $2}' | awk -F : '{print $2}'` MASK=`ifconfig | gr
阅读全文
摘要:前置步骤(安装依赖库): sudo apt-get update sudo apt-get install build-essential sudo apt-get install libgl1-mesa-dev sudo apt-get install libglu1-mesa-dev $sudo
阅读全文
摘要:题目:写一个shell脚本来得到当前的日期,时间,用户名和当前工作目录 答案: 解析:$LOGNAME 获取登录用户名 date 获取当前时间 who i am 获取用户名,用户数据所在磁盘号,以及日期和ip地址 pwd获取当前文件所在路径 注意点: 如果系统应用了中文语言包的话,who i am
阅读全文
摘要:有两个文件如下所示: employee.txt 100 Jason Smith 200 John Doe 300 Sanjay Gupta 400 Ashok Sharma bonus.txt 100 $5,000 200 $500 300 $3,000 400 $1,250 employee.tx
阅读全文
摘要:所谓大数,就是超过longlong表示的位数。 #include<stdio.h> #include<stdlib.h> #include<string.h> #define BASE (10) #define MAX(x, y) ((x) > (y) ? (x) : (y)) typedef st
阅读全文