Linux
沈郎
这个作者很懒,什么都没留下…
展开
-
linux 删除文件里的标点符号
sed -i 's /[,."]//g filename-i 参数用于把修改后的字符串写入原文本原创 2015-07-28 19:10:23 · 4507 阅读 · 0 评论 -
./configure -build,-host,-target设置
build:执行代码编译的主机,正常的话就是你的主机系统。这个参数一般由config.guess来猜就可以。当然自己指定也可以。host:编译出来的二进制程序所执行的主机,因为绝大多数是如果本机编译,本机执行。所以这个值就等于build。只有交叉编译的时候(也就是本机编译,其他系统机器执行)才会build和host不同。用host指定运行主机。target:这个选项只有在建立交叉编译环境的转载 2015-09-08 11:01:45 · 16992 阅读 · 0 评论 -
samba服务器的安装
转自 http://blog.csdn.net/a921800467b/article/details/8274611参考了http://www.linuxidc.com/Linux/2011-07/38996.htm http://blog.163.com/coffee_666666/blog/static/1846911142012527114转载 2015-09-16 09:20:21 · 484 阅读 · 0 评论 -
添加自定义MIB的三种方法
我所知道的添加自定义MIB的方法有三种1.静态加载,将生成的.c和.h文件加入到相应的位置,重新编译snmp库,优点是不需要修改配置文件,缺点是每次添加都得重新编译;2.动态加载,将生成的.c和.h文件再编译成.so库,修改snmpd.conf配置文件。优点是每次添加不需要重新编译,缺点是必须支持dlmod命令;3.子代理扩展,将生成的.c和.h文件编译成可执行程序,运行该程序原创 2016-01-22 20:26:14 · 15631 阅读 · 0 评论 -
ubuntu下apache2 安装 配置 卸载 CGI设置 SSL设置
一、安装、卸载apache2 apache2可直接用命令安装 sudo apt-get install apache2 卸载比较麻烦,必须卸干净,否则会影响apache2再安装 (1) sudo apt-get --purge remove apache2 sudo apt-get --purg原创 2016-02-02 20:55:00 · 823 阅读 · 0 评论 -
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'解决
安装上mysql后,报 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock',试了网上的方法都没有用,于是打开/etc/my.cnf查看。看到这么一段:# The MySQL server 26 [mysqld] 27 port = 3306原创 2016-03-17 15:06:10 · 2314 阅读 · 2 评论 -
shell mysql命令 传参数
难点主要在参数的传递方式吧,不过查资料后发现很简单。1.使用-e参数传递命令,适用于简单语句 mysql -uuser -ppasswd -e "create database dbtest;"2.使用EOF传递复杂语句 mysql -uuser -ppasswd create database dbtest; us原创 2016-04-15 16:18:36 · 2373 阅读 · 0 评论 -
linux批量删除进程
在虚拟机用脚本跑了几十个client程序用来测试服务器,然后发现参数设置错误,得重来,就傻眼了,不知道怎么关这么多client进程,总不能一个一个关。还好,学习一下,想出了以下的命令。 ps -ef|grep client|grep -v grep|cut -c 9-15|xargs kill -9 很快就批量删掉了client进程 |:管道,左边的原创 2016-05-04 13:05:18 · 7265 阅读 · 0 评论 -
linux cpu居高不下 调试
今天调试程序,使用top命令后,发现程序的cpu占有率很高,一直在99,这很可怕,所以来调试。使用top命令,得如下结果PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1997 root 20 0 358m 71m 3208 S 99.1 7.2 81:53.50 test1 root 20 0 24332 204原创 2016-04-22 17:57:31 · 1877 阅读 · 0 评论 -
解决Native atomics support not found问题
今天用arm-none-linux-gnueabi交叉编译libmysqclient.so,出现Native atomics support not found问题进入mysql-connector-c-6.16-src的include/my_atomic.h,里面有#if defined(_MSC_VER)# include "atomic/generic-msvc.h"#el原创 2016-07-22 19:31:14 · 2379 阅读 · 0 评论 -
交叉编译总结 libosscore.a libcurl.a libmysqlclient.a
把工程文件交叉编译到arm上运行,着实花费了一番功夫。首先遇到的错误是 X uses VFP register arguments, B does not百度了一下,发现是硬浮点和软浮点的问题,原先是思路是改变X的编码方式,迁就于Y,后来怎么弄都不行,改变思路,用armv7-linux的编译器重新编几个库。1.libosscore.a下载OSS-master.zip这个原创 2016-07-13 14:37:11 · 1372 阅读 · 0 评论 -
解决undefined reference to `__poll_chk@GLIBC_2.16'
出现这个错误,是系统的glibc版本太低了,需要更新到http://ftp.gnu.org/gnu/glibc/下载新版本的glibc,也不用太高,我选择glibc-2.20.tar.gz 解压完毕后./congigure --prefix=/opt/glibc-2.20make && make install 在出现 undefined r原创 2016-07-15 10:27:55 · 3101 阅读 · 0 评论 -
C语言调用curl库抓取网页图片
思路是先用curl抓取网页源码,然后以关键字寻找出图片网址。#include #include #include #include void get_key_from_str(char *origin, char *str1, char *str2, char *key);int main(int argc, char **argv){原创 2016-07-18 19:41:53 · 2374 阅读 · 1 评论 -
解决UDT中内存下不去的问题
使用UDT库,编写简单的网络通信程序,发现了一个问题,关闭一部分连接后,程序占用内存并没有变化。 比如先连接500个,再连接另500个,先关掉后面500个,程序占用内存降一半,再关掉500个,程序占用内存降到0.1。然而,如果先关掉前面500个,程序占用内存不会发生变化,只有等再关掉后面500个,程序内存才会降到0.1。 换个顺序就降不了,这很奇怪,很“玄学”。原创 2016-07-19 17:19:29 · 626 阅读 · 0 评论 -
APUE 习题3-2 实现dup2,要求不使用fcntl函数。
int mydup2(int oldfd, int newfd){ int tfd = 0; if (newfd { err_sys("newfd } if (newfd == oldfd) { return oldfd; }原创 2016-08-03 14:34:28 · 474 阅读 · 0 评论 -
CMake交叉编译
如果你的英文比较好,那么可以看这里:http://www.cmake.org/Wiki/CMake_Cross_Compiling,这是CMake官方网站上一篇介绍如何交叉编译的文章,我也是主要参考这篇文章完成了我的交叉编译。但是我的交叉编译过程不是翻译它的,是根据我自己交叉编译的过程,从了解CMake到完成交叉编译写的,容易入门,不涉及深入研究。 转载请注明原出处: http://hi转载 2015-09-08 19:39:26 · 724 阅读 · 0 评论 -
linux 链接库文件出现“undefined reference to" 问题的解决方法
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。 1. 链接时缺失了相关目标文件转载 2015-09-01 13:44:04 · 32575 阅读 · 0 评论 -
找不到curl/curl.h,libcurl库的安装。
sudo apt-get install libcurl4-openssl-dev原创 2015-09-02 14:36:09 · 18506 阅读 · 0 评论 -
Linux dialog详解(图形化shell)
最近使用dialog写图形自动化shell脚本, 功能很强大,功能不是非常多但是足够用。想写一篇linux下dialog的使用方法,虽然命令不多,但是写起来也需要下很大功夫,而且不一定写得更好,在网上发现一篇linux shell图形化脚本文件,于是转过来了.liunx 下的dialog 工具是一个可以和shell脚本配合使用的文本界面下的创建对话框的工具。每个对话框提供的输出有转载 2015-07-28 14:50:07 · 2984 阅读 · 0 评论 -
linux 替换换行符为;号
sed ':label;N;s/\n/;/;b label' filename原创 2015-07-30 19:29:33 · 1226 阅读 · 0 评论 -
makefile中的shell语法
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙。下面总结了一些。1:尽在Makefile文件的目标项冒号后的另起一行的代码才是shell代码。eg:xx = xx1 // 这里时makefile代码yy:xx = xx2 // 这是是makefile代码,makefile允许变量赋值时,转载 2015-07-21 14:44:02 · 390 阅读 · 0 评论 -
[错误] scp 时 ssh Connection refused
ssh: Error Connection: Connection refused需要安装服务模块openssh-server解决办法:sudo apt-get install ssh openssh-server转载 2015-07-21 14:33:15 · 2000 阅读 · 0 评论 -
UBUNTU 下 install as /bin/sh?no
执行./arm-2009q1-203-arm-none-linux-gnueabi.bin命令时,出现如下提示:The installer has detected that your system uses the dash shellas /bin/sh. This shell is not supported by the installer.You can work ar原创 2015-07-20 17:52:05 · 714 阅读 · 0 评论 -
正则表达式 分类区别
原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html正则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在P转载 2015-07-17 09:42:30 · 732 阅读 · 0 评论 -
Makefile经典教程(掌握这些足够)
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make转载 2015-07-06 15:44:54 · 485 阅读 · 0 评论 -
Introduction to Linux
1.1 History 1.1.1 UNIX In order to understand the popularity of Linux, we need to travel back intime, about 30 years ago... Imagine computers as big as houses, even stadiums. While the sizes转载 2015-05-27 12:50:04 · 798 阅读 · 0 评论 -
linux下新建用户
一,useradd(1)useradd -m username是最简单的方法,会在/home 目录下自动建立一个username目录;(2)useradd -d 是在指定的目录下进行建立如:useradd -d /home/user -s /bin/sh username,然后用语句:passwd username 就可以为新建的用户设置密码 两种方法都可以新增用户userna转载 2015-07-23 09:28:18 · 461 阅读 · 0 评论 -
交互式makefile
之前一直不知道在shell中调用read赋值后,怎么传给makefile中的变量,后来才恍然大悟。myname := $(shell read -p "Enter your name:" name;\echo $$name)all :@echo ${myname}原创 2015-07-23 16:15:20 · 781 阅读 · 0 评论 -
正则表达式 学习笔记
. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线或汉字\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束* 重复零次或更多次+ 重复一次或更多次?重复零次或一次{n} 重复n次{n,} 重复n次或更多次{n,m} 重复n到m次[abc]匹配abc中的一个[a-原创 2015-07-24 15:06:49 · 366 阅读 · 0 评论 -
linux 下永久性修改PATH变量
运行命令vi /etc/profile在文件的最后添加上:export PATH="/你要的目录:$PATH"保存和退出最重要的是下面这步,运行命令source /etc/profile没报错则成功。原创 2015-07-24 17:23:18 · 3594 阅读 · 0 评论 -
ubuntu su 认证失败
新安装的ubuntu系统是无法切换到root账户的,得做一番修改sudo passwd密码:输入新的UNIX密码:确认密码:可以了。原创 2015-07-24 17:11:19 · 392 阅读 · 0 评论 -
ubuntu 文件夹内打开终端的方法
sudo apt-get install nautilus-open-terminal然后nautilus -q重新加载文件管理器,或注销登陆即可生效。原创 2015-09-02 09:20:39 · 887 阅读 · 0 评论 -
linux 多线程编程--线程的创建
线程概念典型的UNIX进程可以看作只有一个控制线程:一个进程在某一个时刻只做一件事情。有了多个线程后,在程序中可以时线程处理各自独立的任务,这样做的好处有许多。 1. 简化处理异步事件的代码; 2. 线程比进程更方便做数据共享; 3. 可以提高程序的吞吐量; 4. 方便改善程序响应时间每个线程都包含有表示执行环境所必需的信息,其中包括进程中标识线程的线程ID、一组寄存器值、栈、调度...原创 2018-05-22 22:41:07 · 287 阅读 · 0 评论