开发者常用及实用 Linux Shell 命令备忘录

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/briblue/article/details/100550854

最近都需要在 Linux 系统下开发,所以经常需要在终端中进行操作。Linux 有很多 shell 命令可以帮助我们完成任务,但不常使用的话就会忘记掉。

本篇作为命令备忘录,我会将实际工作当中用到的命令记录下来,并长期保持更新。

1.which

which 用于查找一个文件,并返回绝对路径,查找的目录范围由系统的 PATH 指定。

由于 Linux 中一切皆文件,所以 which 指定更多的是查找系统中有没有这个命令。

比如,查找 ls 命令,我们可知它的可执行文件的位置

which ls
/bin/ls

2.ln

ln 是一个简单但却非常实用的命令,它的作用是为某个文件或者文件夹建立链接。

命令语法

ln [参数][源文件或目录][目标文件或目录]

链接有软链接和硬链接两种,我们一般用软链接。

ln -s  test.txt    ../test1.txt

将当前目录中的 test.txt 文件链接称为上一级目录的 test1.txt 文件。这样,其他程序访问 test1.txt 就如访问 test.txt 一样。

3.tee

tee 命令是我个人非常喜爱的一个命令。

之前做 Android 开发,特别是源码编译的时候,经常在终端一瞬间就会打印无数条 log 信息,光靠肉眼是不行的,一个比较好的方法就是用命令保存起来。

扫描二维码关注公众号,回复: 7575555 查看本文章

另外,用 find 命令查找文件时,如果文件过多,也可以用 tee 来帮忙。

tee 命令可以接受标准输入,并输出到标准输出,同时保存到对应的文件。

标准输入值得是终端的键盘输入,比如 c++ 的 cin,标准输出就是终端的输出,比如 c++ 的 cout。

语法

tee [-ai][--help][--version][文件...]

参数 a 代表在后面添加内容而不是覆盖。

tee tmp
hello
hello
world
world

我在终端输入 tee tmp
接着我输入 hello,终端响应 hello
我输入 world,终端响应 world。

然后,我通过 cat tmp
查看 tmp 文件,它的结果如下:

hello
world

这说明 tee 命令准确将标准输入保存到指定的 tmp 文件了。

4.locate

locate我也非常喜欢用,用它来快速查找。它是查数据库,而不是一个个文件真实查,所以,速度比较快。

比如,我想查找系统有没有 libpng.so.

我只需要这样

locate libpng.so
/home/frank/anaconda3/lib/libpng.so
/home/frank/anaconda3/pkgs/libpng-1.6.34-hb9fc6fc_0/lib/libpng.so
/home/frank/anaconda3/pkgs/libpng-1.6.37-hbc83047_0/lib/libpng.so
/usr/lib/x86_64-linux-gnu/libpng.so

猜你喜欢

转载自blog.csdn.net/briblue/article/details/100550854