
Linux/Shell
xiaoding133
My name is Ma dingding. I’m a student, and software cultivator living in NanJing. This is my software development blog. I also study the aspect of speech recognition.If you are on Weibo,you can follow me at @xiaoding133.
展开
-
Linux 命令输入输出重定向。。。
原创 2012-03-07 18:07:34 · 685 阅读 · 0 评论 -
[shell]避免使用非必要的临时文件
在编写 Shell 脚本时往往在不必要使用临时文件的情况下使用了临时文件。这不仅增加了而外的代码编写工作量(用于处理创建、读取、和删除临时文件等),而且可能使脚本运行速度变慢(文件 I/O 毕竟不是快的操作)。下面的例子中假设有个脚本的功能是往当前目录下所有的.txt 文件中添加如下一行文本:--End of file name--清单 8.和清单 9.中的代码分别显示了在转载 2015-03-14 13:46:25 · 1654 阅读 · 0 评论 -
快速提高 Vi/Vim 使用效率的原则与途径
引言 Vi 最初是由 Bill Joy 在 1976 年编码实现的。而 Vim (Vi IMproved) 则是改进的 Vi,由 Bram Moolenaar 在 1991 年开发并发布。Vi/Vim 是所有 Unix/Linux 操作系统默认配备的编辑器。因其强大的功能和高效的操作,Vi/Vim 也成为众多 Unix/Linux 用户、管理员必须掌握并熟练使用的编辑工具之一。尤其是在转载 2015-03-14 14:25:08 · 923 阅读 · 0 评论 -
[shell]避免定时任务脚本的常见问题
很多脚本在实际使用的时候往往是以定时任务的方式运行,而非手工运行。但是实现同样功能的脚本在这两种运行方式下可能遇到的问题不尽相同。以定时任务方式运行的脚本往往会遇到以下几个问题。路径问题:当前目录往往不是脚本文件所在目录。因此,脚本在引用其使用的外部文件,如配置文件和其它脚本文件时,无法方便得使用相对路径。命令找不到问题:脚本中使用到的一些外部命令,在手工执行脚本的时候可以转载 2015-03-14 13:45:18 · 3355 阅读 · 0 评论 -
流、管道和重定向
概述本文帮助您巩固重定向标准 I/O 流的基础 Linux 技术。您将学习如何:重定向标准 I/O 流:标准输出和标准错误通过管道将一个命令的输出导入到另一个命令的输入将输出发送到 stdout 和文件中将命令输出用作另一个命令的参数重定向标准 I/OLinux shell(比如 Bash)接收或发送序列和字符串流 形式的输入或输出。转载 2015-03-14 15:26:10 · 934 阅读 · 0 评论 -
一个 Linux 上分析死锁的简单方法
本文主要介绍一种在 Linux 上分析死锁问题的简单方法。主要介绍死锁的基本概念,以及如何使用 pstack 和 gdb 对死锁问题进行分析。简介死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称转载 2015-03-14 13:53:05 · 837 阅读 · 0 评论 -
Linux中的make和makefile
1.1 多源文件问题我们平常编写一些小的程序一般都是修改源代码后,重新编译所有的源文件,但是对于大型的项目,这种方法就会有许多的问题。这个edit−compile−test的时间比较长,所以当只修改一个文件时,要避免编译所有的源文件。 假设有头文件a.h, b.h , c.h和C的源文件main.c, 2.c , 3.c。它们的关系如下:/* main.c */原创 2013-09-21 15:41:16 · 2309 阅读 · 4 评论 -
linux下socket 编程
网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接.一般的来说是服务端的程序 在一个端口上监听,直到有一个客户端的程序发来了请求.命令netstat 是用来显示网络的连接,路由表和接口统计等网络的信息.netstat 有许多的选项 我们常用的选项是 -an 用来显示详细的网络原创 2012-03-18 15:54:23 · 909 阅读 · 0 评论 -
Linux下进程操作
什么是程序,什么是进程呢? 通俗的讲程序是一个包含可以执行代码的文件,是一个静态的文件.而进程是一个开始执行但是还没有结束的程序的实例.就是可执行文件的具体实现. 一个程序可能有许多进程,而每一个进程又可以有许多子进程.依次循环下去,而产生子孙进程. 当程序被系统调用到内存以后,系统会给程序分配一定的资源(内存,设备等等)然后进行一系列的复杂操作,使程序变成进程以供系统调用.在系统里面只有进程没有原创 2012-03-17 14:25:10 · 818 阅读 · 0 评论 -
Linux下C的编译和链接
1.源程序的编译/* main.c */#include "mytool1.h"#include "mytool2.h"int main(int argc,char **argv){mytool1_print("hello");mytool2_print("hello");}/* mytool1.h */#ifndef _MYTOOL_1_H#defin原创 2012-03-16 19:47:04 · 1627 阅读 · 0 评论 -
Linux学习笔记。。。
2.Linux下C的开发环境C的开发环境编辑器:VI,VIM Vim:tab切换gt :wq :q! 保存编译器:GNU C/C++编译器gcc调试器:gdb函数库:glibc系统头文件:glibc_headergcc 是GNU推出的多平台编译器,能将C,C++语言源程序编译,连接成可执行文件。.i为后缀的文件,是已经预处理的C源代码文件.O 是编译原创 2012-03-09 19:25:48 · 685 阅读 · 0 评论 -
提高 Linux 上 socket 性能
在开发 socket 应用程序时,首要任务通常是确保可靠性并满足一些特定的需求。利用本文中给出的 4 个提示,您就可以从头开始为实现最佳性能来设计并开发 socket 程序。本文内容包括对于 Sockets API 的使用、两个可以提高性能的 socket 选项以及 GNU/Linux 优化。为了能够开发性能卓越的应用程序,请遵循以下技巧:最小化报文传输的延时。最小化系统调转载 2015-07-26 16:07:37 · 1019 阅读 · 0 评论