![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python/Ruby
文章平均质量分 87
sunjiangangok
这个作者很懒,什么都没留下…
展开
-
getopts用法
getopts可以编写脚本,使控制多个命令行参数更加容易。getopts用于形成命令行处理标准形式。原则上讲,脚本应具有确认带有多个选项的命令文件标准格式的能力。2.1getopts脚本实例通过例子可以更好地理解getopts。以下getopts脚本接受下列选项或参数。• a 设置变量ALL为true• h 设置变量HELP为true• f 设置变量FILE为t原创 2017-04-10 10:20:22 · 854 阅读 · 0 评论 -
linux释放内存缓冲
在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好。但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了。Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的转换)、Buffer Cache(针对磁盘块的读写)和Page Cache(针对文件inode的读写原创 2017-04-10 10:38:42 · 435 阅读 · 0 评论 -
rebar的使用
这篇文章不得不珍藏&转载:http://www.linezing.com/blog/?p=347Rebar是一款Erlang的构建工具,使用它可以方便的编译、测试erlang程序、内联驱动和打包Erlang发行版本。Rebar是一个独立的erlang脚本,所以使用Rebar发布程序非常简单,甚至可以直接集成在项目文件夹中。默认的情况下,Rebar会按照Erlang/OTP来组织项目的结构,这样一来原创 2017-04-10 10:38:53 · 2457 阅读 · 0 评论 -
Erlang And OTP in Action翻译
最近在学习《Erlang And OTP in Action》,其中一些部分英文的看的不是很懂,为了能够弄懂,我试着翻译了:Chapter 4 OTP的应用程序和监督这章包括:■OTP应用程序的介绍■OTP管理程序的容错■使用EDoc自成文档Eralng/OTP循环系统最终的目的是构建一个可靠、容错的系统。在第三章中,我们介绍了这个循环系统的核心概念,建立了一个简单的RPC服务器;我们现在更深入一原创 2017-04-10 10:38:58 · 663 阅读 · 0 评论 -
erlang中,一个小不点引起的读取文件错误
今天写了一个读取文件的一个小erlang程序,但是就是死活找不出这个程序的问题出在哪里,最后这个问题让我找出了,问题就在于一个小点上“.”。开始的程序:%% test.erl-module(test).-export([test/0]).test() -> {ok, S} = file:open("data", read), M = io:read(S, '').data文件的内容为:{abcde原创 2017-04-10 10:39:03 · 567 阅读 · 0 评论 -
shell中的if判断
文章出处:http://www.diybl.com/course/3_program/shell/shelljs/200896/139795.html无论什么编程语言都离不开条件判断。SHELL也不例外。 if list then do something here elif list then do anoth原创 2017-04-10 10:39:13 · 319 阅读 · 0 评论 -
Cool Scripts 1:Finding Programs in the PATH
最近想把shell好好学习一边,之前的学习都是走马观花式的,这次得认真学习了,不能放过shell中的任何一个细。我看的书是《wricked Cool Shell Scripts》,这本书是英文的,一方面还可以提高一下自己的英语水平,呵呵。不多说了,先看本书中的第一个例子吧。#!/bin/bashin_path(){ cmd=$1 path=$2 retval=原创 2017-04-10 10:39:26 · 215 阅读 · 0 评论 -
sed学习笔记
1. Sed简介2. 定址3. Sed命令4. 选项5. 元字符集6. 实例7. 脚本8. 小技巧1. Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非原创 2017-04-10 10:39:41 · 191 阅读 · 0 评论 -
Cool Scripts 2:Validating Alphanumeric Only
这个脚本比较简单,就是判断一个输入是不是由数字和字母组成的。#!/bin/bashvalidAlphaNum(){ compressed="$(echo $1 | sed -e 's/[^[:alnum:]]//g')" echo "com:$compressed" echo "asdf:$1" if [ "$comp原创 2017-04-10 10:39:46 · 212 阅读 · 0 评论 -
Cool Scripts 3:Normalizing Date Formats
这个脚本的作用就是将输入的日期进行格式化输出即可。#!/bin/bash monthnoToName() { case $1 in原创 2017-04-10 10:39:51 · 183 阅读 · 0 评论 -
shell test用法
1)判断表达式 if test (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2 两个表达式都为真 test 表达式1 –o 表达式2 两个表达式有一个为真 2)判断字符串 test –n 字符串 字符串的长度非零 test –z原创 2017-04-10 10:39:56 · 270 阅读 · 0 评论 -
使用c语言编写cgi程序
<span style="font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:原创 2017-04-10 10:42:28 · 797 阅读 · 0 评论 -
CentOS 搭建本地源
环境 vmware + centos5.7目录 /data/Centos/i386/1、挂载文件mkdir -p /mnt/softmount -o loop -t iso9660 /dev/cdrom /mnt/softcd /data/Centos/i386/2.新建一个自定义的目录,用来放置你的RPM包,并复制一份。mkdir -p /data/Centos/i386/cp -rf /mnt原创 2017-04-10 10:43:53 · 253 阅读 · 0 评论 -
shell大数据计算——bc巧用
问题:现在又一id分配器,这个id分配器的上限是uint64,也就是 18446744073709551615。如果这个id分配器分配了一个id,你需要判断这个id是否是0到18446744073709551615 之间,这个时候,你会发现,使用shell本身的(())来计算就会出问题,if判断的时候也会有问题的,其实这个就超出了shell本身所能计算的范围,需要借助于专门的工具进行。解决:其实使原创 2017-04-10 10:44:48 · 629 阅读 · 0 评论 -
top 命令详解
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 下面详细介绍它的使用方法。认识top的显示结果top命令的显示结果如下所示:top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28原创 2017-04-10 10:45:57 · 324 阅读 · 0 评论 -
HTTP Cache
具体链接地址:http://blog.csdn.net/shine0181/article/details/6084542 管理员在2009年8月13日编辑了该文章文章。 --> --> window原创 2017-04-10 10:46:02 · 497 阅读 · 0 评论 -
使用gen_fsm分配一个5900到65535之间不重复的数字
之前写过“从5900到65535之间随机分配一个数字——erlang实现”,具体的地址是:http://blog.chinaunix.net/space.php?uid=22566367&do=blog&id=2974384 不过当时用到了数据库,如果使用数据库的话,这么一来,分配的效率就大打折扣。为此,我进行了改进,使用的gen_fsm模型,结合linux内核的pid位图算法,进行了设计。有关g原创 2017-04-10 10:38:37 · 268 阅读 · 0 评论 -
erlang gen_fsm编程框架
本文是erlang中的gen_fsm编程框架,在我们使用这个模型的时候,如果在这些代码的基础上进行开发的话,会收到事半功倍的效果。%%%-------------------------------------------------------------------%%% File : eb_atm.erl%%% Author : Mitchell Hashimoto %%% Desc原创 2017-04-10 10:38:18 · 350 阅读 · 0 评论 -
从5900到65535之间随机分配一个数字——erlang实现
vnc是一款开源的远程控制软件,它能完整的将窗口界面,通过网络传输到另外一台计算机的屏幕上。在linux下,vnc包括四个命令:vncserver,vncviewer,vncpasswd,vncconnect。在连接一台计算机的时候,需要知道对方计算机的IP和端口号,在我们的项目中,虚拟机的端口号是由master分配的,因此,master就要实现vncport的分配了,vncport的分配范围一般原创 2017-04-10 10:38:12 · 536 阅读 · 0 评论 -
linux下解压缩命令大全
linux下解压命令大全一、解压缩命令简介tar命令-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下原创 2017-04-10 10:27:08 · 235 阅读 · 0 评论 -
ubuntu下添加开机自动启动程序
想在自己的ubuntu上装一个mysql,然后通过c语言进行访问。之前我也在linux下装过,也就是几条命令就能装好,但是有一个问题,那就是这个mysqld的进程每次都会开机自动的启动。我想可以通过修改mysql的某一个配置文件来设置,但是这个我没有尝试,我想通过这样的方式来实现同样的效果。也就是开机之后,把那个mysqld的进程给停止了。 那么问题也就随之而来了,开机之后,在哪一个文件里来原创 2017-04-10 10:28:02 · 1710 阅读 · 0 评论 -
erlang中io:format数据类型
%% ~s String White terminated%% ~d Integer terminated by ~[0-9]%% ~u Unsigned integer in base 2..36, no leading whitespace%% ~- Optional sign character, no leading whitespace%% ~f Float%% ~a as ~s but原创 2017-04-10 10:29:57 · 668 阅读 · 0 评论 -
有意思的shell命令行提示符
在shell中,有两个环境变量,这两个环境变量分别是$PS1和$PS2,这两个变量分别代表什么意思呢?其实这两个变量都和shell下的命令行提示符有关。我们先看一下一个shell命令的执行:^_^[sunny@sunny-laptop ~/summer/semaphore]10$ cat sem\>>>>create.c#include #include #include #include int原创 2017-04-10 10:30:15 · 1267 阅读 · 0 评论 -
让自己的history命令显示时间
shell中的命令history是用来查看我们使用的历史命令,我们敲过的命令保存在 ~/.bash_history文件中,所以,如果我们不想使用histroy命令来查看的话,我们可以查阅这个文件来得知我们使用的命令历史记录。 但是有时候我们需要使用让这个命令给我们显示使用那条命令的时间的时候,这个时候我们又该如何来做呢?其实我们只需要修改一个文件就行了,修改这个文件: ~/.bashrc,在原创 2017-04-10 10:30:20 · 295 阅读 · 0 评论 -
erlang中的元组与列表的区别与联系
在erlang程序设计中,元组与列表本人很容易混淆,不知道什么时候应该使用元组,什么时候应该使用列表,为此,我查阅了一些网上的资料,并添加了一些自己的理解,如果有理解不到位的地方,欢迎大家指正。 元组: 将一定数量项组成在一起,就形成了一个单一的实体,并且若干个项之间使用逗号隔开,形成的整个实体使用{}括起来,这样就形成了一个元组。这个元组的概念有点像c语言中的结构体,因为在erlan原创 2017-04-10 10:30:36 · 1355 阅读 · 0 评论 -
Erlang App. Management with Rebar
转自:http://alancastro.org/2010/05/01/erlang-application-management-with-rebar.htmlIntroductionRebar is a build and packaging tool for Erlang applications. It is implemented in Erlang and the only depen原创 2017-04-10 10:30:40 · 348 阅读 · 0 评论 -
erlang 进制转换
在elang中使用“#”就可以进行进制的转换,不过使用这个进行进制转换的话,只能从2~36进制之间的整数转换成10进制的数据。 使用“#”转换的格式是:base#value。 其中base的取值是2~36之间,value的取值是base进制下的相应数据。看一些例子吧:60> 2#101.561> 16#cafe.5196662> 36#fanyingfei.1553原创 2017-04-10 10:30:49 · 1362 阅读 · 0 评论 -
erlang获取一个5900——65535之间不重复的一个数据
有这样一个问题,我们要获取一个5900~65535之间的一个端口号。对于这个端口号必须是唯一出现的,不能重复,如果分配出去的端口号使用完了之后,还要进行相应的回收,等待下一次的分配。要使用erlang来实现,这个该如何实现呢? 我是这么来实现的,在我的实现当中要使用mnesia数据库。每分配一个端口号出去之后,就将分配的端口号记录在数据库中,并且在数据库中使用一项记录下一次可以分配并且使用的原创 2017-04-10 10:31:01 · 210 阅读 · 0 评论 -
linux /dev/console、/dev/tty和/dev/null的区别
这三个文件都是字符设备文件。(1)/dev/console/dev/console代表的系统控制台,错误信息和诊断信息都会被到这个上。(2)/dev/tty/dev/tty如果一个控制台有一个终端的话,那么这个文件就是对应的当前的这个控制终端的别名注:console和tty有很大区别:console是个只输出的设备,功能很简单,只能在内核中访问;tty是char设备,可以被用户程序访问。(3)/d原创 2017-04-10 10:31:30 · 723 阅读 · 0 评论 -
从7个方面简单学习shell的正则表达式
从7个方面简单的学习一下正则表达式(1)匹配任何字符。匹配任何字符的时候使用“.”来进行匹配。eg: r.表示:以r开始,后面跟一个字符。ra,rb等等。(2)匹配行首。 使用“^”。(3)匹配行末。使用“$”。(4)[]的使用。[]可以用来匹配指定字符集。[0-9],[^a-z],特别注意一下这种的POSIX字符集的匹配:[[:alnum:]](5)0或者若干个字符的匹配。使用“*”。(6原创 2017-04-10 10:31:35 · 220 阅读 · 0 评论 -
有关dd命令的几个简单例子
有关这个命令的具体参数和解释,大家可以man。这篇博文的目的dd命令的简单使用,主要是从实际例子进行出发的。首先,dd命令是转换和复制一个文件。这个命令和cp有什么区别呢?(1)dd是对块进行操作的,cp是对文件进行操作的。(2)cp若干个文件之后,还是若干个文件,dd之后,相当于汇总成了一个 文件了。具体的区别可以参考:http://blog.csdn.net/erazy0/article/de原创 2017-04-10 10:36:57 · 1664 阅读 · 0 评论 -
vim的一个配置文件
之前当配置vim的时候,都是在网上找的vim配置文件,昨天给同学装了一个linux系统,想给他配置vim,自已在网上找了不小一会才找到一个比较简单但基本够用的配置文件,为此,我把这个文件记录下来,方便我以后遇到这种情况的处理。执行下面的命令:^_^[sunny@sunny-laptop ~]27$ cd ~^_^[sunny@sunny-laptop ~]28$ gedit .vimrc然后原创 2017-04-10 10:37:46 · 207 阅读 · 0 评论 -
云计算项目中遇到erlang的几个小问题
下面的几个小问题是今年暑假在做项目的时候遇到的,当时也花了不少的时间去把这些问题搞清了,现在有些遗忘,把那几个问题重新翻出来,和大家一起分享一下。经过这几天的努力,可能有那么一小点的收获,但是和实际要求可能查得还远些。下面是昨天我遇到的问题的解决,这三个问题花费的时间比较多些。问题1总结:在源代码中是D = os:cmd("get_node_resource.sh") -- "\n"但是在我的机子原创 2017-04-10 10:38:02 · 229 阅读 · 0 评论 -
erlang源程序文件的注释
下面这个简短的注释是erlang程序文件的一些注释,再写一个程序时,可以复制这个,并进行编辑。%% File: xxx.erl%% Author: xxx%% Created: 2011-7-3%% Description: TODO: Add description to meta_data_ops-module(xxx).-author(xxx). -email(xx@xx). -date原创 2017-04-10 10:38:07 · 947 阅读 · 0 评论 -
shell 脚本并发控制
直接上脚本和运行结果 #!/bin/bash function a_sub { sleep 2 } tmp_fifofile="/tmp/$$.fifo" mkfifo $tmp_fifofile原创 2017-04-10 10:47:08 · 411 阅读 · 0 评论