- 博客(25)
- 收藏
- 关注
原创 shell开发之二 函数
函数应该从中学数学就开始接触,shell脚本的函数和中学数学的函数,本质是没有什么区别的。 shell脚本的函数就是完成一定功能的代码模块,可以有入参和出参。入参对于shell来说没有类型要求,据自己学习过的大多数脚本语言,对类型都没有很多限制,这也是脚本便捷和强大之处。出参就只能返回整数,且只能返回一个参数。 例如:hello(para){#$1 是入参的第一个参
2012-09-01 11:03:11 340
原创 <<探讨linux/unix>>之tab键
tab键算是敲得最多的键了,当然是对本人而言。 tab键的作用就是自动补齐,假如有多个可能选项,则展示出来,假如没有匹配的就什么都不做。 以前在solaris平台工作的时候,因为默认安装的是csh,该shell没有自动补齐功能,所以都是切换到bash下工作的。
2012-08-28 10:48:49 672
原创 <<探讨linux/unix>>之文件类型
对于linux下的文件,其实之分两类,二进制文件和文本文件,与后缀无关。这个其实在win下也适用。 二进制文件时可以直接或组织后直接放到内存去运行。 文本文件则通过字符集编码表示出来。
2012-08-28 10:32:17 249
原创 shell开发之一 :hello world
#!/bin/shecho "hello world"写上述代码,命名为hello.sh然后将hello.sh加执行权限,chmod 755 hello.sh 就可以了。在文件目录下./hello.sh,就会看到‘hello world’的输出了。注:1. linux下的文件是否可执行,不是用户具有多大的权限,而是文件本身有怎样的权限,新手朋友特别提醒。2.
2012-08-28 10:16:22 235
原创 shell开发之简单介绍
shell脚本是解释型语言,网上随便搜一下,就知道其定义,但是可能很多初学者最后还是一头雾水。所以我是以直接、通俗的方式进行解释各种问题,不想弄得那么文绉绉的。 咱们学技术的,就别那么折腾。 解释型语言,就是不生成执行文件,不能放到内存里面直接执行,而通过shell程序解释成机器语言后,再放到内存里面去运行。 举例:c代码int main(void
2012-08-27 17:02:06 283
原创 <<探讨linux/unix>>之总结
其实网上各种linux的文章琳琅满目,不过大都照本宣科,自己是以实际工作情况所用到的写下来,所以也很零散,意在对实际工作有所帮助。 此篇虽是总结,但将来有时间还是继续分享出来。 其实还有很多命令没有提及,以后一起交流。
2012-08-27 16:44:21 215
原创 <<探讨linux/unix>>之du
默认情况下du会把所有文件的大小及文件列出来,假如文件较多的话,可加上-s 参数,只显示最后结果。 此命令主要就是查看目标的大小,自己用的时候也是常加上-sh ,按M(兆)输出结果。
2012-08-27 16:37:26 238
原创 <<探讨linux/unix>>之df
这个命令主要展示磁盘的使用情况,比如挂载了其他的文件系统也展示出来。 以下是个人虚拟机的情况rootfs 18305804 5270864 12105048 31% /devtmpfs 246572 0 246572 0% /devtmpfs 254604 372 254232 1% /de
2012-08-27 16:34:32 314
原创 <<探讨linux/unix>>之重定向
> 或者 在linux里,每个独立的资源都称作‘文件’,不照本宣科,通俗的讲:重定向的作用就是将源文件功能转为目标文件的功能。 举例说明: cat 文件,默认是打印到终端,也就是标准输出上,那么cat filename > aaa.txt 此时就会把标准输出重新定义为aaa.txt,那么输出的内容就放到aaa.txt去了,当然就不会显示在终端上。
2012-08-27 16:28:05 234
原创 <<探讨linux/unix>>之运行程序
运行一个程序,以前已提过,在此提加参的用法。 学习类c语言的,大概都知道main里面的argv数组指针,这个就是对可执行程序加上运行时具体需要的参数。 例如执行 ~/aaa 11 aa,那么argv[1]其实就是11,argv[2]就是aa。 因为程序假如没有配置文件,很多情况下是需要加相应的参数去执行的。
2012-08-27 16:09:31 211
原创 <<探讨linux/unix>>之创建文件
很多初学linux的对于建立一个文件感觉难死了,特别是在纯终端的界面下。 一些人要VI一个文件,保存后才能建立一个文件。 那么介绍建立文件前先提及一个很重要的知识:linux下只有两类文件——文本文件和二进制文件。其实win下也是一样的。 个人常用的命令是 echo > filename; 当然也可以用touch filename,但是这个在具体生产中还是不
2012-08-27 16:02:26 310
原创 <<探讨linux/unix>>之rm
rm和kill一样的危险,用起来还是小心的好啊。。 特别是加了-rf参数后,那是百分百确认无误再去做。 rm -rf 是把当前 指定的目录及其文件全部删除。 之所以说rm很危险,那是因为linux/unix下是没有回收站的,安全的做法是用mv备份就行了,不要删除。
2012-08-27 15:55:19 260
原创 <<探讨linux/unix>>之mv
linux下是没有‘重命名’的命令,初学时猜着去用rename,无效~ mv可以解决这一问题mv aaa bbb就可以重命名了。 当然mv主要还是移动情况用得多。
2012-08-27 15:52:10 307
原创 <<探讨linux/unix>>之kill
linux停一个程序就是kill,把它从内存里‘轰走’。 kill -9 是立即强制杀掉一个程序,这个命令式很危险的,特别是对很重要的业务程序。工作过程中遇到有同事因为这样干了——结果很严重,老板很生气。呵呵,当然不是我了~ kill不加任何参数,才是安全的做法。默认不加参数的话,kill会默认是-3的信号去杀掉程序,如程序的某些资源没有释放是杀不掉的,那么就可以去查看原
2012-08-27 15:48:59 362
原创 <<探讨linux/unix>>之cd
本来倒是不想说这个命令的,因为有一点计算机基础的都知道它的用法。 不过了解过一些linux下工作的同事,还是认识不深,故提一下。 直接执行cd,不加任何参数的话,可以回到用户的主目录下,尤其是长时间在linux下工作的,cd这样用的比较少让我比较奇怪,他们宁愿用cd ~,其实cd等价于cd ~,哈哈 cd - 返回上次目录, 我也是常用到的,因为换一个目录工作
2012-08-27 15:39:36 401
原创 <<探讨linux/unix>>之tail,head
tail是查看文件尾,假如一个linux文件有几G的大文件,vi是无法查看到尾部的,more也要向前翻半天的。那么此时tail就很方便了,因为linux文件结构按节点发布,tail一个1G的文件和tail一个1M的文件,速度是一样快的。 特别是在程序正在运行的情况下,需要查看此时程序运行的日志情况那就执行 tail -f xxxx(file_name)
2012-08-27 15:29:43 335
原创 <<探讨linux/unix>>之环境变量
环境变量,顾名思义就是运行环境的变量,在win和linux都很重要。它可以提供运行程序锁需要的一定的信息。 初学linux,若安装了一个软件但却无法正常运行,主要原因就是设置环境变量了。 执行env可以看到当前环境变量的所有信息,若运行的程序没有在环境变量的路径下,就只能通过绝对路径去运行该程序。 设置环境变量一般情况下在~/(当前用户主目录),里面根据具体
2012-08-27 15:20:02 262
原创 <<探讨linux/unix>>之管道'|'
linux里的‘|’,中文之所以译名为‘管道’,是有其道理的。 例如' ls -l | grep "sshd"', ls -l 将当前目录的文件结构以详细信息的方式展现出来,那么展现的东西是一组字符串,此结果通过管道(‘|’)传给grep继续处理。 管道是在linux系统里通讯的一种方式,感兴趣的可以参看史蒂文斯(stevens)unix网络编程第二部,进程间(IPC)
2012-08-27 15:08:47 250
原创 <<探讨linux/unix>>之命令echo
echo算是shell脚本中打印信息最常用的命令了,不过要是需求比较特殊,需要格式化打印的话pinrtf函数在shell脚本中也是可以用的。 echo 主要是反馈信息给终端,比如打印某变量(echo $SHELL),是确认环境最快捷的命令。
2012-08-27 15:00:27 371
原创 <<探讨linux/unix>>之命令man
man 算是linux下最重要的命令了,这是个人看法。 因为再顶尖的linux高手都不可能把所有命令的用法和参数记下来,那也太迂了。当然有人真的这样做了,倒也值得仰视一番。 例如man ls,会把ls的所有用法例举出来,不过因为都是英文的。故新手还是不太适合,找本《linux新手》之类的书来看或者百度一下,才是新手迅速入门的途径。 不过一个linux下工作几年的程序员
2012-08-27 14:55:14 292
原创 <<探讨linux/unix>>之命令netstat
严格来说netstat不算是linux/unix下的基本命令,是计算机基本的应用程序,因为windows上的netstat与linux一样。 不过因为工作经常用到,所以略点一下。 此命令主要查看目前主机的网络状态,比如运行了一个对外服务的程序,需要知道是否已在工作状态就用到它。
2012-08-24 18:06:30 268
原创 <<探讨linux/unix>>之命令ps
常用的组合是ps -ef,显示当前运行的程序及详细信息。 ps主要就是查看程序运行的状态。 自己工作中,常用它与awk组合,以批量kill掉程序。因为有时关闭程序需要停掉很多服务,一个个ps去停很容易出错。 自己常用的停服务脚本中常用到ps -ef | grep "model" | grep -v grep | awk '{print $2}' | xargs kil
2012-08-24 18:00:44 256
原创 <<探讨linux/unix>>之命令pwd
在命令行下,很多情况自己是不知道自己所处的位置,除非对PS变量进行了设置,但是设置后,提示符会很长,有时显示不雅观,断行各行出现严重会影响工作效率。 因此pwd目的就是解决这个的。 执行env会看到pwd目前的值,或者echo $PWD
2012-08-24 17:48:30 247
原创 <<探讨linux/unix>>之命令find
近来无所事事,回顾IT滚爬两年,呈上心得供各位参阅。find 命令是类unix平台的查找,优于win平台的。win平台基于许多工具虽然也能找到,但是效率明显低很多。最常用的命令有:1.查找文件。find . "*.txt" -print2.与grep 结合查找文件的内容。find . | xargs grep "content"
2012-05-31 21:36:09 238
原创 <<探讨linux/unix>>之命令ls
近来无所事事,回顾IT滚爬两年,呈上心得供各位参阅。1. ls命令式类unix下最常用的命令,该命令展示当前目录下文件内容。2. 类unix下的隐藏文件均以 '.' ,如.bashrc。该类单纯ls文件不能显示,必须加上参数-a。3. ls显示时,有时需要目录和文件区分的情况下,ls -F也很好用。4. ls -l最要把文件详细信息展示出来。
2012-05-31 21:25:29 245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人