web analytics

存档

文章标签 ‘Bash’

应该知道的Linux技巧

2013年1月9日 102 条评论 88,784 人阅读    

这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解。 首先,我想告诉大家,在Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化。如果你看过《你可能不知道的Shell》以及《28个Unix/Linux的命令行神器》你就会知道Linux有多强大,这个强大完全来自于命令行,于是,就算你不知道怎么去做一个环保主义的程序员,至少他们可以让你少熬点夜,从而有利于你的身体健康和性生活。下面是一个有点长的列表,正如作者所说,你并不需要知道所有的这些东西,但是如果你还在很沉重地在使用Linux的话,这些东西都值得你看一看。 (注:如果你想知道下面涉及到的命令的更多的用法,你一定要man一点。对于一些命令,你可以需要先yum或apt-get来安装一下,如果有什么问题,别忘了Google。如果你要Baidu的话,我仅代表这个地球上所有的生物包括微生物甚至细菌病毒和小强BS你到宇宙毁灭)

基础

  • 学习 Bash 。你可以man bash来看看bash的东西,并不复杂也并不长。你用别的shell也行,但是bash是很强大的并且也是系统默认的。(学习zsh或tsch只会让你在很多情况下受到限制)
  • 了解 ssh。明白不需要口令的用户认证(通过ssh-agent, ssh-add),学会用ssh翻墙,用scp而不是ftp传文件,等等。你知道吗?scp 远端的时候,你可以按tab键来查看远端的目录和文件(当然,需要无口令的用户认证),这都是bash的功劳。

阅读全文…

好烂啊有点差凑合看看还不错很精彩 (53 人打了分,平均分: 4.70 )
Loading ... Loading ...

你可能不知道的Shell

2012年11月23日 69 条评论 48,886 人阅读    

(感谢404null投稿)

Shell也叫做命令行界面,它是*nix操作系统下用户和计算机的交互界面。Shell这个词是指操作系统中提供访问内核服务的程序。

这篇文章向大家介绍Shell一些非广为人知、但却实用有趣的知识,权当品尝shell主食后的甜点吧。

科普

先科普几个你可能不知道的事实:

  • Shell几乎是和Unix操作系统一起诞生,第一个Unix Shell是肯·汤普逊(Ken Thompson)以Multics上的Shell为模范在1971年改写而成,并命名Thompson sh。即便是后来流行的bash(shell的一种变体),它的年龄实际上比当前流行的所有的Linux kernel都大,可谓在Linux系统上是先有Shell再有Kernel。
  • 当前绝大部分*nix和MacOS操作系统里的默认的Shell都是bash,bash由Brian Fox在1987年创造,全称Bourne Again shell ( bash)。
  • 你或许听说除了bash之外,还有Bourne shell ( sh),Korn shell ( ksh),C shell (包括 csh and tcsh),但是你知道这个星球上一共存在着大约50多种不同的shell么?想了解他们,请参考 http://www.freebsd.org/ports/shells.html
  • 每个月tiobe上都会给一个编程语言的排名,来显示各种语言的流行度。排名指数综合了全球范围内使用该语言的工程师人数、教学的课程数和第三方供应商数。截止至2012年11月份,tiobe公布的编程语言排行榜里,bash的指数是0.56%排名22位。如果算上它旗下的awk 0.21%和tcl 0.146%,大概就能排到14名。注意这里还不包括bash的同源的兄弟姐妹csh、ksh等,算上它们,shell家族有望接近前十。值得一提的是一直以来shell的排名就很稳定,不像某些“暴发户”语言,比如objective-c,这些语言的流行完全是因为当前Apple系的崛起,但这种热潮极有可能来得快去得更快。

阅读全文…

好烂啊有点差凑合看看还不错很精彩 (18 人打了分,平均分: 4.94 )
Loading ... Loading ...

用脚本实现哄宝宝睡觉(Demo)

2010年9月20日 14 条评论 5,934 人阅读    

去年,本站发布了一篇文章《用脚本哄宝宝睡觉》,具体想法是把摇篮和光驱连一起,然后用脚本把光驱弹出和收入以实现驱动摇篮。今天在网上看到一个具体实现,呵呵。看下面的视频:

分类: 轶事趣闻 标签: ,
好烂啊有点差凑合看看还不错很精彩 (16 人打了分,平均分: 4.88 )
Loading ... Loading ...

