Unix系统和编程
下木
关注分布式计算,操作系统以及计算机体系结构. 微博:http://weibo.com/u/2120698533
展开
-
Bash中的循环
Bash中的循环语句有以下三种格式: 第一种形式: for variable_name in [ expression ] ; do statements done 第二种形式: while [ expression ] ; do statements done原创 2013-03-03 20:33:02 · 816 阅读 · 0 评论 -
Bash中的if条件分支
共有三种形式: 第一种最简单的形式为: if [ expression ] ; then statements fi 第二种形式为: if [ expression1 ]; then statements1 else statements0 fi原创 2013-03-03 19:42:22 · 1479 阅读 · 0 评论 -
Shell之重定向
对于任何一个C程序,都对应有stdin, stdout, stderr这三种由C语言标准库定义的三个标准流。默认情况下,这三个流都指向终端,重定向(redirection)就是将这三种流重新指向其他位置。 对stdin,stdout,stderr这三种流进行重定向的形式共有五种:将stdout重定向于stderr将stderr重定向于stdout将stdout重定向于文件原创 2013-03-03 14:44:09 · 541 阅读 · 0 评论 -
《UNIX网络编程》中第一个timer_server的例子
1.配置环境 在这里下载unpv13e.tar.gz,其中包含了《UNIX网络编程》第一卷的源代码。假设将其移到~/Unix/Network/目录下,以下为配置过程(假设当前目录为下载目录): mv ./unpv13e.tar.gz ~/Unix/Network cd ~/Unix/Network tar -zxvf unpv13e.tar.gz c原创 2013-02-27 11:09:52 · 718 阅读 · 0 评论 -
Bash 中的变量
Bash中的变量和Python中的变量在某些方面很相似,没有数据类型,所以也就不需要在使用之前必须声明。 创建一个变量并为之赋值的语法为: variable_name=some_value 需要注意的是赋值号‘=’两边不能有空格。 创建完毕后,引用的时候的语法为: $(variable_name) 另外Bash还支持直接使用命原创 2013-03-03 16:46:19 · 578 阅读 · 0 评论 -
.bash_profile和.bashrc的区别
按照打开时是否进行登录验证可将shell分为两种类型:登录shell(login shell)和非登录shell(non-login shell)。打开登录shell时将会执行配置文件.bash_profile,打开非登录shell时将会执行配置文件.bashrc。 常见的登录shell的情况有:第一次进入系统时所启动的shell按Ctrl+Alt+F1,进入虚拟终端shell原创 2013-03-02 13:59:20 · 653 阅读 · 0 评论 -
定制Bash Shell的提示符(prompt string)
常用的 bash shell提示符有PS1(primary prompt string)和PS2(secondary prompt string)。PS1是在提示能够输入下一个命令之前打出来的提示字符串。PS2是当前命令的参数还没有输入完毕时发生换行时打出的提示字符串。 使用命令: echo "PS1 is $PS1";echo "PS2 is $PS2" 可以原创 2013-03-02 12:28:25 · 3604 阅读 · 0 评论 -
管道的各种妙用(updating)
1. 如何进行 ls -l *.txt? 在shell中是不能使用ls -l *.txt的,可以使用管道实现。命令如下: ls -l | grep "\.txt$"原创 2013-03-03 14:49:42 · 470 阅读 · 0 评论 -
UNIX的ar命令
常用选项源代码文件在编译之后生成相应的目标文件(.o文件),通常制作静态库的过程就是将这些.o文件打包成一个libXXXX.a文件。ar命令常用的几个命令选项的含义如下:-r格式:ar -r libXXXX.a 1.o 2.o说明:lib文件不存在时,首先创建lib文件,然后将.o文件添加到静态库文件中-t 格式:ar -t libXXXX.a说明:展示当前原创 2014-03-28 10:46:34 · 1619 阅读 · 0 评论 -
C shell编程笔记
我总结的C Shell编程语法小手册。如果很长一段时间不用忘了语法但是突然要编写脚本时可以进行参考~原创 2013-07-07 11:17:37 · 12351 阅读 · 0 评论 -
Linux之静态库,动态库,动态加载库
本文详细的说明静态库,动态库以及动态加载库的概念和区别。以实际代码演示他们的制作过程以加深对其认识和理解。原创 2014-03-28 22:27:42 · 1316 阅读 · 0 评论 -
grep命令最常用的功能总结
1. grep最简单的使用方法,匹配一个词:grep word filename2. 可以从多个文件中匹配:grep word filename1 filenam2 filename33. 可以使用正则表达式匹配:grep -E pattern f1 f2 f3...4. 可以使用-o只打印匹配的字符,如下所示:lichao@ubuntu:command$ echo this is a line. | grep -E -o "[a-z]*\."line.5. 打印除匹配行之外的其他行,使用-v原创 2014-11-01 22:00:23 · 4558 阅读 · 0 评论 -
管理系统中的进程--top命令
author<span style="font-size:16.0pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-fam原创 2013-02-27 11:08:14 · 552 阅读 · 0 评论 -
Linux中的随机数文件 /dev/random /dev/urandom
author:<span style="font-size:14.0pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-fa原创 2013-02-27 11:08:28 · 1564 阅读 · 0 评论 -
让进程的运行不受终端影响的几个方法
有时候会往集群山发送一个运行时间很长的作业,但是有可能因为用户注销的原因或者网络断开的原因导致运行的作业终止。这是因为,这些事件发生的时候,系统会收到HUP(hangup)信号,然后将用户的所有进程都终止掉。 为了保证作业可靠的运行,有三种简单的方法:一种使用setsid命令,另外一种是使用nohup,还有就是使用(&) nohup使提交的进程忽略系统发送的HUP信号,用法原创 2013-02-27 11:09:16 · 529 阅读 · 0 评论 -
vi编辑器(一)
vi<span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi原创 2013-02-27 11:07:45 · 333 阅读 · 0 评论 -
od命令
名称:od<span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-原创 2013-02-27 11:07:49 · 674 阅读 · 0 评论 -
tail命令和head命令
head<span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-han原创 2013-02-27 11:07:42 · 808 阅读 · 0 评论 -
ftp命令
author:<span style="font-size:16.0pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-fa原创 2013-02-27 11:07:56 · 941 阅读 · 0 评论 -
dd命令
author:<span style="font-size:12.0pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-fa原创 2013-02-27 11:08:31 · 512 阅读 · 0 评论 -
Linux 下从命令行打开pdf文件和html文件的命令
如果你经常工作在终端下,某个时刻需要查看一些文档的时候(比如pdf或者html文档),是不是经常需要切换到文件系统中打开这些文件。事实上,你只需要敲一个命令就可以打开这个文件了,完全没有必要必要离开终端。 比如,打开html文件时,就可一使用firefox命令。firefox是一个shell脚本写的命令,根据参数设置环境,为启动firefox-bin做好准备工作。 比如打开go原创 2013-02-27 11:09:18 · 1640 阅读 · 0 评论 -
用Shell脚本过滤Hadoop中不能访问的节点
最近使用的一个集群hp1,因为维护集群的人不给力,节点总是过一段时间就掉一两个。今天发现重启hadoop时,HDFS已经进入保护模式了。决定把slaves节点中的无法访问的节点全部过滤掉,所以写了一个小脚本,在这里记录一下,以后方便直接拿来使用。原创 2014-11-04 10:46:19 · 1364 阅读 · 0 评论