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没有这个功能。

  • 相关阅读:
    懒加载——实现原理
    html5shiv.js和respond.min.js
    点击app分享链接,js判断手机是否安装某款app,有就尝试打开,没有就下载
    ajax获取后台数据渲染(整片文章不分段落)解决方案,要使用htmL方式输出
    +-下拉菜单
    html 中a标签的问题(无反应,跳转,调用方法)
    js中两种定时器,setTimeout和setInterval的区别
    chrome 调试进入 paused in debugger 状态解决办法
    mybatis-plus 获取新增id
    linux unzip和zip
  • 原文地址:https://www.cnblogs.com/mysticbinary/p/11684372.html
Copyright © 2011-2022 走看看