C语言和sh脚本的杂交代码

2009年11月19日 8 条评论 4,632 人阅读    

在网上看到了一个把 C语言和bash杂并起来的例子,这个示子如下所示。在下面这个例子中,我们把脚本用#if 0这个预编译给起来,这样就不会让其编译到C语言中了。

#if 0
echo "Hello from bash!"
exit
#endif
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
  puts("Hello from C!");
  return EXIT_SUCCESS;
}

下面,让我看看如果来使用这样的程序:

$ sh test.sh.c
Hello from bash!
$ gcc test.sh.c -o test
$ ./test
Hello from C!

你甚至还可以做一个自我编译,并自我运行的源代码。如下所示:

阅读全文…

分类: 杂项资源, 轶事趣闻 标签: ,
好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 4.67 )
Loading ... Loading ...

bash 函数级重定向

2009年10月14日 6 条评论 2,413 人阅读    

bash 函数级重定向相信每一个人对于操作系统的重定向不会陌生了。就是>, >>, <, <<,关于重定向的基本知识我就不说了。这里主要讨论bash的重定向中的一个鲜为人知的东西,那就是bash脚本的函数也可以定义相关的重定向操作。这可不是命令级的重定向,这是函数级的重点向。这并不是一个新的东西,我只是想告诉大家一个已经存在了多年但却可能不被人常用的功能。

关于bash的这个函数级的重定向的语法其实很简单,你只需要在函数结尾时加上一些重定向的定义或指示符就可以了。下面是一个示例:

function mytest()
{
        ...
} < mytest.in > mytest.out 2> mytest.err

现在,只要是test被调用,那么,这个函数就会从mytest.in读入数据,并把输出重定向到mytest.out文件中,然后标准错误则输出到mytest.err文件中。是不是很简单?

阅读全文…

分类: Unix/Linux 标签: ,
好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 5.00 )
Loading ... Loading ...

用脚本实现哄小孩睡觉

2009年10月12日 27 条评论 3,153 人阅读    

baby_linux当然,不并需要一个天才式的人才能做到这个事,其实这个事情很简单。让我来一点一点向你解释。下面是一些准备工作。

  • 首先,你得找一台PC机,得配上光驱,光驱可以破一点。
  • 然后,你得给这台PC机上装上Linux,不需要太多的东西,最基本的就行了。
  • 然后,你得写下下面的代码。

阅读全文…

分类: 轶事趣闻 标签: ,
好烂啊有点差凑合看看还不错很精彩 (19 人打了分,平均分: 4.84 )
Loading ... Loading ...

8个实用而有趣Bash命令提示行

2009年9月7日 8 条评论 4,966 人阅读    

很多人都对过命令行提示的重要性不屑一顾,甚至是一点都不关心。但是我却一点都不这么认为,一个好的命令行提示可以改变你使用命令的方式。为此,我在internet上找到一些非常实用,优秀,并有趣的bash的命令行提示。下面我将我最喜欢使用的一些命令行提示罗列如下。

注意  -  要使用下面这些提示,你可以拷贝粘贴这些以”PS1″打头的内容到你的终端上,为了使你的改变永久生效,还要将这些内容粘贴到你使用用户的~/.bashrc文件中去。

阅读全文…

分类: Unix/Linux, 编程语言 标签:
好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 4.89 )
Loading ... Loading ...

如何调试bash脚本

2009年8月31日 3 条评论 7,569 人阅读    

如何调试Bash脚本Bash 是Linux操作系统的默认Shell脚本。Shell是用来处理操作系统和用户交互的一个程序。Shell的脚本可以帮助用户自动化地和操作系统进行交互。你也可以理解为一种脚本式的编程。即然有编程,那么,程序的编译器,解释器,调试器就必不可少了,Bash也一样,但在调试方面可能会有一些和编程语言不一样的东西和技术,所以,下面这篇文章主要是说明调试bash脚本的各种技术。

跟踪脚本的执行

你可以让bash打印出你脚本执行的过程中的所有语句。这很简单,只需要使用bash的-x选项就可以做到,下面让我们来看一下。

阅读全文…

分类: Unix/Linux, 编程工具 标签: , ,
好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 4.88 )
Loading ... Loading ...