当前位置 主页 > 服务器问题 > Linux/apache问题 >

    开发者常用及实用Linux Shell命令备忘录(小结)

    栏目:Linux/apache问题 时间:2019-11-06 20:24

    最近都需要在 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 信息,光靠肉眼是不行的,一个比较好的方法就是用命令保存起来。

    另外,用 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

    Linux的常用的shell命令

    1.目录命令:

    ll /:查看根文件下的所有文件目录

    2.帮助命令:

    man ls与ls --help与info ls:(man ls:分屏显示;--help:全部加载,不完整;info ls:无用信息比较多)

    3.基本操作和命令:

    Ctrl+R和方向键中的上键:查找历时输入过的命令 
    Ctrl+C Ctrl+Z: 终止或者退出当前操作
    字母键i:进入文本编辑模式(可以修改Linux操作系统的init相关设置)
    编辑完成后按Esc键退出,然后如果确定保存修改并返回命令行界面输入命令-----:wq
    如果不保存用命令并退出编辑界面----:q  
    保存并强制退出----:q! 
    Shift+G 到文件末位 o:换行