linux应用
迷途小码
大数据及后台开发
展开
-
CentOS 升级 gcc 和 g++ 的方法
CentOS 系统自带的 gcc 或者 g++ 的版本是:g++ (GCC) 4.4.6. GCC 版本太旧,导致了很多使用上的不便,如:无法使用g++ -std=c++11 命令来编译 C++11、无法使用Vim的很多插件(YouCompleteMe等)。因此,有必要对它进行升级。对 GCC 升级无法直接使用:yum update gcc以下是升级的详细过程。1.使用 redha...转载 2020-02-13 14:21:14 · 737 阅读 · 0 评论 -
Yum更新(http://mirrors.163.com/.help/centos.html)
1.mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2.下载repo文件3.更新缓存yum clean allyum makecache原创 2020-02-13 14:20:05 · 751 阅读 · 0 评论 -
shmget: Invalid argument error
EINVAL A new segment was to be created and size < SHMMIN or size > SHMMAX, or no new segment was to be created, a segment with given key existed, but size is greater than the size of that segmen...原创 2020-02-13 14:09:11 · 431 阅读 · 0 评论 -
wget下载ftp地址密码里有@符号如何解决
直接执行wget命令,如果ftp链接中的用户名/密码有@,那么会和关键字@冲突,需要显示指定用户名和密码,如下:#wget --ftp-user=USER --ftp-password=PASS ftp://1.1.1.1/awget --ftp-user=a@xx.com --ftp-password=111 ftp://1.1.1.1:21/20160104.log...原创 2019-11-07 16:24:57 · 3787 阅读 · 0 评论 -
Starting sshd:/var/empty/sshd must be owned by root and not group or world-writable
这个是权限的问题可采取以下两步解决chown-Rroot.root/var/empty/sshdchmod 744 /var/empty/sshdservice sshd restart就可以解决上述的问题原创 2019-11-07 16:19:15 · 540 阅读 · 0 评论 -
用户登陆Bash环境加载顺序
用户登录后加载profile和bashrc的流程如下:/etc/profile-------->/etc/profile.d/*.sh $HOME/.bash_profile-------->$HOME/.bashrc---------->/etc/bashrc说明:bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/prof...原创 2019-11-07 16:13:13 · 321 阅读 · 0 评论 -
Linux添加/删除用户和用户组
本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。1、建用户:adduser phpq //新建phpq用户passwd phpq //给phpq用户设置密码2、建工作组groupadd test转载 2014-02-07 16:56:24 · 646 阅读 · 0 评论 -
ssh问题:ssh_exchange_identification: Connection closed by remote host...
ssh问题:ssh_exchange_identification: Connection closed by remote host...刚刚一个朋友告诉我SSH连接不上服务器了,重启电脑也不管用.我仔细看了一下,老报如下错误:ssh_exchange_identification: Connection closed by remote hostthe connection转载 2014-04-29 09:47:44 · 7269 阅读 · 0 评论 -
Linux常用C函数-日期时间篇
日期时间篇asctimectimegettimeofdaygmtimelocaltimemktimesettimeofdaytimeasctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime 表头文件 #include 定义函数 char * asctime(const str转载 2014-04-16 10:02:58 · 538 阅读 · 0 评论 -
网络字节序与主机字节序
不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的第一观感转载 2014-04-16 11:14:49 · 538 阅读 · 0 评论 -
Linux信号列表
运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV转载 2014-04-16 11:20:00 · 565 阅读 · 0 评论 -
Linux防火墙
1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables start 关闭: service iptables stop 需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。 在开启了防火墙时,做如下设原创 2014-04-16 11:15:58 · 612 阅读 · 0 评论 -
Linux定时任务系统Crontab
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:你也可以将这个服务在系统启动的时候自动启动:在/etc/rc.d/rc.local这个脚本的末尾加上:/sbin/service crond start现在Cron这个服务已经在进程里面了,我们就可以转载 2014-04-16 10:07:17 · 582 阅读 · 0 评论 -
kill 0 判断进程存活
#include #include #include static int checkproc(const pid_t proc){ return kill(proc, 0) == 0;}int main(){ char file[20] = "client-00000501"; pid_t pid,pid2; pid = (pid_t) strtoul(f原创 2014-05-04 17:17:41 · 2579 阅读 · 0 评论 -
Linux网络配置
进入/etc/sysconfig/network-scripts。找到ifcfg-eth0.编辑它如下: DEVICE = eth0 ONBOOT = yes BOOTPROTO = static IPADDR= 10.9.100.221(你需要的固定ip) NETMASK=255.0.0.0 GATEWAY原创 2014-04-16 11:18:44 · 482 阅读 · 0 评论 -
pureftp配置
新建FTP账号:useradd ftpusergroupadd ftpgroupmkdir /var/www/html/beanfunchown -R ftpuser.ftpgroup /var/www/html/beanfun/usr/local/pureftpd/bin/pure-pw useradd beanfun -u ftpuser -g ftpgroup -d /原创 2014-04-16 11:21:26 · 799 阅读 · 0 评论 -
linux下fork和pthread混用的问题
linux下编程处理并行任务时,可以采用多进程模块(fork)或者多线程模型(pthread)。有时候还会采用混合的模式。当混合使用两者的时候,可能存在一些问题。 一种情况是:进程创建了一些线程,然后执行了fork。代码编写者的意图可能是希望fork出很多个副本,执行同样的任务。可是fork之前创建的线程却并没有被复制,只有最初的进程拥有该线程。 另一种情况是:进程创建转载 2014-04-03 16:33:19 · 1156 阅读 · 0 评论 -
pure-ftpd - 启动参数
-0: 当存在同名文件时,旧版本的文件不被删除或者截断,而是采用临时文件。当整个文件上传完毕之后,才指向新的文件。这个开关选项跟虚拟配额不兼容。-1: 在系统日志的输出中,记录每个会话( Session )的 PID 。 -4: 只监听 IPv4 的连接 -6: 只监听 IPv6 的连接 -a : 只有通过认证的用户才可以直接访问它的 home 目录。该选项对没转载 2014-05-05 12:27:15 · 4904 阅读 · 0 评论 -
linux下字符集编码转换轻松实现
在LINUX上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码。一、利用iconv函数族进行编码转换iconv函数族的头文件是iconv.h,使用前需包含之。#include iconv函数族有三个函数,原型如下:(1) iconv_t iconv_open(const cha转载 2014-05-07 11:33:50 · 563 阅读 · 0 评论 -
安装xfsprogs:FATAL ERROR: could not find a valid UUID header.
在安装xfsprogs时,报如下错误:checking uuid.h usability... nochecking uuid.h presence... nochecking for uuid.h... nochecking sys/uuid.h usability... nochecking sys/uuid.h presence... nochecking for sys/uu原创 2014-03-26 16:13:52 · 4918 阅读 · 2 评论 -
Linux中一个网卡绑定多个IP设定
一、配置部分 在Linux系统中,一个网卡可以绑定多个ip的,具体操作如下#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:x——>cp一个网卡的模版#vim /etc/sysconfig/network-scripts/ifcfg-eth0:x转载 2014-03-13 10:13:21 · 1219 阅读 · 0 评论 -
用GDB调试程序
GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下的图转载 2014-05-07 14:03:05 · 698 阅读 · 0 评论 -
Is errno thread-safe ?
Question:Answer:转载 2014-05-07 15:25:06 · 984 阅读 · 0 评论 -
redhat配置yum
centos中yum客户端配置:yum客户端的其中一个配置文件是/etc/yum.repos.d/*.repo ,其中这一文件中一个*.repo文件就是一个yum源。原创 2014-03-06 09:34:33 · 758 阅读 · 0 评论 -
linux下boost库安装
方法一:yum install boostyum install boost-devel方法二:1. 下载源代码包,解压2. 进入目录执行: $ ./bootstrap.sh3. 然后执行: $ ./b2检查是否能正确编译全部的包4. 最后就是安装到系统默认目录: $ ./b2 install实际上,第3和第4步可以合并,但为了跟踪可原创 2014-03-27 11:19:27 · 1178 阅读 · 0 评论 -
errno 错误定义
以下来主要自2.6.32的内核代码中的/usr/include/asm-generic/errno.h及errno-base.h,输出错误原因定义归纳整理如下: #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /转载 2014-01-15 09:37:33 · 1115 阅读 · 0 评论 -
Floating point exception
Question:linux下程序刚一运行就报错:Floating point exception。使用gdb跟踪,在main设置断点,可是刚run起来就出错,连断点没有停止,估计不是程序里面的问题,是不是库的链接问题?Answer:Floating Point Exception: 由于使用高版本的gcc glibc 编译后在低版本的glibc上运行导致.gcc现转载 2014-01-27 10:30:48 · 3995 阅读 · 0 评论 -
strtoul函数的使用
之前使用strtoul函数时,从来没思考过它的用法,最近在编写驱动设计时,突遇这个函数,发现这函数还是有值得探讨的地方。其函数原型如下:unsigned long strtoul(const char *nptr,char **endptr,int base )参数1:字符串起始地址参数2:返回字符串有效数字的结束地址,这也是为什么要用二级指针的原因。参数3:转换基数。当b转载 2014-01-15 09:39:42 · 1933 阅读 · 0 评论 -
kill 函数
发送信号的kill和raise函数 int kill(pid_t pid, int sig);int raise(int sig);kill()发送信号给指定进程,raise()发送信号给进程本身。对kill()的pid,有如下描述: pid > 0 将信号发送给ID为pid的进程pid == 0 将信号发送给与发送进程属于同个进程组的所有进程pid pid原创 2014-01-15 14:35:31 · 2804 阅读 · 0 评论 -
core dump 简单使用
开启core dump: ulimit -c unlimitrf关闭core dump: ulimit -c 0使用core dump文件: gdb EXE core.XXX原创 2014-01-27 10:39:28 · 1051 阅读 · 0 评论 -
sockaddr与sockaddr_in结构体简介
struct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; /* 14 bytes of protocol address */};sa_family是地址家族,一般都是“AF_xxx”的形式。好像通常大多用的是都是AF转载 2014-01-16 13:50:38 · 771 阅读 · 0 评论 -
copying sockaddr_storage to another sockaddr_storage changes address
Question:Hey... As in a recent question (nobody did react on the last changes) I have a problem with assigning a sockaddr structure filled byrecvfrom.As I have been advised , I did change my转载 2014-01-16 13:47:50 · 919 阅读 · 0 评论 -
AES - Openssl AES 函数说明
OpenSSL提供了AES加解密算法的APIconst char *AES_options(void);AES算法状态,是全部支持或者是部分支持。返回值:“aes(full)” 或者"aes(partial)"int AES_set_encrypt_key(const unsigned char *userKey, const int bits,AES_KEY *k转载 2014-05-08 18:10:23 · 1468 阅读 · 0 评论 -
AES - how to use OpenSSL to decrypt Java AES-encrypted data?
Question:Answer:转载 2014-05-09 11:31:21 · 1111 阅读 · 0 评论 -
github - 下载某个git库的4种方法
以gerrit-trigger-plugin为例,下面的链接都是从相应页面上直接拷贝的。法一:不用github的账号,打开这个库在github上的主页,运行下面命令即可read only运行命令下面的三种方法都要先在github上注册账户,然后生成相应的ssh key,并把public key添加到个人账户里面,详见github帮助read+write转载 2014-05-09 09:12:37 · 687 阅读 · 0 评论 -
Linux / Unix Command: bzip2
Command LibraryNAMEbzip2, bunzip2 - a block-sorting file compressor, v1.0.2bzcat - decompresses files to stdoutbzip2recover - recovers data from damaged bzip2 filesEXAMPLESSYNOPSISbz转载 2014-04-09 13:57:59 · 1065 阅读 · 0 评论 -
AES - Can't compile openSSL code
Question:I am trying to build an openssl simple program. Here is the complete code:Answer:转载 2014-05-09 11:21:21 · 1846 阅读 · 1 评论 -
AES - How to do encryption using AES in Openssl
static const unsigned char key[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,};int翻译 2014-05-09 11:26:45 · 795 阅读 · 0 评论 -
gdb - 调试带参数的程序
例子:#include int main(int argc,char *argv[]){ int i = argc; printf("argc:%d\n",i); for(i = 0;i < argc;i++) printf("argv[%d]:%s\n",i,argv[i]); return 1;}输出:[root@(转载 2014-03-17 11:42:19 · 1499 阅读 · 0 评论 -
AES - 关于PKCS5Padding与PKCS7Padding的区别
工作中,我们常常会遇到跨语言平台的加密解密算法的交互使用,特别是一些标准的加解密算法,都设计到数据块Block与填充算法的问题,例如C#与JAVA中的常见的填充算法如下:.Net中的填充算法:成员名称说明ANSIX923ANSIX923 填充字符串由一个字节序列组成,此字节序列的最后一个字节填充字节序列的长度,其余字节均填充数字零。 下面的示转载 2014-05-12 09:37:04 · 11776 阅读 · 0 评论