文章分类 -  Linux

上一页 1 2

浅析Linux下core文件
摘要:当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出 现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们 如何利用core文件找到出现崩溃的地方。何谓core文件当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。当程序接收到以下UNIX信号会产生core文件:名字说明ANSI C POSIX.1SVR4 4.3+BSD缺省动作SIGABRT异常终止(a 阅读全文

posted @ 2013-03-24 17:05 李涛_buptsse 阅读(188) 评论(0) 推荐(0)

每个程序员都应该了解的内存知识-CPU高速缓存
摘要:[编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二部。那些没有读过第一部的读者可能希望从这一部开始。这本书写的非常好,并且感谢Ulrich授权我们出版。一点说明:书籍出版时可能会有一些印刷错误,如果你发现,并且想让它在后续的出版中更正,请将意见发邮件到lwn@lwn.net ,我们一定会更正,并反馈给Ulrich的文档副本,别的读者就不会受到这些困扰。]现在的CPU比25年前要精密得多了。在那个年代,CPU的频率与内存总线的频率基本在同一层面上。内存的访问速度仅比寄存器慢那么一点点。但是,这一局面在上世纪90年代被打破了。CPU的频率大大提升,但内存总线的频率与内存芯片 阅读全文

posted @ 2013-03-24 15:23 李涛_buptsse 阅读(2447) 评论(0) 推荐(0)

每个程序员都应该了解的内存知识-概述
摘要:编辑的话: Ulrich Drepper最近问我们,是不是有兴趣发表一篇他写的内存方面的长文。我们不用看太多就已经知道,LWN的读者们会喜欢这篇文章的。内存的使用常常是软件性能的决定性因子,而如何避免内存瓶颈的好文章却不好找。这篇文章应该会有所帮助。他的原文很长,超过100页。我们把它分成了7篇,每隔一到两周发表一篇。7篇发完后,Ulrich会把全文发出来。对原文重新格式化是个很有挑战性的工作,但愿结果会不错吧。为了便于网上阅读,我们把Ulrich的脚注{放在了文章里},而互相引用的超链接(和[参考书目])要等到全文出来才能提供。非常感谢Ultich,感谢他让LWN发表这篇文章,期待大家在不久 阅读全文

posted @ 2013-03-24 15:20 李涛_buptsse 阅读(224) 评论(0) 推荐(0)

shell环境变量以及set,env,export的区别
摘要:一.shell环境变量的分类以及set env export的区别:set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样env:显示(设置)用户变量变量export:显示(设置)当前导出成用户变量的shell变量。举个例子来讲:[c-sharp]view plaincopy[oracle@zhou3~]$aaa=bbb--shell变量设定[oracle@zhou3~]$echo$aaabbb[oracle@zhou3~]$env|grepaaa--设置完当前用户变量并没有[oracle@zh 阅读全文

posted @ 2013-03-17 10:53 李涛_buptsse 阅读(238) 评论(0) 推荐(0)

Shell编程笔记
摘要:Shell编程笔记(1)-变量和运算符1.set命令可以查看和设置本地变量2.readonly查看本地只读变量readonlyvariable-name设置变量为只读变量3.环境变量的设置在$HOME/.bash_profile(/etc/profile)中4.exportvariable-name=value设置变量为环境变量5.env查看所有环境变量6.变量替换:${var-name}显示实际值到var-name${var-name:+value}如果设置了var-name,则显示其值为value,否则为空${var-nmae:?value}如果未设置var-name,显示用户定义错误信息 阅读全文

posted @ 2013-03-17 10:51 李涛_buptsse 阅读(245) 评论(0) 推荐(0)

shell的初始化文件:/etc/profile和/etc /bashrc
摘要:(1)/etc/profile 登录时,会执行。全局(公有)配置,不管是哪个用户,登录时都会读取该文件。(2)/ect/bashrc Ubuntu没有此文件,与之对应的是/ect/bash.bashrcbash.bashrc 是交互式shell的初始化文件。 (3)~/.profile 某个用户读取的配置。若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~ /.bash_login,若前两者不存在,读取~ /.profile。另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。(4)~/.bash_ 阅读全文

posted @ 2013-03-17 10:44 李涛_buptsse 阅读(555) 评论(0) 推荐(0)

简明 Vim 练级攻略
摘要:vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。Vimthe Six Billion Dollar editorBetter, Stronger, Faster.学习vim并且其 阅读全文

posted @ 2013-03-09 17:20 李涛_buptsse 阅读(86) 评论(0) 推荐(0)

应该知道的Linux技巧
摘要:这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解。 首先,我想告诉大家,在Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化。如果你看过《你可能不知道的Shell》以及《28个Unix/Linux的命令行神器》你就会知道Linux有多强大,这个强大完全来自于命令行,于是,就算你不知道怎么去做一个环保主义的程序员,至少他们可 阅读全文

posted @ 2013-03-09 17:19 李涛_buptsse 阅读(130) 评论(0) 推荐(0)

Linux常用性能调优工具索引
摘要:前段时间看到brendangregg的Linux Performance Analysis and ToolsPPT里面提到Linux常用性能调优工具, 见下图:其中提到了的工具,大部分在我日常工具箱里或者在实践的案例里面使用过, 都有很高的价值,这里方便大家索引下:nicstat: 参见这里oprofile: 参见这里perf: 参见这里systemtap: 参见这里iotop: 参见这里blktrace: 参见这里dstat: 参见这里strace: 参见这里top: 参见这里pidstat: 参见这里vmstat: 参见这里slabtop: 参见这里tcpdump: 参见这里free: 阅读全文

posted @ 2013-02-28 18:58 李涛_buptsse 阅读(132) 评论(0) 推荐(0)

ssh无密码登陆
摘要:一、单向无密码访问单向无密码访问远程服务器操作比较简单,比如服务器A需要无密码访问服务器B(A–>B),那么只需要在服务器A生成密钥对,将生成的公钥上 传到服务器B的相关用户目录下的.ssh目录中(没有的话手动创建,注意,它的目录权限是700),并将公钥文件名称改为 authorized_keys(注意,这个文件的权限应该是644),请注意.ssh目录及authorized_keys文件的权限,权限不符,会使 配置无效。具体操作如下:1、在需要无密码登录远程服务器的机器上(本例为服务器A)生成密码对:在生成的过程中有几个选项让你输入密钥对的保存目录及输入私钥,直接enter就行了。[ro 阅读全文

posted @ 2013-01-01 14:15 李涛_buptsse 阅读(202) 评论(0) 推荐(0)

git教程
摘要:内容索引1. Git 1.1. Git是何方神圣?1.2.重要的术语 1.3.索引(stage)2. 安装3. 配置3.1. 用户信息3.2. 高亮显示3.3. 忽略特定的文件3.4. 使用.gitkeep来追踪空的文件夹4. 开始操作Git4.1. 创建内容4.2. 创建仓库、添加文件和提交更改4.3. diff命令和commit修改4.4. Status, Diff和Commit Log4.5.更正提交的信息 - git amend 4.6. 删除文件5.远端仓库(remote repositories) 5.1. 设置一个远端的Git仓库 5.2. 推送修改到其他的仓库 5.3. 添加远 阅读全文

posted @ 2013-01-01 12:31 李涛_buptsse 阅读(191) 评论(0) 推荐(0)

Linux Top 命令解析
摘要:TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top 命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且 该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.top - 12:38:33 up 50 days, 23:15,7 users,load average: 60.58, 61.14, 61.22Tasks: 203 total,60 running, 139 sleeping,4 sto 阅读全文

posted @ 2012-12-22 17:04 李涛_buptsse 阅读(185) 评论(0) 推荐(0)

SVN常用命令
摘要:查看修改的文件记录svn cat -- 显示特定版本的某文件内容。svn list -- 显示一个目录或某一版本存在的文件列表。svn log -- 显示svn 的版本log,含作者、日期、路径等。svn diff -- 显示特定修改的行级详细信息。list示例:svn list http://svn.test.com/svn #查看目录中的文件。svn list -v http://svn.test.com/svn #查看详细的目录的信息(修订人,版本号,文件大小等)。svn list [-v] #查看当前当前工作拷贝的版本库URL。c... 阅读全文

posted @ 2012-12-22 14:58 李涛_buptsse 阅读(168) 评论(0) 推荐(0)

Linux系统管理命令
摘要:系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查看环境变量资源# free -m # 查看内存使用量和交换区使用量# df -h # 查看各分区使用情况# ... 阅读全文

posted @ 2012-12-22 14:57 李涛_buptsse 阅读(112) 评论(0) 推荐(0)

linux下查看文件编码及修改编码
摘要:查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。2. enca 阅读全文

posted @ 2012-12-12 18:28 李涛_buptsse 阅读(178) 评论(0) 推荐(0)

Linux 进程状态
摘要:Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。在下文将对进程的R、S、D、T、Z、X六种状态做个说明。PROCESS STATE CODESHere are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process.DUninterruptible sleep(usua 阅读全文

posted @ 2012-12-08 15:24 李涛_buptsse 阅读(194) 评论(0) 推荐(0)

上一页 1 2