Linux
文章平均质量分 68
Ni259251
linux c/c++ shell perl python
展开
-
strtok_r
分解字符串函数:char *strtok_r(char *str, const char *delim, char **saveptr);strtok_r函数是strtok函数的可重入版本。str为要分解的字符串,delim为分隔符字符串原创 2016-09-12 11:30:22 · 586 阅读 · 0 评论 -
C语言getopt()函数的使用
getopt(分析命令行参数) 相关函数表头文件 #include定义函数 int getopt(int argc,char * const argv[ ],const char * optstring);函数说明 getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和转载 2016-11-28 11:19:43 · 283 阅读 · 0 评论 -
mmap引发的SIGBUS
转载出处:http://blog.csdn.net/ctthuangcheng/article/details/8916015一直以来都觉得使用mmap读文件是非常高效、非常优雅的做法(参见《从"read"看系统调用的耗时》)。mmap之后,就可以通过内存访问的方式访问到文件里的内容,省去了read这样的系统调用。却不曾想过,mmap以后,如果读文件出错会发生什么……今晚看到一篇介转载 2016-12-09 21:00:23 · 2382 阅读 · 0 评论 -
网络通信错误码转换
TCP/IP 某些最常见的错误原因码 (errno)列表(转)对于在基于 UNIX 的环境中的 TCP/IP 用户,下表列出了某些最常见的错误原因码 (errno)。它不是完整的错误列表。可以在文件 /usr/include/sys/errno.h 中找到 Errno。针对每一种操作系统给出了errno 号码。基于 UNIX 的 TCP/IP errno转载 2016-12-20 10:08:58 · 1375 阅读 · 0 评论 -
sync
sync命令文件系统管理 sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息。 在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。只有在updat转载 2017-02-18 14:55:51 · 1016 阅读 · 0 评论 -
rpm 命令使用
rpm(安装、查询、卸载、升级、校验)安装 通常情况下使用指令 rpm -ivh 进行安装 -i 安装 -v 显示详细信息 -h 显示进度条 --nodeps (取消依赖关系,装上之后极有可能不能用) --replacefiles (产生的文件冲突时,替换覆盖) --replacepkgs (当批量(组)转载 2017-04-06 17:47:12 · 685 阅读 · 0 评论 -
Linux 安装openmpi
安装1) 下载openmpi2) tar -xzvf openmpi-1.4.3.tar.gz3) cd openmpi-1.4.3 4) ./configure --prefix=/usr/local/openmpi | tee ../install.log5) make all | tee ../make.log6) make install | tee ../inst转载 2017-04-06 17:48:35 · 6107 阅读 · 0 评论 -
Perl文件I/O
转载出处:http://www.yiibai.com/perl/perl_files.html处理文件的基本原理很简单:你关联与外部实体(通常是文件)的文件句柄,然后使用各种在Perl的运算符和函数内与句柄相关联的数据流中存储的数据读取和更新。一个句柄是一个名为Perl的内部结构,关联物理文件名称。所有的文件句柄是读/写访问,所以你可以读取和更新与句柄相关联的任何文件或设备的能力。转载 2017-05-23 15:36:39 · 614 阅读 · 0 评论 -
writev用法
UNIX和WINSOCK提供了不同的实现方法UNIX系统下,使用writev,可以指定一系列的缓冲区,收集要写的数据,使可以安排数据保存在多个缓冲区中,然后同时写出去,从而避免出现Nagle和延迟ACK算法的相互影响。参数编辑#include ssize_t writev( int fd, const struct iovec *iov, int cnt )转载 2017-05-08 10:40:40 · 1480 阅读 · 0 评论 -
linux shell if语句
if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi if 的三种条件表达式ifcommandthen if 函数then 命令执行成功,等于返回0 (比如原创 2017-05-10 15:35:52 · 335 阅读 · 0 评论 -
Linux 文件系统注册register_filesystem与注销unregister_filesystem源码详解
参考: http://blog.csdn.net/gxfan/article/details/3079766 http://bbs.chinaunix.net/thread-4103398-1-1.html 在linux内核中,每一种注册了的文件系统都由一个类型为file_system_type的结构体来代表,该结构体中含有一个类型为file_system_ty原创 2017-06-08 16:21:04 · 2846 阅读 · 0 评论 -
linnux socket 缓冲区详解
转载出处:http://blog.chinaunix.net/uid-23146151-id-3125031.html之前在前面的Linux socket缓冲区引起的死锁博客中讲述了这个具体的死锁过程。当时也没有很仔细的看Linux内部的实现代码,也没有具体看内部是如何实现的。这两天没事的时候看了两眼代码,找到了对应的实现方式。为了说明后续的实现过程,首先需要介绍L转载 2017-07-21 09:47:08 · 844 阅读 · 1 评论 -
STL map详细用法和make_pair函数
the source URL: http://www.cnblogs.com/ranjiewen/p/5901296.html首先make_pairPairs C++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象 classpair可以将两个值视为一个单元。容器类别map和multimap就是使用pairs来管理其健值/实值(key/va转载 2017-09-28 17:35:03 · 978 阅读 · 0 评论 -
如何识别C++编译以后的函数名(demangle)
如何识别C++编译以后的函数名(demangle)From : http://www.bagualu.net/wordpress/archives/2312 C/C++语言在编译以后,函数的名字会被编译器修改,改成编译器内部的名字,这个名字会在链接的时候用到。如果用backtrace之类的函数打印堆栈时,显示的就是被编译器修改过的名字,比如转载 2017-10-09 11:08:52 · 3979 阅读 · 1 评论 -
boost optional<T>
请参照 http://www.360doc.com/content/12/0705/14/7802291_222416351.shtml原创 2017-10-10 16:18:33 · 370 阅读 · 0 评论 -
ssh免密码登录配置
ssh免密码登录配置假设两台主机为master和slave,两台主机中要做ssh链接的两个用户名最好相同,否则在之后ssh链接时会比较蛋疼。下面是修改主机名的操作步骤首先注销掉需要修改用户名的用户(!!必须注销掉),然后最好ctrl+alt+f1进入纯命令行操作,登录root用户,按照顺序做如下操作passwd 原名字设置新的密码chfn -f 新名字 原名字usermod -l 新名字 -d /...转载 2018-04-04 10:32:08 · 355 阅读 · 0 评论 -
vim 分屏功能
vim的分屏功能总结起来,基本都是ctrl+w然后加上某一个按键字母,触发一个功能。(1)在shell里打开几个文件并且分屏: vim -On file1 file2 ... vim -on file1 file2 ...大O表示垂直分割(vertical),小o表示水平分割(默认horizontal),后面的n表示分几个屏,实际上我觉得不用写,默认按后面要分割的文件数来决定分几...转载 2018-07-30 11:00:05 · 243 阅读 · 0 评论 -
mount命令用法
转载出处:http://blog.sina.com.cn/s/blog_545f2b4701010lyn.html语法: mount -t 类型 -o 挂接方式 源路径 目标路径 -t 详细选项: 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Win转载 2016-12-09 20:11:29 · 12062 阅读 · 0 评论 -
vdbench 参数详解
HD:主机定义如果您希望展示当前主机,则设置 hd= localhost。如果希望指定一个远程主机,hd= label。system= IP 地址或网络名称。clients= 用于模拟服务器的正在运行的客户端数量。SD:存储定义sd= 标识存储的名称。host= 存储所在的主机的 ID。lun= 原始磁盘、转载 2016-11-22 20:47:54 · 20155 阅读 · 0 评论 -
iozone与mdtest使用简介
1.Iozoneiozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试 Read, write, re-read, re-write, readbackwards, read strided, fread, fwrite, random read, pread, mmap, aio_read,aio_write 等等不同的模式下的硬转载 2016-11-22 20:40:36 · 2415 阅读 · 0 评论 -
strrchr
查找一个字符c在另一个字符串str中末次出现的位置:strrchr原创 2016-09-12 11:49:59 · 396 阅读 · 0 评论 -
strncmp
strncmp:比较两个字符串前size个字符是否相等原创 2016-09-12 11:52:34 · 2340 阅读 · 0 评论 -
fnmatch实例详解
fnmatch实例详解转载 2016-09-12 13:06:01 · 1185 阅读 · 0 评论 -
mmap函数使用与实例详解
mmap 编辑mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。mmap在用户空间映射调用系统中作用很大。头文件 函数原型void* mmap(void* start,size_t length,int prot,int flags,int fd,off_t offset);转载 2016-09-19 09:27:10 · 18774 阅读 · 1 评论 -
Linux系统函数read()/write()/pread()/pwrite()的区别
在Linux和UNIX中有很多的输入输出函数,有时真是让想跟它攀点关系的菜鸟们束手无策。先来看看都有哪些函数,通过解析与总结,看看能不能让大家能这些函数有个理性的认识,哦,原来是这么回事,也就算我没白花这份闲。内核文件I/O->标准库I/O->高级I/O->IPC中1. read()/write();2. pread()/pwrite();转载 2016-09-25 12:41:19 · 2874 阅读 · 0 评论 -
文件系统扩展属性操作(setfattr, getfattr)
文件系统扩展属性操作(setfattr, getfattr) 2010-03-12 22:19:52| 分类: 技术文档|举报|字号 订阅 下载LOFTER我的照片书 |最近研究文件系统的扩展属性,在特殊情况下可以实现令人想象不到的效果,现转载 2016-10-12 10:39:16 · 15600 阅读 · 0 评论 -
LINUX错误码
Linux 错误码列表 2012-11-07 17:22:22分类: LINUX#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH 3 /* No such proc原创 2016-10-13 19:06:02 · 706 阅读 · 0 评论 -
fnmatch
fnmatch函数标签: 扩展filestringshellgit2012-05-31 17:16 4104人阅读 评论(0) 收藏 举报 分类:C(12) 经验总结(73) 目录(?)[+]名称fnmatch 匹配文件名或路径名staging 模块# includefnmatch.h> int fnma转载 2016-10-13 19:06:49 · 395 阅读 · 0 评论 -
LINUX linux下的时间函数 我们在编程中可能会经常用到时间,比如取得系统的时间(获取系统的
Linux/Unix time时间戳的处理转换函数 2011-09-02 12:06:53linux下的时间函数我们在编程中可能会经常用到时间,比如取得系统的时间(获取系统的年、月、日、时、分、秒,星期等),或者是隔一段时间去做某事,那么我们就用到一些时间函数。linux下存储时间常见的有两种存储方式,一个是从1970年到现在经过了多转载 2016-10-13 19:11:42 · 3153 阅读 · 0 评论 -
linux fcntl
功能描述:根据文件描述词来操作文件的特性。 用法: int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); 参数: fd:文件描述词。 cmd:操作命令。 arg:转载 2016-11-04 16:49:26 · 296 阅读 · 0 评论 -
linux struct stat 结构
linux struct stat 结构 2010-10-25 17:03:20分类:struct stat{ dev_t st_dev; /* ID of device containing file -文件所在设备的ID*/ ino_t st_ino; /* inode number -inod转载 2016-11-04 16:50:43 · 488 阅读 · 0 评论 -
printf输出字符串的一些格式
printf输出字符串的一些格式 2008-11-26 14:50:11+--------------------------------------------+| 主题: 使用printf输出各种格式的字符串 || || 日期: 2004-06-29转载 2016-11-04 17:15:20 · 8336 阅读 · 0 评论 -
gdb基本使用方法及常用命令
示例代码plain copygdbtest.c ----------------------- #include #include "gdbinc.h" int main(int argc, char* argv[]) { int a = 0; printf("%d/n",转载 2016-10-14 10:23:20 · 13541 阅读 · 0 评论 -
Linux下bash中关于日期函数date的格式及各种用法
Linux下bash中关于日期函数date的格式及各种用法:Example12345678910111213141516171819202122232425转载 2016-11-08 16:12:07 · 5603 阅读 · 0 评论 -
linux fgets() 接口使用
fgets 从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的转载 2016-11-08 16:17:06 · 3031 阅读 · 0 评论 -
元数据基准测试工具mdtest使用介绍及下载地址
mdtest是一款针对服务器元数据处理能力的基准测试工具,可以用来模拟对文件或目录的open/stat/close操作,然后返回报告。它支持MPI,可以用来协调大量客户端对服务器发起请求。下载地址:http://sourceforge.net/projects/mdtest/ 在论文: 中, 海量并行存储系统Cappella的性能分析就用到了mdtest测试工具.转载 2016-11-22 20:39:13 · 2156 阅读 · 0 评论 -
vim 常用配置-让vim更好用
转载出处:http://www.php.cn/linux-376984.html将一下代码copy到 用户目录下 新建文件为 .vimrc 保存即可生效; 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)set nocompatible " 关闭 vi 兼容模式syntax on " 自动语法高亮colorscheme molokai " 设定配色...转载 2018-09-28 11:13:58 · 1878 阅读 · 0 评论