Linux
文章平均质量分 71
期待一片自己的蓝天
在加利福尼亚州门洛帕克的Facebook园区入口可以看到一个标牌,正面是经典的竖起大拇指点赞的图案,然而在这个标牌的背面,掩映在树荫里的依然是园区昔日所有者2009年被甲骨文公司Oracle吞并的Sun电子计算机公司Sun Microsystems Inc.的名字。Facebook之所以在牌子上留下Sun电子计算机公司的名字就是为了警醒自己,如果企业停止创新的步伐,就会沦落至如此下场。
展开
-
ubuntu升级gcc/g++的方法
# 安装 add-apt-repository 工具sudo apt-get install software-properties-common# 增加源sudo add-apt-repository ppa:ubuntu-toolchain-r/test# 更新源sudo apt-get update# 更新安装sudo apt-get upgrade# 安装 gcc/g++原创 2017-02-23 16:10:28 · 3332 阅读 · 0 评论 -
bash 的快捷键
Linux 的缺省 Shell 就是 Bash,熟练运用下面的快捷键将对提高 Bash 的操作有很多好处,当然如果你是一名 Emacs 用户的话,你会发现它们的很多操作都是相同的。这些快捷键有:Ctrl + A : 光标移到行首。Ctrl + E : 光标移到行尾。Ctrl + L : 清屏。Ctrl + U : 清除光标前至行首间的所有内容。Ctrl + H : 同原创 2015-03-19 17:26:02 · 714 阅读 · 0 评论 -
GCC常用的操作选项
gcc 简单讲解和常用参数解析.a 静态库 (archive) .c C源代码(需要编译预处理) .h C源代码头文件 .i C源代码(不需编译预处理).o 对象文件 .s 汇编语言代码.so 动态库 $gcc -g -Wall hello.c -o原创 2014-12-11 14:35:08 · 1111 阅读 · 0 评论 -
Linux下查看某一进程占用资源的情况
linux系统中我们需要查看某一进程占用服务器资源的消耗情况,应该如何去实现呢?下面我们分两步来告诉大家:首先,我们需要查看这个进程的pid,假设pid为3007。[root@localhost software]# toptop - 15:42:20 up 49 min, 3 users, load average: 0.00, 0.02, 0.00 Tasks: 33原创 2014-12-11 14:10:49 · 7694 阅读 · 1 评论 -
linux进程间通信方式及比较
进程间的通信方式: 1.管道(pipe)及有名管道(named pipe): 管道可用于具有亲缘关系进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 2.信号(signal): 信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效原创 2014-12-06 17:00:49 · 3243 阅读 · 1 评论 -
linux进程间通信--共享内存
一、IPC(Inter-Process Communication,进程间通信)对象的介绍System V 的IPC对象有共享内存、消息队列、信号灯。注意:在IPC的通信模式下,不管是使用消息队列还是共享内存,甚至是信号灯,每个IPC的对象都有唯一的名字,称为"键"(key)。通过"键",进程能够识别所用的对象。"键"与IPC对象的关系就如同文件名称于文件,通过原创 2014-12-06 17:22:31 · 695 阅读 · 0 评论 -
linux进程间通信--信号
一、信号的介绍信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式。信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了那些系统事件。如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到该进程恢复执行再传递个它;如果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到其阻塞取消时才被原创 2014-12-06 17:09:53 · 767 阅读 · 0 评论 -
linux的sed命令详解
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般原创 2014-11-21 17:47:09 · 3147 阅读 · 1 评论 -
I/O多路复用之epoll
介绍epoll的文章大多都详细介绍了epoll模型和select/poll模型之间的比较,这里就不再详细列举,只总结一下我对这两个模型的看法:1.要监视的文件句柄非常多,而且每次完成操作的句柄非常少,使用epoll模型效率比select/poll模型要高许多;2.取决于文静句柄的响应速度,在LAN环境中这几个模型的效率差不多;WAN环境中epoll的效率最高;1.Linux2.6内原创 2014-10-13 09:43:25 · 988 阅读 · 0 评论 -
CURL库的宏定义列表
列表CURL库一共有17个函数 curl_close:关闭CURL会话 curl_copy_handle:复制一个CURL会话句柄,同时3复制其所有参数 curl_errno:返回最后一个错误码 curl_error:返回一个字符串,用以描述当前会话的最后一个错误原创 2014-10-13 09:35:16 · 1172 阅读 · 0 评论 -
web站点服务器日志管理及分析
管理Web网站不只是监视Web的速度和Web的内容传送。它不仅要关注服务器每天的吞吐量,还要了解这些Web网站的外来访问,了解网站各页面的访问情况。根据各页面的点击频率来改善网页的内容和质量,提高内容的可读性,以及跟踪包含有商业交易的步骤及管理Web网站“幕后”的数据等。 为了更好地提供WWW服务,监控Web服务器的运行情况、了解网站内容的详细访问状况就显得越来越重要和迫切了。而这些要求都原创 2015-03-06 11:16:54 · 2299 阅读 · 0 评论 -
linux的文件类型
在介绍属性时,提到了最前面的标志(d或 -)可以表示目录或文件,那就是不同的文件种类。Linux的文件种类主要有下面这几种: • 普通文件(regular file):就是一般我们存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:• 纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所原创 2015-03-11 21:00:34 · 1491 阅读 · 0 评论 -
shell 中的 set命令 -e -o 选项作用
工作中经常在shell脚本中看到set的这两个用法,但就像生活中的很多事情,习惯导致忽视,直到出现问题才引起关注。1. set -eset命令的-e参数,linux自带的说明如下:"Exit immediately if a simple command exits with a non-zero status."也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零原创 2016-07-24 23:27:40 · 11165 阅读 · 0 评论 -
bash命令行快捷键
操作快捷键移动光标至行首CTRL+A第一次按时,移动光标至行首;再次按时,回到原有位置CTRL+X移动光标至行尾CTRL+E光标向左移动一个字符CTRL+B光标向左移动一个单词ESC+B光标向右移动一个字原创 2016-04-10 00:02:12 · 766 阅读 · 0 评论 -
Linux环境下,在不停止程序的情况下,更换动态链接库
设计软件架构时,为了以后升级考虑和层次间的解耦,会将一些功能封装到动态链接库中。当需要对方法升级时,只要保证动态链接库的API定义不变,就可以对局部功能进行升级。 但是由于有些服务要求在更新时也不能停止服务,例如线上查询功能等,如果此时为了更新动态链接库而暂停服务,会影响用户的使用。下面的文章介绍了一种在Linux环境下,在不停止程序的情况下,更换动态链接库的方法。在替换so文件时,原创 2016-03-09 19:30:13 · 4331 阅读 · 0 评论 -
linux配置jira的步骤
配置环境安装jdk和tomcatjdk包:jdk-6u45-linux-x64.bin1.赋予可执行权限,chmod +x jdk-6u45-linux-x64.bin 2.拷贝到/usr/lib/jvm目录下面,然后运行,/usr/lib/jvm/jdk-6u45-linux-x64.bin 3.配置环境变量,在/etc/profile中加入:export JAVA_HOME=/usr/lib原创 2015-12-23 11:27:39 · 2165 阅读 · 0 评论 -
linux 下core文件的设置
/proc/sys/kernel/core/core_pattern 默认内容: |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e方法1:临时修改:修改/proc/sys/kernel/core_pattern文件,但/proc目录本身是动态加载的,每次系统重启都会重新加载,因此这种方法只能作为临时修改。 /proc/sys/kernel/core原创 2015-12-17 21:00:24 · 7065 阅读 · 0 评论 -
ssh密码登录和非密码登录的原理
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 为 Secure Shell 的缩写,由 IETF 的网原创 2015-09-08 11:16:00 · 1313 阅读 · 0 评论 -
提高linux对最大进程数和最大打开文件描述符数的限制
打开/etc/security/limits.conf文件在下面加入如下两行,其中wacos是用户名,*可以代表所有用户wacos - nproc 20000wacos - nofile 65536noproc代表最大进程数nofile代表最大文件打开数然后在命令行输入:u原创 2015-05-22 14:55:55 · 3743 阅读 · 0 评论 -
RedHat 6 yum 使用网易源
刚装好了 RedHat 6 系统,但是使用 yum 的时候总是提示 nothing to do,并且什么都做不了。后来经过一番搜索才知道,红帽的 yum 在线更新是收费的,而且必须注册系统之后才能使用。之前使用 Ubuntu 的时候由于国外的 apt-get 源过慢是可以更新国内的源的,LZ经常用的就是网易的源或者是某些高校的源。于是乎LZ便想到了更换 yum 的源来解决这个问题。原创 2015-05-14 14:24:48 · 2458 阅读 · 1 评论 -
解决ubuntu新建用户后,tab键不能使用的问题
ubuntu系统创建新用户 不能使用TAB键解决 一、新建用户 supportadduser 新建用户的名字passwd 新建用户的名字即可添加新用户二、创建家目录# cd /home1.创建家目录:# mkdir 新建用户的名字 2.拷贝环境变量模板文件:# cp /etc/skel/.b* support# cp /etc/skel/.p原创 2015-04-15 11:15:37 · 4742 阅读 · 2 评论 -
用GDB调试多进程程序
在子进程中sleep,然后attach上去。gdb --pid=123456ps出子进程的id,gdb attach 进程号.http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/index.html实际上,GDB 没有对多进程程序调试提供直接支持。例如,使用GDB调试某个进程,如果该进程fork了子进程,GDB会继续调试该进程原创 2014-10-13 09:41:07 · 1124 阅读 · 0 评论 -
gdb常用命令总结
1: 对于在应用程序中加入参数进行调试的方法: 直接用 gdb app -p1 -p2 这样进行调试是不行的。 需要像以下这样使用: #gdb app (gdb) r -p1 -p2 或者在运行run命令前使用set args命令: (gdb) set args p1 p2 可以用show args 命令来查看2. 加入断点原创 2014-11-14 18:00:48 · 1125 阅读 · 0 评论 -
在父子进程间用管道传递文件描述符
在父子进程间用管道传递文件描述符原创 2014-08-28 16:57:07 · 1677 阅读 · 0 评论 -
Lamp(linux+apache+mysql+php)环境搭建
Lamp(linux+apache+mysql+php)环境搭建原创 2014-08-18 12:06:48 · 1547 阅读 · 0 评论 -
模拟linux下的ls -l命令
模拟linux下的ls -l命令原创 2014-09-01 10:08:12 · 1688 阅读 · 0 评论 -
编程实现GBK到UFT-8编码的转换
编程实现GBK到UFT-8编码的转换原创 2014-08-20 14:50:29 · 2251 阅读 · 0 评论 -
Linux下批量把GDK编码的文章转化为UTF-8编码的文章以及“iconv: 未知 xxx 处的非法输入序列”错误处理
Linux下批量把GDK编码的文章转化为UTF-8编码的文章以及“iconv: 未知 xxx 处的非法输入序列”错误处理原创 2014-08-20 14:40:36 · 7354 阅读 · 0 评论 -
一个简单的守护进程
一个简单的守护进程。原创 2014-07-25 19:15:57 · 893 阅读 · 0 评论 -
linux中的两个非常重要的信号:SIGALRM信号和SIGCHID信号
linux中的两个非常重要的信号:SIGALRM信号和SIGCHID信号原创 2014-07-25 15:52:08 · 17704 阅读 · 1 评论 -
linux中fork()与vfork()的区别
一、fork1. 调用方法#include #include pid_t fork(void);正确返回:在父进程中返回子进程的进程号,在子进程中返回0错误返回:-1 子进程是父进程的一个拷贝。即,子进程从父进程得到了数据段和堆栈段的拷贝,这些需要分配新的内存;而对于只读的代码段,通常使用共享内存的方式访问。fork返回后,子进程和父进程都从调用fork原创 2014-07-24 21:36:31 · 841 阅读 · 0 评论 -
[添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码,usermod的ysuum安装包。飞
[添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码,usermod的ysuum安装包。原创 2014-05-06 16:01:31 · 8663 阅读 · 0 评论 -
setuid()与seteuid()的区别
setuid()与seteuid()的区别.原创 2014-08-30 17:53:54 · 5854 阅读 · 1 评论 -
fork同时创建多个子进程的方法
fork 同时创建多个子进程的方法原创 2014-06-29 11:27:39 · 9944 阅读 · 0 评论 -
Linux下面的两种文件锁
文件锁是一种文件读写机制,在任何特定的时间只允许一个进程访问一个文件。利用这种机制能够使读写单个文件的过程变得更安全。在这篇文章中,我们将探讨Linux中不同类型的文件锁,并通过示例程序来理解它们之间的不同之处。我们将采取以下的例子来解释为什么需要使用文件锁。1、 进程“A”打开和读取一个文件,此文件包含账户相关的一些信息。2、 进程“B”也打开了这个文件,并读原创 2014-11-13 18:25:40 · 1643 阅读 · 0 评论 -
linux的内存管理机制
一 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内原创 2014-11-14 14:03:59 · 1002 阅读 · 0 评论 -
epoll的两种工作模式
epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT).在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的select/poll操作,只要还有没有处理的事件就会一直通知.原创 2014-10-01 00:12:32 · 2315 阅读 · 0 评论 -
linux查看文件大小的命令
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。 下面分别简要介绍 df命令原创 2014-11-10 21:04:36 · 1849 阅读 · 0 评论 -
使用系统调用fcntl()来对文件加锁
在文已经共享的情况下如何操作,也就是当多个进程同时操作同一个文件时,我们怎么保证文件数据的正确性。linux通常采用的方法是文件上锁,来避免共享资源的产生竞争状态。 文件锁包括建议性锁和强制性的锁。建议性的,顾名思义,相对温柔一些,在对文件进行锁操作时,会检测是否已经有锁存在,并且尊重已有的锁。在一般的情况下,内核和系统都不使用建议锁。强制性的锁是由内原创 2014-09-27 15:12:57 · 2635 阅读 · 0 评论 -
Linux中打开文件时的O_EXCL有什么用
问题描述:open(pathname, O_RDWR | O_CREAT,0666);就不行吗?为什么好多资料上说要加O_EXCL,说是原子性操作,不加难道就不是了吗?解答:如果文件事先已经存在,open(pathname, O_RDWR | O_CREAT,0666); 打开成功,返回一个大于0的fdopen(pathname, O_RDWR | O_CREAT | O原创 2014-09-27 15:16:18 · 9711 阅读 · 0 评论