自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 持续open未fclose dir产生malloc assertion

某个函数内有open dir操作return前未fclose。打开到64个的时候就出现该错误。

2023-03-27 20:30:06 272

原创 coreutils8.32 users命令和源码分析

执行顺序:判断是否有指定utmp文件,没的话就使用默认的/var/run/utmp,然后使用read_utmp读取utmp文件,然后在遍历读取到的用户名。通过utmp(/var/run/utmp)获取当前登陆用户,utmp不存在就使用wtmp(/var/log/wtmp)用户操作记录文件来获取。核心函数:read_utmp定义在utmp.h 读取utmp文件。如果多次同一用户名,就是这个用户同时存在多个会话。命令功能:显示当前所有的登陆用户。users的操作数是指定文件获取。

2022-11-01 11:34:52 167

原创 coreutils8.32 dirname命令和源码分析

核心函数:dir_len获取操作数前缀,定义在dirname-lpgl.c。命令功能:获取文件的相对路径。

2022-11-01 11:27:29 230 3

原创 coreutils8.32 tty命令和源码分析

使用了-s选项会检查STDIN_FILENO是否存在,存在就返回EXIT_SUCCESS不输出任何消息,只打印状态掩码的退出。不存在就返回TTY_STDIN_NOTTY退出。由文件描述符查出对应的文件名(在这里传入STDIN_FILENO用来获取当前进程的tty)核心函数: isatty函数检查给定的设备类型(在这里用于检查标准输入是否存在)tty -s 可以于检查标准输入是否存在。命令功能:默认输出tty名称。

2022-10-27 21:12:32 184

原创 coreutils8.32 nproc命令和源码分析

* 执行流程:默认将用于获取进程可用cpu数的常量(NPROC_CURRENT_OVERRIDABLE)赋值到mode。(如果开启了--all就将mode切换成查询cpu总数(NPROC_ALL))。如果开启了--ignore就调用xdectoumax减少进程可用cpu总数,然后刚好后面获取cpu数量的函数(就会获取到ignore减少后的进程可用cpu) */命令功能:默认查询进程可用的cpu数,--all查询cpu总数,--ignore xxx是减少x个进程可用cpu数。

2022-10-27 20:45:40 394

原创 coreutils8.32 hostname命令和源码分析

显示或设置主机名。

2022-10-26 19:53:43 235

原创 coreutils8.32 whoami命令和源码分析

执行流程:先用geteuid获取调用进程的用户uid,再用getpwuid通过uid获取完整的passwd结构再输出用户名。命令功能:显示当前操作用户(不是登陆用户,和logname不一样。登陆用户之后可以su切换操作用户)

2022-10-26 19:50:40 129

原创 coreutils8.32 link命令和源码分析

link源码

2022-10-26 19:48:00 125

原创 coreutils8.32 unlink命令和源码分析

unlink命令和源码分析

2022-09-23 12:59:58 237

原创 coreutils8.32 pwd命令和源码分析

coreutils8.32 pwd命令和源码分析

2022-09-22 12:53:22 208

原创 coreutils8.32 true命令和源码分析

true命令

2022-09-18 14:05:27 121

原创 coreutils8.32 hostid命令和源码分析

hostid命令

2022-09-15 21:27:51 136

原创 coreutils8.32 logname命令和源码分析

logname命令

2022-09-15 20:55:29 121

原创 coreutils5.0 uname命令和源码分析

coreutils5.0 uname

2022-09-02 18:44:35 502

原创 vim安装AutoComplPop自动代码提示

vim代码提示

2022-09-01 18:58:38 456

原创 apue 4.22 递归目录

#include "apue.h"#include <dirent.h>#include <limits.h>/* 为每个文件名调用的函数类型 */typedef int Myfunc(const char *, const struct stat *, int);static Myfunc myfunc;static int myftw(char *, Myfunc *);static int do.

2021-08-22 02:18:14 121

原创 unix网络编程源码编译

cd unpv13e./configurecd libmake得到的静态文件libunp.a在上一层目录。$ nm -g libunp.a查看符号表 (主要是想看一下这个库的各个源文件调用了哪些Linux系统调用)cd libfreevim inet_ntop.c // 第61行 size_t size ->改成 socklen_t size)makecd ../libgaimakecd ../cp libunp.a...

2021-08-06 21:25:39 402

原创 linux自定义系统变量

