Linux
文章平均质量分 60
帝壹
天道酬勤。
天助自助者。
展开
-
进程间通信的8种方式
1 无名管道通信无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2 高级管道通信高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。3 有名管道通信有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许转载 2017-05-23 22:33:56 · 672 阅读 · 0 评论 -
linux shell 命令获取字符串/文件的MD5值
获取字符串的MD5值:字符串“hello”的MD5:$ echo -n 'hello'|md5sum|cut -d ' ' -f1得到的MD5值:5d41402abc4b2a76b9719d911017c592命令解释: md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为”-“,则从标准输入读取。 echo -n : 不打印换行符。 cut: cu转载 2017-05-04 16:03:24 · 52605 阅读 · 0 评论 -
Linux中定位内存泄漏
1. 什么是内存泄漏内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的、大小任意的(内存块的大小可以在程序运行期决定)、使用完后必须显示释放的内存。应用程序一般使用malloc、realloc、new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块。否则,这块内存就不能被再次使用,造成这块内存泄漏。2. 内存泄漏的检测C++程序缺乏相应的手段来检测内存原创 2017-05-23 21:22:16 · 6644 阅读 · 1 评论 -
误删libc.so.6
误删libc.so.6yum install安装了一个软件之后,发现用什么命令都不好使了。错误提示信息: ls: error while loading shared libraries: /lib/libc.so.6: unexpected reloc type 0x25根据提示信息,推测是安装软件之后,libc.so.6被更新,链接到了新的libc库了。 此现象之前遇到过,ls、ps、m原创 2016-12-01 17:31:50 · 3442 阅读 · 0 评论 -
Linux下redis编程:error while loading shared libraries: libhiredis.so.0.11
./test: error while loading shared libraries: libhiredis.so.0.11: cannot open shared object file: No such file or directorylibhiredis.so.0.11默认安装路径【/usr/local/lib】动态库的问题,是系统找不到这个动态库,此时需要:1、首原创 2016-05-10 14:07:08 · 8198 阅读 · 0 评论 -
Linux后台开发应该具备技能
Linux后台开发应该具备技能一、linux和os:1、命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验2、cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握3、awk sed需掌握4、共享内存的使用实现原理、然后共享内存段被映射进进程空转载 2017-05-23 11:24:56 · 450 阅读 · 0 评论 -
Linux系统日志及分析
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd,默认配置文件为 /etc/syslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。 Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息原创 2017-04-18 10:04:49 · 708 阅读 · 0 评论 -
用SS5在Linux上搭建Socks5 Proxy代理服务器
SOCKS5 是一个代理协议,通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。下面我们将用SS5在Linux上搭建一个Socks5 Proxy Server,具体过程如下: 首先,编译安装SS5需要先安装一些原创 2017-02-23 15:28:27 · 12581 阅读 · 0 评论 -
Linux使用iconv将gbk编码转化为utf-8编码
一、 Linux下libiconv库的安装和使用:1.libiconv包的下载路径包的下载页面http://www.gnu.org/software/libiconv/2.编译安装libiconv库$tar zxvf libiconv-1.14.tar.gz$cd libiconv-1.14$ ./configure --prefix=/usr/local$ make$ make install在/原创 2017-03-23 11:32:46 · 19279 阅读 · 0 评论 -
CentOS6.5双网卡主机间网络不通问题:设置静态路由
问题抛出有三台主机: A1(双网卡192.168.99.50 &&192.168.106.231) A2(单网卡192.168.106.230) B (单网卡192.168.100.68) 网络连通状况: A2—-A1 可以互访,因为是在同一局域网192.168.106.0/24。 A2—-B可以互访,两台主机都是单网卡,走默认路由。 192.168.99.0/24网段和192.16原创 2017-05-24 11:41:17 · 4871 阅读 · 0 评论 -
Linux离线安装sysstat(sar,iostat,sysstat)
在服务器不能联网的情况下,需要离线安装sar工具,查看CPU、内存、网络IO等。具体使用见博文: Linux系统工具sar查看内存、CPU、IO 安装命令:# wget http://sebastien.godard.pagesperso-orange.fr/download.html/sysstat-11.5.6.tar.gz# tar zxvf sysstat-11.5.6.tar.gz#原创 2017-05-17 15:26:27 · 5364 阅读 · 1 评论 -
cpulimit安装与使用(CentOS)
cpulimit 简介cpulimit 命令的工作原理 为进程预设一个 cpu 占用率门限,并实时监控进程是否超出此门限,若超出则让该进程暂停运行一段时间。cpulimit 使用 SIGSTOP 和 SIGCONT 这两个信号来控制进程。它不会修改进程的 nice 值,而是通过监控进程的 cpu 占用率来做出动态调整。cpulimit 的优势是可以控制进程的cpu使用率的上限值。但与 nice原创 2017-05-19 15:20:13 · 10404 阅读 · 0 评论 -
ssh无法远程连接ubuntu系统,提示"System is booting up. See pam_nologin(8)"
问题:使用ssh(xshell或者putty)远程连接Linux(ubuntu)系统时,提示:"System is booting up. See pam_nologin(8)"Connection closing... Socket close.无法远程登录!但是本地可以正常登录。解决方法:修改文件: /etc/pam.d/sshd本地登录后,注释掉 pam_nologin.so 行,命令如下:原创 2017-08-25 09:10:10 · 23218 阅读 · 4 评论 -
CentOS 6.5 安装VMWare tools,以及解决安装后/mnt中有hgfs但没共享文件的方法
一、首先是安装VMWare tools1、以ROOT身份进入LINUX2、在虚拟机软件VMWARE状态栏中,点击 SETTING菜单下的ENABLE VMWARE TOOLS子菜单,此时在linux的/media/下会出现一个新文件夹,把vmware-linux-tools.tar.gz(具体名字已经忘了,大概就是这个)拷贝到临时文件夹3、使用命令解压它: tar zxf vmware...原创 2017-03-27 10:08:09 · 3405 阅读 · 0 评论 -
CentOS使用yum代理安装软件
解决问题: Windows(192.168.25.11)和CentOS(192.168.106.231)在公司内网中,但是CentOS不能上网,Windows可以上网,需要在CentOS上安装比较多的软件,离线安装太麻烦。因此,为了能让CentOS使用yum联网安装,做一下工作。1、在windows上搭建Nginx正向代理服务器1、在Nginx官网下载最新稳定版http://nginx.o原创 2017-06-12 16:06:23 · 4963 阅读 · 0 评论 -
Git使用总结
Git使用总结Git使用总结一 前言1 Git教程2 Git官方文档二 安装Git1 LinuxCentOSUbuntu2 Mac OS3 Windows三 Git使用1 创建本地仓库2 添加文件到本地仓库仓库即版本库3 时光穿梭机4 远程仓库5 分支管理6 标签管理7 使用GitHub8 自定义Git一 前言本文是参考和学习了网上资料之后的总结,不当之处希望大家及原创 2017-06-30 15:20:20 · 415 阅读 · 0 评论 -
Linux快速删除文件或文件夹
1、快速删除大文件夹(注意目录后的结束符‘/’) rsync -a –delete blank/ test/ 使用空文件夹 blank/ 覆盖原文件夹 test/。 2、查找并删除文件 find ./ -name “*.log” -mmin +120 -delete 删除当前目录下120min前的所有.log结尾文件原创 2017-06-02 09:41:06 · 2274 阅读 · 0 评论 -
CentOS 安装openssl
安装环境: 操作系统:CentOS 7OpenSSL Version:openssl-1.0.2f.tar.gzOpenSSL地址为http://www.openssl.org/source/openssl-1.0.2f.tar.gz1、安装 Openssl:[root@localhost openssl-1.0.2f]# wget http://www.openssl.org/s原创 2017-06-07 17:24:42 · 20545 阅读 · 4 评论 -
Nginx对长连接的处理及HTTP协议中body长度的确定
长连接 背景: http请求是基于TCP协议之上的,那么,当客户端在发起请求前,需要先与服务端建立TCP连接,而每一次的TCP连接是需要三次握手来确定的,如果客户端与服务端之间网络差一点,这三次交互消费的时间会比较多,而且三次交互也会带来网络流量。当然,当连接断开后,也会有四次的交互,当然对用户体验来说就不重要了。 定义: 而http请求是请求应答式的,如果我们能知道每个请求头与响应体的长度原创 2017-02-24 17:03:38 · 7194 阅读 · 0 评论 -
Linux命令之lsof(一切皆文件)
lsof命令(一切皆文件) 1. lsof 列出所有打开的文件 2. lsof | grep filename 查看正在使用这个文件的进程&用户 3. lsof +D /file_path 递归查看目录下的文件信息 4. lsof -u username 查看某用户打开的文件 5. lsof -c program 查看某进程打开的文件 6. lsof -p pid 查看某进程pid打开的文件 7.原创 2017-06-02 09:51:43 · 497 阅读 · 0 评论 -
linux top命令中各cpu占用率含义及案例分析
linux top命令中各cpu占用率含义0 性能监控介绍1 确定应用类型2 确定基准线统计0 安装监控工具0 CPU 介绍1 上下文切换2 运行队列3 CPU 利用率0 CPU 性能监控1 vmstat 工具的使用2 案例学习持续的CPU 利用率3 案例学习超负荷调度4 mpstat 工具的使用5 案例学习 未充分使用的处理量6 结论linux top命令中各cpu翻译 2017-05-31 14:58:27 · 26513 阅读 · 1 评论 -
windows与unix文件格式转换
最近使用Linux(CentOS)发现,Windows 下的文本到Linux下的vi中可以浏览出现^M,而Linux下的文本到Windows下后发现凡是“回车”部分全是“黑块”, 原因: DOS/Windows和Linux/Unix的文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。1)、把Dos/Wi原创 2017-03-23 10:26:44 · 7761 阅读 · 0 评论 -
linux下设置coredump文件的开关和路径
1.core文件生成开关ulimit -c unlimited 不限制生成core文件大小ulimit -c 0 关闭core文件生成开关ulimit -c 1024 限定生成core文件的大小为10242.core文件的命名规则/proc/sys/kernel/core_uses_pid 1 表示使用procid命名,0表示不使用/proc/sys/kernel/core_pattern 可原创 2017-03-23 09:02:48 · 896 阅读 · 0 评论 -
Nginx搭建HTTP正向代理服务器
Linux系统(CentOS为例)应用场景: 公司内网电脑A的访问外网网页(比如jd.com)的权限被限制,但是有一台能与电脑A通信的电脑B,这台电脑B可以访问外网,在电脑B上搭建HTTP代理,电脑A通过访问电脑B上的HTTP代理服务,即可访问jd.com。1、 在官网下载最新稳定版本的 nginx源码2、 默认配置编译安装 ( 需要先安装nginx所需的依赖库 )① 依赖库安装rpm -qa原创 2017-02-23 16:40:01 · 16998 阅读 · 2 评论 -
Linux添加服务并设置开机自动启动
[ 环境为CentOS6.5 ]1、添加服务:myService(需要root权限)cp myService /etc/init.d/chmod 755 myService2、添加到chkconfigchkconfig --add myService3、设置开机启动chkconfig myService on4、查看myService是否开机启动。分不同的启动级原创 2016-09-05 09:05:51 · 874 阅读 · 0 评论 -
Linux crontab源文件位置、执行日志文件位置、错误信息文件位置
Linux crontab定时任务:1、源文件位置:/var/log/cron2、执行日志文件位置:/var/spool/cron/root,其中root是当前用户名。3、错误信息文件位置:/var/spool/mail/root,错误日志中会记录定时脚本的环境变量(与当前shell的环境变量可能不一致),脚本执行不成功的原因等。原创 2016-06-27 17:18:22 · 1769 阅读 · 0 评论 -
coredump详解
转:http://blog.csdn.net/tenfyguo/article/details/8159176一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做co转载 2016-06-27 16:09:52 · 31364 阅读 · 0 评论 -
windows 与unix文件格式之谜
原文:http://blog.csdn.net/zhandoushi1982/article/details/7096181(1)问题提出我们可能会遇到过这样一些困惑:A, 如何查看一个文件或数据流的二进制格式(以十六进制格式显示)?B,为什么在 windows下编辑的 shell 脚本在 Unix下不能执行?为什么在 windows下编辑的 C 源文件在有些 gcc 编译器下不能转载 2016-05-13 08:56:29 · 831 阅读 · 0 评论 -
Linux连接Microsoft SQL Server数据库
Connecting to Microsoft SQL Server from UNIX (Linux/Mac OSX) in PythonAssuming you have a username and password with some kind of access to a MSSQL server, this might help you.Mac OS X instruc转载 2016-03-22 09:55:57 · 2624 阅读 · 0 评论 -
Linux环境使用Python连接Microsoft SQL Server
Connecting to Microsoft SQL Server from UNIX (Linux/Mac OSX) in PythonAssuming you have a username and password with some kind of access to a MSSQL server, this might help you.Mac OS X instruc转载 2016-03-22 09:52:55 · 1384 阅读 · 0 评论 -
sed详解
sed转载 2016-03-10 14:32:17 · 373 阅读 · 0 评论 -
Linux环境下sendmail发送html格式正文及csv格式附件邮件
Linux环境下sendmail发送html格式正文及csv格式附件邮件mail_receiver.cc中每行存一个收件人邮箱地址。关键在于使用echo 'Content-Type: multipart/mixed; boundary="GvXjxJ+pjyke8COw"' 将邮件内容分段。Content-Type: text/html; html页面Content-Type:原创 2016-03-28 16:46:05 · 4780 阅读 · 1 评论 -
Linux系统查看和转化文件编码
查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=ucs-bom,utf-8,c转载 2016-03-30 09:06:37 · 590 阅读 · 0 评论 -
linux关机命令
【转】:http://blog.csdn.net/jiangzhengdong/article/details/8036594Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1、reboot 2、shutdown -r now 立刻重启(root用户使用) 3、shutdown -r 10 过10分钟自动重启(root用户使用) 4转载 2016-09-21 14:25:38 · 408 阅读 · 0 评论 -
Linux命令查看以及编程获取CPU核数
㈠ 概念 ① 物理CPU 实际Server中插槽上的CPU个数 物理cpu数量,可以数不重复的 physical id 有几个 ② 逻辑CPU Linux用户对 /p原创 2016-10-12 09:15:34 · 21430 阅读 · 0 评论 -
Linux系统工具sar查看内存、CPU、IO
sar 是帮助我们了解当前系统的内存、CPU和IO(磁盘IO和网络IO) ㈠ 内存 以下两个关键指标、让我们对系统使用内存情况一目了然 ⑴ 内存使用情况统计 -r:输出物理内存和虚拟内存的统计信息[plain] view plain copy print?[roo原创 2016-10-12 09:21:32 · 29323 阅读 · 0 评论 -
Linux查看网卡是千兆还是万兆网卡
目前用过的两个命令:1、ethtool语法:ethtool 网络接口名 #ethtool em4 Settings for em4: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full原创 2017-03-09 10:09:17 · 13297 阅读 · 0 评论 -
Linux查看网卡是千兆还是万兆网卡
目前用过的两个命令:1、ethtool #ethtool em4Settings for em4: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full原创 2016-04-13 09:11:56 · 98497 阅读 · 0 评论 -
Nginx进程模型和事件模型
nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而可以使nginx以单进程方式运行。很显然,原创 2017-03-05 17:48:38 · 1555 阅读 · 1 评论 -
Makefile使用的一些心得
1、只更新.h头文件,make不能重新编译。需要在依赖文件列表中,把目标文件所依赖的.h文件添加上即可。main:main.o obj.o g++ -o $@ $^ main.o: g++ -c main.cppobj.o:obj.cpp g++ -c obj.cpp -o $@例如,目标文件obj.o需要依赖obj.h和obj.cpp,如果obj.h发生改变,但是其他文件原创 2017-03-03 15:39:45 · 551 阅读 · 0 评论