11月25 笔记
2010年11月25日
作为一个做技术的人,喜欢与比自己聪明的人一起工作。
Shell需以来其他程序才能完成大部分的工作,简洁的脚本语言标记方式,程序执行更快更有效率。
使用通用的 一般用途的数据表示方式——文本行,在一个大的工具集中,让脚本语言能够搭配工具程序,产生无穷组合。
用户可以得到比那些独占性软件更灵活,功能更强大的工具。
Shell的早期成功即以此强化UNIX的开发哲学,构建一套专门性 单一目的的工具,并将它们整合在一起做更多的事情。
为什么需要编写shell命令?因为大部分情况下,中型到大型的问题都能拆成较小的部分,这些小部分也多半都能找到现成的UNIX工具处理。
UNIX工具程序一向遵循“你叫它做什么,你就会得到什么”的设计哲学,不会问“你确定吗?”
当需要计算机帮你做些什么时,最好用对工具。
Shell脚本最常用于系统管理工作,或是用于结合现有的程序以完成小型的 特定的工作。
花一小时写成的简单脚本,同样的功能用c来编写实现,可能需要两天,而且,脚本执行的速度已经够快了,快到足以让人忽视它性能上的问题。脚本编程语言的例子有awk Perl Python Ruby 和 Shell。
| (管道)符号可以在两程序之间建立管道(pipeline)
$ cat > nusers
who | wc -l
^D
$chmod +x nusers
$ ./nusers
gnome-open ./ GUI的方式打开当前目录