vim /etc/profileexport后添加export PATH=$PATH:/usr/local/nginx/sbin添加保存后,刷新profile文件source /etc/profileps:重启后出现用户切换情况sudo -i重新切换root就行了

2021-07-28 01:32:42 169

原创 linux查看进程绝对路径

ps -ef | grep nginx记录进程pidcd /procls找到和pid对应名称的目录cd "pidNumber"ls -lexe和cwd链接符是绝对路径lrwxrwxrwx 1 root root 0 Jul 28 01:15 exe -> /usr/local/nginx/sbin/nginx

2021-07-28 01:20:08 536

原创 linux文件或目录添加权限(chmod)

chmod +777 "filename"以八进制形式表示,八进制的7 等于 二进制 111 所以chmod +777 就是添加文件所有权限r:文件:允许read和write。 目录:能查看目录内容(要有x)w: 文件:允许write或assert,不能mv,rm。 目录:能rm,mv等(要有x)x: 文件:允许以脚本执行。...

2021-07-25 23:41:23 1437

原创 linux搜索后复制

find “文件名” -type f -exec cp {} “复制到???” \;

2021-07-25 01:45:43 116

原创 命令行输出不进行参数扩展

here-document 的每一行都要执行参数扩展、命令替换以及算术扩展通过转义结束符任意字符可以让here-document内部不进行扩展操作#没有转义EOF的情况下grep $1<<EOFabc $100def $200ghi $25jkl $9EOF./filename abcabc abc00#转义EOF后grep $1<<'EOF'#grep $1<<\EOF#grep $1<<E\OFab

2021-07-25 00:52:37 57

原创 <<EOF

遇到XXX字符后终止

2021-07-25 00:23:15 73

转载 linux关闭笔记本自带键盘

apt-get install xinputxinput list找到AT Translated Set 2 keyboard,其 id为 13xinput set-prop 13 "Device Enabled" 0 如果想恢复,对应的值设为1即可xinput set-prop 13 "Device Enabled" 1

2021-07-22 19:15:45 256

翻译 ZeroBlog翻译

