zoukankan      html  css  js  c++  java
  • Linux 常用命令记录

    如下命令都是在使用Linux类系统中常用到的小命令,我记性不好,记录下来方便日后查询,这篇文章不定期更新上一些新命令,喜欢的可以关注。分类是根据我自己的喜好经验来分类的,可能和别人的分类方式略有不同。

    更改系统状态类命令

    init

    使用这类命令,一般需要root权限;

    init 0 # 关机
    init 6 # 重启
    reboot #重启
    

    查看系统资源类命令

    vmstat

    # vmstat [refresh delay] [refresh frequency]
    
    vmstat 1 3
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     2  0      0 2298560 201728 748024    0    0     2     1   29   23  0  0 100  0  0
     0  0      0 2298428 201728 748024    0    0     0     0  266  270  0  0 100  0  0
     0  0      0 2298428 201728 748024    0    0     0     0  247  236  0  0 100  0  0
    

    free

    # free
    
                  total        used        free      shared  buff/cache   available
    Mem:        4037772      789260     2298740       22276      949772     2952424
    Swap:       2094076           0     2094076
    

    操作文件类命令

    tail

    用于持续观察日志文件变化。

    使用案例:

    # 语法
    tail -f /log_name_path 
    
    # Ctrl + C is quit
    
    # 只展示和关键字相关的日志记录
    tail -f /log_name_path* | grep 关键字
    
    # 查看非权限内的日志 + sudo
    sudo tail -f /var/log/cron
    

    zip

    单词速记 zipper 是拉链,拉上拉链不就是要打包文件吗。un 有否定含义的前缀,upzipper是解开了拉链,不就是要把包好东西都倒出来吗。

    # 压缩并指定目录
    zip -r /home/kms/kms.zip /home/kms/server/kms
    
    # 解压并指定目录
    unzip /home/kms/kms.zip -d /home/kms/server/kms
    

    通信类命令

    scp

    传输文件夹,感觉配置方式太麻烦,容易被防火墙或者安全规则阻挡,报超时错误。建议使用lrzsz

    $scp -r /tmp root@88.88.88.88:/tmp/filename 
    password:
    

    rz sz

    参考:https://www.linuxrumen.com/cyml/251.html

    // 首先安装lrzsz 
    # yum -y install lrzsz 
    
    // 上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。
    # rz
    # rz -be   //传输二进制文件时
    
    // 下载文件,执行命令sz
    # sz
    

    查找类命令

    一般用于组合其他命令来使用;

    grep

    如果有需求是在Linux终端下进行代码审计时,系统也没有ide工具,想要搜索在项目目录内,那些文件里面写了调用过当前函数、变量的字符。

    grep -in "函数/变量" -r ./home/my/www/cms
    
    -i     在进行比较时忽略字母的大小写。
    -n    在每一行之前放置文件中相关的行号。每个文件的起始行号为 1,在处理每个文件时,行计数器都将被复位。
    - r    从什么目录路径开始搜索
    

    shopt

    简单来说就是增强版的命令行,原本的命令行是不能使用正则匹配模式的,通过shopt可以使用了。

    shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。
    shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。

    案例:

    # 语法
    shopt -s extglob #开启shopt命令
    shopt -u extglob #关闭shopt命令
    
    
    # 开启之后
    # 删除文件名不以jpg结尾的文件
    rm -rf !(*jpg) 
    
    # 删除文件名以jpg或png结尾的文件
    rm -rf *@(jpg|png)
    
    # 删除当前文件夹下全部文件,除了css、js
    shopt -s extglob
    rm -rf !(css | js)
    shopt -u extglob 
    

    能匹配的5种模式:
    ?(pattern-list) - 所给模式匹配0次或1次
    *(pattern-list) - 所给模式匹配0次以上包括0次
    +(pattern-list) - 所给模式匹配1次以上包括1次
    @(pattern-list) - 所给模式仅仅匹配1次
    !(pattern-list) - 不匹配括号内的所给模式

    zsh版的shell使用shopt时需要注意:
    遇到如下报错时,

    zsh: no matches found: !(js|css)
    

    解决,

    # 切换到bash:
    exec bash
    
    # 然后
    source ~/.bashrc
    
    # 使用完shopt,可以在切换回zsh模式
    exec zsh
    

    因为zsh使用env配置文件~/.zshrc,而不是~/.bashrc,导致zsh没有这个功能。

  • 相关阅读:
    poj 1743 Musical Theme 后缀数组
    poj 1743 Musical Theme 后缀数组
    cf 432D Prefixes and Suffixes kmp
    cf 432D Prefixes and Suffixes kmp
    hdu Data Structure? 线段树
    关于position和anchorPoint之间的关系
    ios POST 信息
    CALayers的代码示例
    CALayers详解
    ios中得sqlite使用基础
  • 原文地址:https://www.cnblogs.com/mysticbinary/p/11684372.html
Copyright © 2011-2022 走看看