![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
瓜枣三郎
May be a geeker.
Email: hankai17@126.com
展开
-
echo命令有趣的颜色参数
echo显示带颜色,需要使用参数-e格式如下:echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"例如: echo -e "\033[41;37m TonyZhang \033[0m"其中41的位置代表底色, 37的位置是代表字的颜色 注:1、字背景颜色和文字颜色之间是英文的“""”2、文字颜色后面有个m3、字符串前后可以没有空格,如果有的话原创 2017-07-27 11:05:52 · 284 阅读 · 0 评论 -
fatal error: libxml/parser.h: No such file or directory解决方法
安装yum install libxml2-devel.x86_64但是编译时错误为:fatal error: libxml/parser.h: No such file or directory #include 在/usr 下查找[root@hk usr]# find . -name parser.h./src/kernels/2.6.32-696.el6.x86_原创 2017-08-22 15:58:53 · 10587 阅读 · 1 评论 -
火狐浏览器httpRequest插件
发现一个好插件 可以模拟自定义的http请求应用场景: wireshark抓包分析https时 为了显示加密信息 得用到私钥通过配置环境变量 火狐浏览器可以自动将私钥信息保存 wireshark抓包时指定此私钥文件即可显示加密信息当用curl请求时候 暂时还找不到如何保存私钥 所以找到了火狐浏览器的插件代替curl截图如下原创 2017-08-28 16:58:13 · 2515 阅读 · 0 评论 -
llvm安装libclang3.9
安装之前 yum更新cmake automake autoconf ...我虚拟机是gcc7.1版本去官网下载3个文件 是libclang3.9版本 我把三个文件合并成一个文件了http://download.csdn.net/download/sinat_24820331/9968859安装命令 好像不支持./configure的格式 所以用cmakecmake原创 2017-09-07 18:06:51 · 2155 阅读 · 0 评论 -
环境的一些思考
/etc/profile 这个文件里面主要是 export一些路径 一些可运行程序的路径 写完时别忘了 source /etc/profile/etc/ld.so.conf放的是动态库的搜寻路径原创 2017-05-08 15:05:29 · 161 阅读 · 0 评论 -
linux ss命令
ss用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,原创 2017-11-09 17:03:39 · 1492 阅读 · 0 评论 -
linux dd命令
dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option]如果你想要在线看 manual, 可以试试:dd --help 或 info dd输入原创 2017-11-11 11:01:53 · 281 阅读 · 0 评论 -
记录一下socket中常见的TCP设置
TCP_DEFER_ACCEPT 只有当实际收到了数据,才唤醒正在 accept 的进程,可以减少一些无聊的上下文切换。 同时有个超时时间 若time_out之内还没有收到数据,不会继续唤醒进程,而是直接丢弃连接。例如: 设置TCP_DEFER_ACCEPT选项后,服务器受到一个CONNECT请求后,操作系统不会Accept,也不会创建IO句柄。 操作系统应该在若干秒原创 2017-10-26 11:42:33 · 551 阅读 · 0 评论 -
grep常用操作
最最常用的一个 egrep "target" * -nR egrep 'l\{2,\}' 2.txtgrep -xf a.txt b.txt //查询a与b共同存在的行grep -vxf b.txt a.txt //查询a的行不在b文件中面的,就是a比b多出来的行grep -v '^h' test.txt //显示非以h开头的 grep -v '^hello' test.t原创 2017-10-26 16:18:32 · 318 阅读 · 0 评论 -
find常用操作总结
find [-path] -options [-print -exec -ok] -print是标准输出可以不加-exec对匹配的文件执行该参数所给出的shell命令 形式为command {} \;,注意{}与\;之间有空格 -ok与exec作用相同 区别是在执行命令之前 会给出提示 让用户确认是否执行 最常用的find . -name "*.txt" //查找当前目录下转载 2017-10-26 17:01:05 · 167 阅读 · 0 评论 -
正则表达总结
\bhi\b 只匹配单词hi 而不会匹配him\b是元字符(metacharacter)加入hi后面不远处跟着一个Lucy 则用 \bhi\b.*\bLucy\b *也是元字符代表数量 即*前边的内容可以连续重复使用任意次使得整个表达式得以匹配0\d\d-\d\d\d\d\d\d\d\d 即以0开头,然后接两个数字,然后是字符“-”(不是元字符) 接下来是8位数字也可写原创 2017-03-09 22:22:42 · 367 阅读 · 0 评论 -
数据库总结
数据库:oracle数据库,操作PGA(program global area) PGA操作SGA(system global are) 再反应磁盘上 所以有闪回机制 手动提交 mysql数据3库:用户操作内存 内存反应磁盘 事物默认提交 每执行一条sql就自动提交一次 集群RAC(real application clusters):好处:负载均衡 ,互为备份,失败迁移接下来就是原创 2016-12-27 09:36:09 · 561 阅读 · 0 评论 -
同步异步和阻塞非阻塞
看了很多文章,知乎/博客等等现总结如下:IO操作:1.等待数据准备好。2.从内核到进程拷贝数据。同步IO和异步IO:1.同步IO导致请求进程阻塞,直到IO操作完成。2.异步IO不导致请求进程阻塞。IO多路复用(又叫事件驱动,select,poll,epoll)有阻塞和非阻塞状态,在处理IO时,阻塞和非阻塞都是同步IO异步IO要使用特殊的函数:Linux下是A原创 2017-02-21 14:23:46 · 303 阅读 · 0 评论 -
补丁文件概述
git log e768cb61c335d8edafdc2cf17b4553cb490e49e4 --stat -p当看一个提交的具体信息时候 -p参数是看diff 会出现下面的diff文件描述diff --git a/CHANGES b/CHANGESindex 065ab60..5f00fba 100644--- a/CHANGES+++ b/CHANGES@@ -6,6 +6,原创 2017-12-06 17:21:39 · 487 阅读 · 0 评论 -
系统调优backlog与tcp_max_syn_backlog和somaxconn
man listen看man怎么说的 The behavior of the backlog argument on TCP sockets changed with Linux 2.2. Now it specifies the queue length for completely established sockets waitingto be accepted, instead原创 2017-11-09 15:45:53 · 7120 阅读 · 2 评论 -
内存对齐的思考
最近读了traffic server源码里的IOBufferxxx结构体 里面涉及到memalign函数搜索了一下 居然发现nginx里也使用了内存对齐 数据的对齐(alignment)是指数据的地址和由硬件条件决定的内存块大小之间的关系。一个变量的地址是它大小的倍数的时候,这就叫做自然对齐 (naturally aligned)。例如,对于一个32bit的变量,如果它的地址是4的倍原创 2017-07-14 14:09:41 · 223 阅读 · 0 评论 -
top命令用法总结
第一行:当前系统时间系统已经运行了多长时间(在这期间没有重启过)6 users — 当前有6个用户登录系统load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。第二行:Tasks — 任务(进程),系统现在共有1个进程,其中处于运行中的有1个,0个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。第原创 2017-07-12 14:48:30 · 273 阅读 · 0 评论 -
curl wget的使用以及socket实现
先说我的curl -o /dev/null -vL -H "Host: www.4299.com" http://10.10.110.42-v 意为verbose 显示的更人性化 更多 包括请求头和相应头等信息L 有的网址是自动跳转的。使用-L参数,curl就会跳转到新的网址。curl -L http://item.taobao.com/item.htm?id=25823396605原创 2017-05-15 20:45:29 · 1319 阅读 · 0 评论 -
linux基础
1命令解析器:shell(针对unix) bash(针对linux)命令解析器通过环境变量找path环境变量:会自动搜索环境变量中的可执行程序可以在/etc/environment中永久修改path的值shell命令的环境变量在usr/bin下Tab按2次:显示所有匹配项ctrl+p ↑ ctrl+n↓ctrl+f ctrl+b←ctrl+a行首 ctrl+ec原创 2016-12-27 09:32:04 · 341 阅读 · 0 评论 -
linux系统/网络编程
经典数据:APUE:unix环境高级编程3版linux系统编程手册 德linux系统编程 oreilyunix内核源码剖析 日windows核心编程linux系统开发模式:ssh远程登录即可;vi;企业中:版本控制:把代码写到版本库中(svn/git)由库提交到服务器重点:shell 进程线程进程概念:程序进程线程写了程序,启动起原创 2016-12-27 09:34:27 · 545 阅读 · 0 评论 -
gcc6.0编译开源库出错问题的解决
gcc版本太高,检查的风格要求也更严格.有时候编译过不去,比如我安装ragel开源时,因为值范围问题一直报错.而 gcc低版本却可以编译通过.解决方案:./configure CXX='g++ -std=c++98'原创 2017-01-04 16:10:28 · 406 阅读 · 0 评论 -
linux一天一个命令
一. 文件目录操作命令:ls -l 显示更多信息ls -tl 根据时间降序显示 -r则逆序ls -R列出所有子目录层ls显示颜色 在/etc/bashrc, 加入:alias ls="ls --color"计算当前目录下的文件数和目录数:ls -l * |grep "^-"|wc -l ---文件个数 ls -l * |grep "^d"|wc -l原创 2017-02-06 17:32:05 · 807 阅读 · 0 评论 -
curl探测服务器改进
#ifndef ICR_ICSCHECK_HPP#define ICR_ICSCHECK_HPP#include #include #include #include#include #if 1#define YES 1#define NO 0#define UNKOWN_FLAG原创 2017-01-23 17:23:55 · 374 阅读 · 0 评论 -
shell总结
是编程语言 特点碎 滚着走7、8个脚本模板 改成新脚本程序不是写出来的 一去不复返了几乎所有脚本都是shell和python必学先python搞出来 在c改出来shell是内核表现 还是内核 已经学了1/3内核linux渐渐向上层开发 30年河东30年河西没事儿:底层看内核 上层看pythoncat /etc/shells 看所支持的shellecho $SHE原创 2016-12-27 09:36:55 · 363 阅读 · 0 评论 -
github简单应用
若本地的文档想上传到github上:1个人github主页创建新仓库:首先在github个人主页上创建一个新的仓库 起一个名字2仓库初始化:本地文档下 git init 会多一个隐藏文件夹.git3配置git:输入命令:git config --global user.name "你的用户名"输入命令:git config --global user.email 你的邮原创 2017-02-15 17:42:45 · 278 阅读 · 0 评论 -
gdb调试 上干货(每天更新)
很苦恼gdb调试是阅读开源库的第一个绊脚石从开始工作到现在还是不想用它,就是因为它太"简陋"了但是把代码移植到windows下调试又非常麻烦(貌似更麻烦)所以逃避不开,那就开干吧b mainr 执行当前被调试的程序lbreak 18 18行设置断点rinfo breakc原创 2017-01-09 18:51:33 · 300 阅读 · 1 评论 -
linux下的so、o、lo、a、la文件
http://blog.csdn.net/xljiulong/article/details/6636885原创 2017-05-11 14:49:57 · 454 阅读 · 0 评论 -
gcc的一些选项
./configure CFLAGS=-Wl,-g,-O0 CXXFLAGS=-Wl,-g,-O0被它给坑了一下 -g与-O必须是一起使用的 -Wl意思是把其后面的参数传递给变量原创 2017-05-08 15:02:50 · 309 阅读 · 0 评论 -
关于端口的总结
某个socket端口状态# netstat -an | grep ':53'a表示显示所有的socket n表示显示网络情况# netstat -tuln | grep port tcp/udp的监听端口显示的格式是 协议 接收 发送 本地ip 目标ip 网络状态查看端口属于哪个进程lsof -i :8083 可根据pid"杀掉"它原创 2017-05-08 14:43:29 · 313 阅读 · 0 评论 -
爬ip库
比如说爬某138 ipip ipcn taobao sina最近一直在忙 把代码开源出来 希望大家能把我的代码改进改进总觉得if嵌套很多 标志位也很多 但是又不知道怎么优化还有就是c11特性用了 但是用的太牵强 又放弃了......原创 2017-04-03 18:50:35 · 3843 阅读 · 1 评论 -
linux下gcc6.1.0编译器安装
编译器还是源码安装好一些 为了支持c11特性的代码 我安装的是4.8.1版本用的是centos6.8的镜像首先:./contrib/download_prerequisites 会下载3相互依赖的包依次对3个包进行指定路径安装:./configure --prefix=/usr/local/gmp ./configure --prefix=原创 2017-01-04 15:54:49 · 1718 阅读 · 0 评论 -
升级gdb 7.8.2
gdb调试提示:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.......但是按照大多数的教程做下来,安装各种库 还是会出现这种情况怎么办?主要原因是gcc版本太高,gdb版本太低,升级以下gdb版本就好了。1.下载源码包: wget http://ftp.nluug.nl/gnu/gd原创 2017-01-17 08:55:29 · 5408 阅读 · 0 评论 -
常见ua
http://www.veryhuo.com/a/view/36482.html转载 2019-03-10 14:58:59 · 751 阅读 · 0 评论