• Linux Command


    1. 手册页(manpages)

    下载:

    manpages - Manual pages about using a GNU/Linux system
    manpages-dev - Manual pages about using GNU/Linux for development
    manpages-posix - Manual pages about using POSIX system
    manpages-posix-dev - Manual pages about using a POSIX system for development

    manpages-zh - Chinese manual pages

    使用汉化:

    man -M /usr/share/man/zh_CN 2 socket  # 使用汉化手册查看位于第 2 页面(系统调用)的 socket 函数

    搜索:

    搜索分为内容搜索和 name 搜索, name搜索又称模糊搜索

    man -K AF_INET # 全局搜索关键字"AF_INET", 由于是内容搜索, 速度较慢

    man -k shutdown # 模糊搜索, 示例如下:

    develon@ubuntu:~$ man -k shutdown
    halt (5) - variables that affect the behavior of the shutdown scripts
    session-end (7) - event signalling session shutdown
    shutdown (2) - shut down part of a full-duplex connection
    shutdown (8) - bring the system down

    man: command not found 解决办法

    sudo apt-get install man-db

    2. dpkg

    https://help.ubuntu.com/lts/serverguide/dpkg.html.en

    • 要列出系统上安装的所有软件包,请在终端提示符下键入:

      dpkg -l
      
    • 根据系统上的软件包数量,这可能会产生大量输出。通过grep管道输出 以查看是否安装了特定的包:

      dpkg -l | grep apache2
      

      apache2替换为任何包名称,包名称的一部分或其他正则表达式。

    • 要列出软件包安装的文件(在本例中为ufw软件包),请输入:

      dpkg -L ufw
      
    • 如果您不确定哪个软件包安装了文件,dpkg -S可能会告诉您。例如:

      dpkg -S /etc/host.conf 
      base-files:/etc/host.conf
      

      输出显示/etc/host.conf属于base-files包。

      在软件包安装过程中会自动生成许多文件,即使它们位于文件系统上, dpkg -S也可能不知道它们属于哪个软件包。

    • 您可以输入以下命令安装本地.deb文件:

      sudo dpkg -i zip_3.0-4_i386.deb
      

      zip_3.0-4_i386.deb更改为您要安装的本地.deb文件的实际文件名。

    • 卸载软件包可以通过以下方式完成:

      sudo dpkg -r zip
      

      在大多数情况下,建议不要 使用dpkg卸载软件包最好使用处理依赖关系的包管理器来确保系统处于一致状态。例如,使用dpkg -r zip将删除zip包,但依赖于它的任何包仍将安装,并且可能无法再正常运行。 

    有关更多dpkg选项,请参见手册页:man dpkg

     

    3. git

    Git是一个开源的分布式版本控制系统,最初由Linus Torvalds开发,用于支持linux内核的开发。每个Git工作目录都是一个完整的存储库,具有完整的历史记录和完整版本跟踪功能,不依赖于网络访问或中央服务器。

    GIT中的版本控制系统安装有下面的命令

    sudo apt install git

    每个git用户都应该首先通过运行这两个命令将自己介绍给git:

    git config --global user.email“you@example.com” 
    git config --global user.name“Your Name”

    开始一个项目:

    git clone git@github.com:develon2015/UCUsage.git

    如果你没有该项目的访问权限, 你可以使用 http 协议下载

        git clone http://github.com/develon2015/UCUsage.git

    或者可以推送现有代码;

    git remote add gitolite git@$SERVER_IP:$PROJECT_NAME.git

    更多命令请参考

    https://github.com/develon2015/git-usage

    4.

    linux 终端分屏命令vsp

    比如:某文件夹下有文件:vector.cc, substr.cc

    1.使用vim命令打开任意一个文件:vim vector.cc打开第一个文件。如下图所示:

    2.按:"Esc"键 + “:”,并输入:vsp substr.cc  。(这里vsp跟vi/vim操作一样,路径可以自由切换。)如下图所示:

    3.按"Enter"键。如下图所示:

    4.为了让鼠标可以在几个屏幕间自由切换。

    按:"Esc"键 + “:”,输入:set mouse=a 。然后,回车(Enter),这样鼠标就可以在多屏幕之间自由移动了。如下图所示:

     5.

    linux终端screen分屏使用命令

    使用screen分屏(只能上下分屏,不能左右分屏)

    (1)安装工具

    在centos7 中yum install -y screen

    (2)使用命令

    1,输入命令screen使用工具

    2,上下分屏:ctrl + a  再按shift + s

    3,切换屏幕:ctrl + a  再按tab键

    4,新建一个终端:ctrl + a  再按c

    5,关闭一个终端:ctrl + a  再按x (或直接按exit退出)

    eg:

    1.screen

    上下分屏:ctrl + a  再按shift + s

    上屏top命令

    切换导下屏:

    创建下屏终端:ctrl + a  再按c

    下屏tail -f 命令

     Grep

    例子:
    1. :
    格式: grep [option] pattern filename 注意: pattern如果是表达式或者超过两个单词的, 需要用引号引用. 可以是单引号也可双引号, 区别是单引号无法引用变量而双引号可以.

    grep '<Tom>' file   包含单词Tom的行
    grep 'Tom savage' file 包含Tom savage的行
    grep '^Tommy' file 包含以Tommy开头的行
    grep '.bak$' file 包含以.bak结束的行
    grep '[Pp]yramid' file 包含pyramid 或Pyramid的单词的行
    grep '[A-Z]' file 包含至少一个大写字母的行
    grep '[0-9]' file 包含至少一个数字的行
    grep '[A-Z]...[0-9]' file 包含五个字符,以大写开头, 和一个数字结尾的行.
    grep -w '[tT]est' file 包含单词和test的行.
    grep -s 'ken sun' file 找到包含ken sun的行, 但不打印行, 而是用来检查退出状态.
    grep -v aaa file 打印不包含aaa的行.
    grep -i cathy file 打印所有包含cathy的行, 而不考虑大小些.
    grep -l 'dear cathy' * 打印包含dear cathy的文件的文件名清单.
    grep -n tom file   打印匹配的行并追加行号.
    grep "$LOGNAME" file 包含变量内容的行, 注意必须用双引号, 单引号则无法引用变量.
    grep '$name' file 打印包含字符$name的行.


    2 : egrep = grep -E 可以使用基本的正则表达外, 还可以用扩展表达式. 注意区别.
    扩展表达式:
    + 匹配一个或者多个先前的字符, 至少一个先前字符.
    ? 匹配0个或者多个先前字符.
    a|b|c 匹配a或b或c
    () 字符组, 如: love(able|ers) 匹配loveable或lovers.
    (..)(..)12 模板匹配. 1代表前面第一个模板, 2代第二个括弧里面的模板.
    x{m,n} =x{m,n} x的字符数量在m到n个之间.

    egrep '^+' file   以一个或者多个空格开头的行.
    grep '^*' file   同上
    egrep '(TOM|DAN) SAVAGE' file 包含 TOM SAVAGE 和DAN SAVAGE的行.
    egrep '(ab)+' file 包含至少一个ab的行.
    egrep 'x[0-9]?' file 包含x或者x后面跟着0个或者多个数字的行.
    egrep 'fun.$' * 所有文件里面以fun.结尾的行.
    egrep '[A-Z]+' file 至少包含一个大写字母的行.
    egrep '[0-9]' file 至少一个数字的行.
    egrep '[A-Z]...[0-9]' file 有五个字符, 第一个式大写, 最后一个是数字的行.
    egrep '[tT]est' file 包含单词test或Test的行.
    egrep 'ken sun' file 包含ken sun的行.
    egrep -v 'marry' file 不包含marry的行.
    egrep -i 'sam' file 不考虑sam的大小写,含有sam的行.
    egrep -l "dear ken" * 包含dear ken的所有文件的清单.
    egrep -n tom file 包含tom的行, 每行前面追加行号.
    egrep -s "$name" file 找到变量名$name的, 不打印而是显示退出状态. 0表示找到. 1表示表达式没找到符合要求的, 2表示文件没找到.

    3 fgrep 很简单就是固化表达式的搜索.如:

    fgrep "$name...[a-z]" file 就是在file里面找到和字符$name...[a-z]一样的行. 其中$和...等没有转义的意义.
    http://hi.baidu.com/sei_zhouyu/item/c18e1a950d2e9eb5cc80e558

    1. grep简介

    grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

    grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。

    grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

    2. grep正则表达式元字符集(基本集)

    ^

    锚定行的开始 如:'^grep'匹配所有以grep开头的行。

    $

    锚定行的结束 如:'grep$'匹配所有以grep结尾的行。

    .

    匹配一个非换行符的字符如:'gr.p'匹配gr后接一个任意字符,然后是p。

    *

    匹配零个或多个先前字符如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。

    []

    匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。

    [^]

    匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。

    (..)

    标记匹配字符,如'(love)',love被标记为1。

    <

    锚定单词的开始,如:'<grep'匹配包含以grep开头的单词的行。

    >

    锚定单词的结束,如'grep>'匹配包含以grep结尾的单词的行。

    x{m}

    重复字符x,m次,如:'0{5}'匹配包含5个o的行。

    x{m,}

    重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。

    x{m,n}

    重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。

    w

    匹配文字和数字字符,也就是[A-Za-z0-9],如:'Gw*p'匹配以G后跟零个或多个文字或数字字符,然后是p。

    W

    w的反置形式,匹配一个或多个非单词字符,如点号句号等。

    

    单词锁定符,如: 'grep'只匹配grep。

    3. 用于egrep和 grep -E的元字符扩展集

    +

    匹配一个或多个先前的字符。如:'[a-z]+able',匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。

    ?

    匹配零个或多个先前的字符。如:'gr?p'匹配gr后跟一个或没有字符,然后是p的行。

    a|b|c

    匹配a或b或c。如:grep|sed匹配grep或sed

    ()

    分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。

    x{m},x{m,},x{m,n}

    作用同x{m},x{m,},x{m,n}

     
  • 相关阅读:
    IT面试技巧(2)
    mySQL学习入门教程——4.内置函数
    weight decay (权值衰减)
    c++读取文件目录
    caffe 卷积层的运算
    一个物体多个标签的问题
    python caffe 在师兄的代码上修改成自己风格的代码
    caffe 细节
    vim让一些不可见的字符显示出来吧
    python 读写文件
  • 原文地址:https://www.cnblogs.com/develon/p/9939270.html
Copyright © 2020-2023  润新知