Linux终端使用指南

作者: 0X0E01 | 来源:发表于2016-12-30 23:03 被阅读102次

    语法篇

    运行一个程序遵循如下语法
    $ 命令 参数1 参数2 ...

    其中运行包括三种路径表示方法

    • 环境变量下的程序直接输入即可运行
    • 输入相对路径
    • 输入绝对路径

    以ls为例,上述三种方式分别为

    $ ls
    
    $ cd /usr/bin
    $ ./ls
    
    $ /usr/bin/ls
    

    参数分为三种类型,短参数,长参数,以及动作参数,分别如下示例:

    $ ls -a
    $ ls --help
    $ apt search vim
    

    获取帮助篇

    Linux下一个程序或者c/c++语言函数的用法获取可以通过

    • 帮助参数
    • 查询man文档
    • Wiki或搜索引擎(Wiki建议Archwiki,搜索建议Google)
    • 查看源代码

    等方式获取,其中前两种方式在终端下完成,如zip命令为例

    $ zip -h
    $ zip --help
    
    $ man zip
    $ man strncpy
    

    快捷键篇

    命令快速输入

    • tab 用来补全程序名,路径,以及部分参数
    • Ctrl + A 跳转到行首
    • Ctrl + E 跳转到行尾
    • Ctrl + K 删除后面的内容

    进程控制

    • Ctrl + C 终止当前程序
    • Ctrl + Z 挂起当前程序,bg切换到后台,fg切换到前台运行
    • Ctrl + D 发送文件终止符EOF

    多程序组合篇

    • 数据流重定向
    $ echo "aaaa" > a.txt
    ##把stdou输出的aaaa重定向到a.txt文件中,a.txt会被清空
    
    $ echo "aaaa" >> a.txt
    ##把stdou输出的aaaa重定向到a.txt文件中,追加到a.txt的末行
    
    $ nc -l -p 5555 < a.txt
    ##把a.txt的内容读取到正在监听的nc程序的stdin里面,这里连接到5555端口的程序将接受到a.txt的内容
    
    $ nc localhost 5555 > a.txt
    ##通过这条命令配合上一条,即可实现通过传输文件的功能(明文,不安全)
    
    • 管道符号
      管道符可以将上一个程序的stdout作为本程序的stdin,如
    $ ls /dev | grep 'sd'
    

    即可从ls的输出里匹配出含有sd的文件和文件夹(硬盘和硬盘分区文件)

    • xarg - 将stdin作为下一个程序的参数
      如Ubuntu一键清理残余配置文件脚本
    $ dpkg -l |grep '^rc' |awk '{print $2}|sudo xargs dpkg -P'
    
    • ${cmd}将程序输出作为参数
      如gcc编译时加入第三方动态库常用pkg-config
    g++ opencv_demo.cpp ${pkg-config --libs --cflags opencv}
    

    外观篇

    • $和#的区别
      两者都是提示符号,表示可以输入指令,前者表明用户为普通用户,后者表明用户为root

    • 改变终端提示符
      终端提示符如junzhi@arch $是由环境变量$PS1指定的,可以通过重新修改PS1变量来修改风格,PS1一般设置在~/.bashrc里面,可以通过Bashrc Generator网站来生成自己喜欢的风格

    • 改变默认Shell
      大多数发行版默认Shell为Bash,目前为止也有很多人采用更加强大的zsh, zhs有一个配置框架oh-y-zsh,拥有多种漂亮的提示主题,集成了Git管理以及更多的补全功能

    相关文章

      网友评论

        本文标题:Linux终端使用指南

        本文链接:https://www.haomeiwen.com/subject/nqqvvttx.html