在本教程中,我们将建立一个P2P,分散,服务器和后端的聊天网站在不到100行代码。(这是对原始教程的简化和纯javascript修改。)创建新站点点击⋮ > “在站点上创建新的空站点”菜单项。 你将被重定向到一个全新的网站,只有你可以修改! 将右上角的“0”按钮向左拖动以显示侧边栏 在底部,将站点标题更改为“My ZeroChat tutorial”,然后按“Save Site settings”。聊天网站的HTML代码在您喜爱的编辑器中打开“data/[yoursite.

2021-07-03 19:30:04 143

原创 C++打开utf8输出和输入

类型什么的都用前缀w宽字符,主要是是第九行:保存个类型变量,和12行设置out编码还有19行设置in编码#include <iostream>#include <codecvt>#include <fstream>#include <string>int main(void){ using namespace std; auto LocUtf8 = locale(locale(""), new codecvt_utf8&lt...

2021-05-16 12:39:19 1637

原创 Unix环境高级编程 源码编译

1、下载源码:http://www.apuebook.com/src.3e.tar.gz2、解压并进入解压后的目录:tar-zxvf src.3e.tar.gz.tar.gzcd apue.3e3、进入后直接输入:make4、cp头文件cp include/apue.h /usr/include/ cp lib/libapue.a /usr/local/lib/cp lib/libapue.a /usr/lib/5、进入intro找到第一个列子ls1.

2021-04-24 00:22:48 110

转载 makefile中addprefix函数

$(addprefix PREFIX,NAMES…)addprefix 是makefile中的函数,是添加前缀的函数例如:$(addprefix src/,foo bar)返回值为“src/foo src/bar”.所以上面的意思是为dirver_dirs变量添加前缀,$(DRIVERS_DIR)/

2021-01-31 12:49:24 5363

原创 boost库安装,安装后没有头文件

官网下载:boost.org解压:tar xvfzboost_1_75_0.tar.gz解压后:cdboost_1_75_0 // 进入解压后的目录./bootstrap.sh // 编译./b2 --buildtype=completeinstall // 完整安装安装好后:头文件默认位置:/usr/local/include库文件默认位置:/usr/local/lib注意!!!安装好后查看头文件目录和库文件目录有没有boost相关的文件...

2021-01-28 02:51:38 2217

转载 kali拓展硬盘

首先关机,然后找到虚拟机设置-硬盘-扩展磁盘容量-指定一个大小 成功的话会提示你要再虚拟机内对磁盘进行挂载和分区操作 开机 执行/bin/sh /usr/lib/udisks2/udisks2-inhibit /usr/sbin/gpartedbin调出图形化磁盘管理工具Gparted,可以看我这里有 先右键禁用上面夹在中间的交换分区,然后删除 右键选择最上面的硬盘对应未分配的分区,进度条拖动,但是最好留点给交换分区 再将没分配的新建,选择Linux-swap 点击添加后,点击勾号 最后启动

2021-01-24 13:19:51 375

原创 linux install open-vm-tools后/mnt/hgfs为空

安装tools后还要用vmhgfs-fuse挂载vmhgfs-fuse .host:/ /mnt/hgfs

2021-01-23 20:01:52 123

原创 c++链接期obj文件(类源码)(vs自带命令提示符 )

生成 ->解决方案,原文件目录下Debug的 文件名.obj命令提示符切到该Debug目录dumpbin /all 文件名.obj > 保存为.txt例:E:\helloword\Debugobj对象文件名:text_01.objcd E:\helloword\Debugdumpbin /all text_01.obj > text_01.txtRELOCATIONS 类开头obj文件结构百度吧...

2021-01-11 19:36:35 414

原创 c++单个类的模型(vs自带命令提示符 )

cd 进入.cpp目录cl /d1 reportSingleClassLayout类名 "文件名.cpp"例:假设E盘hello下文件名:text.cpp文件内有个类:PeopleE: cd hello “可用 dir查看目录是否正确” cl /d1 reportSingleClassLayoutPeople"text.cpp"...

2021-01-09 15:57:32 100

原创 汇编基础

0000.0001.0010.0011.0100.0101.0110.0111.1000.1001.1010.1011.1100.1101.1110.11110 1 2 3 4 5 6 7 8 9 A B C D E F8位寄存器:AL CL DL BL AH CH DH BH16位寄存...

2020-10-08 16:48:54 267

原创 渗透后台提权后爬取某公司信息

没反爬,某种原因所以 全面向过程import urllib.parseimport urllib.requestimport timeimport threadingdef DiYi(): bianhao = 1 while True: url = 'http://pmsadmin.estay.com/crs/query_order_list?page_index='+str(bianhao)+'&page_size=20&asd=1&as

2020-09-23 05:28:01 441 2

原创 接着反查更多有用信息

调出数据库内存的号码反查sfzimport MySQLdbimport urllibimport urllib.parseimport urllib.requestimport jsonimport threadingimport timedef mysql1(while_id,while_id_two,url_cookie): conn = MySQLdb.connect(host='127.0.0.1', user='root',passwd='root',db='person

2020-08-12 09:06:25 231 1

原创 接上一条 爬完数据后清洗入库

数据用户名有 ’ \ /还有空格的,因为不会python操作sql数据库,直接现学了MySQLdb,入库时过滤做不好,直接跳过这些特殊名称的数据了。import jsonimport MySQLdbimport pymysqlconn = MySQLdb.connect(host='127.0.0.1', user='root',passwd='root',db='personal_information',port=3306,charset = 'utf8') # 连接数据库curs

2020-08-12 09:06:15 172

原创 模块:MySQLdb(操作SQL数据库)

import MySQLdbconn = MySQLdb.connect(host='127.0.0.1', user='root',passwd='root',db='bbc',port=3306,charset = 'utf8') # 连接数据库cursor=conn.cursor() # 创建游标 相当于指针# sql_insert="insert into student values(4,'李科',2)" #sql语句插入一行新值# sql_update="updat

2020-08-11 17:28:30 152

原创 模块:json(格式转换)

import jsondate = “{‘a’:‘A’,‘b’:‘B’}”a1 = json.loads(date)print(a1[1])# 字符串转jsond = {‘first_name’: ‘Guido’,‘second_name’: ‘Rossum’,‘titles’: [‘BDFL’, ‘Developer’],}print(json.dumps(d))‘{“first_name”: “Guido”, “last_name”: “Rossum”, “titles”: [“B

2020-08-11 17:27:08 123

原创 SQL基础 基本命令

-- 数据库的操作 -- 开启数据库服务器 net start mysql -- 关闭数据库服务器 net stop mysql -- 删除数据库 drop database 数据库名; -- 链接数据库 mysql -u root -p -- 退出数据库 exit/quit -- SQL语句需要分号;结尾 -- 显示数据库版本 select vers...

2020-07-20 14:55:30 142

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除