0%

linux妙用alias

写篇短文回去吃饭:)

使用linux的过程中会发现很多奇淫技巧,比如alias。alias是用来设置命令的别名。比如ll命令其实就是ls -al的别名。打开.bashrc可以发现一些例子。比如ubuntu 14.04的.bashrc中程序片段。

哇,使用alias可以让我们少巧几个字符~(笑)

我大概搜了一下中文的博客对于alias的介绍大概就到上面,所以我才写了这篇文章。考虑两个最简单的命令mkdir和cd,怎样将她们组合起来呢?

1
2
mkdir mydir 
cd mydir

问题转换一下就是如何给alias传参数。其实csh是可以的,但是bash不可以。我们可以定义一个函数,然后再使用alias。

1
2
3
4
5
myfoo() {
  mkdir $1
  cd $1
}
alias mkcd=myfoo

也可以这样。

1
alias mkcd='_(){ mkdir $1; cd $1; }; _'

对了,再我们编译的使用,如果有外部库的情况下,命令会很长。比如编译下面的C语言片段。

1
2
3
4
5
6
7
8
#include <math.h>
#include <stdio.h>

int main(){
  double root = sqrt(9.0);
  printf("root of 9 is %lf\n", root);
  return 0;
}

由于sqrt函数不在默认程序库里,需要用外部链接库来编译。

1
2
3
gcc foo.c -o foo /usr/lib/libm.a
or
gcc foo.c -o foo -lm

同样,我们可以使用alias来搞定,具体怎么做已经很明显了。吃饭去。