美文网首页
linux,vim和bash命令小册

linux,vim和bash命令小册

作者: 草珊瑚_6557 | 来源:发表于2019-01-08 16:18 被阅读0次

    linux命令

    命令 功能
    cd old 进入old文件夹
    ll -a 当前文件列表(包含隐藏文件)
    rm -rf old 删除old文件夹(包含子文件夹)
    mkdir old 新建old文件夹
    ps aux | grep node 显示当前包含node的进程名称
    find old -type f -name "*.l" -exec rm -f {} ; 删除old目录下的,所有子目录中,后缀为.l的文件
    find old -maxdepth 1 -type f -name "*.l" -exec rm -f {} ;` 删除old目录下的,后缀为.l的文件(不涉及子目录)
    cp -r dir1/. dir2 将old文件夹下所有文件(包括子目录)复制到new文件夹下
    pwd 显示当前位置
    sudo 命令 使用管理员权限来执行命令
    cat a.txt | grep test cat是输出一个整个文本文件。|是管道输入,把左边命令的输出作为右边命令的输入。从a.txt文件里匹配test字符串
    unzip xxx.zip -d aaa目录 解压xxx.zip到aaa目录
    ln -s 真实目录 软链接目录 建立软链接

    linux的文本查看命令
    共有cat,more,less,head,tail这5个命令。
    cat是输出一个整个文本文件。常这样搭配cat a.txt | grep test,从一个文本中匹配字符串。
    more命令场景是查看超长文本内容。因为more可以指定从第几行开始显示,一屏显示几行。
    more +3 -4 /etc/profile表示从第3行开始显示,一屏显示4行内容。
    less命令和more命令功能差不多。
    head -n 10 /etc/profile命令,显示/etc/profile的前10行内容。
    tail命令是显示文本的最后几行。通常用于日志文件查看。
    tail -n 5 /etc/profile显示/etc/profile的最后5行内容。
    tail -f -n 5 /var/log/syslog显示文件 syslog 的最后5行内容并在文件内容增加后,且自动显示新增的文件内容。

    获得nohup后台运行进程的PID
    用nohup创建进程时,就用shell的特殊变量$!把最后一个后台进程的PID保存下来。

    nohup command > logfile.txt & echo $! > pidfile.txt
    

    需要结束进程的时候,直接进行kill。

    kill -9 `cat pidfile.txt`
    

    nohup命令
    nohup 命令 >>日志文件 &

    使用nohup运行程序:

    • 结果默认会输出到nohup.out
    • 使用Ctrl + C发送SIGINT信号,程序关闭
    • 关闭session发送SIGHUP信号,程序免疫

    使用&运行程序:

    • 结果会输出到终端
    • 使用Ctrl + C发送SIGINT信号,程序免疫
    • 关闭session发送SIGHUP信号,程序关闭

    使用nohup和&运行程序:

    • 同时免疫SIGINT和SIGHUP信号

    重定向>和>>
    >是重定向到一个文件,>>是追加内容到文件。
    两个命令都是如果文件不存在则创建文件。
    1>是标准输出重定向
    2>是标准错误重定向
    > xxx.txt 标准输出重定向到xxx.txt,而标准错误会输出到控制台。

    more命令

    参数 功能
    空格键 向下滚动一屏
    b 向上滚动一屏
    = 输出当前行的行号
    q 退出more

    命令行交互快捷键

    参数 功能
    Ctrl – a 移到行首
    Ctrl – e 移到行尾
    Alt – d 由光标位置开始,往右删除单词。往行尾删
    Alt – w 由光标位置开始,往左删除单词。往行首删
    Alt-BackSpace 用于删除本行所有的内容

    vim

    默认进入的是normal模式。
    从normal模式可以切换到其它模式。
    其它模式只能按esc切到normal模式。

    normal模式

    按键 功能
    esc 进入normal模式
    i 进入insert模式
    v 进入visual line模式
    citrl+v 进入visual block模式
    : 进入命令行模式
    $ 将光标移到当前行的行尾
    0(零) 将光标移到当前行的行首

    命令行模式

    按键 功能
    q 退出vi编辑器
    q! 不保存文件,退出vi编辑器
    w 保存文件
    wq 保存文件,退出vi编辑器
    dd 删除光标所在的行
    x 删除光标位置指定的字符

    visual line模式

    文本选择:

    按键 功能
    h 左选择
    l 右选择
    j 上选择
    k 下选择
    ^ 选中当前行,光标位置到行首(或者使用键盘的HOME键)
    $ 选中当前行,光标位置到行尾(或者使用键盘的END键)

    **文本编辑: **

    按键 功能
    d 剪切操作
    y 复制操作
    p 粘贴操作

    shell bash脚本

    脚本加上这一行,让系统强制使用这个路径的脚本解析器

    #!/bin/bash
    

    变量声明和控制台输出

    # 变量声明
    string="hello world"
    
    # 变量输出。注意$这个符号
    echo $string
    
    # 反引号的字符串来调用linux命令,并把pwd的命令输出结果赋值给变量PWD
    PWD=`pwd`
    echo $PWD
    

    选择分支结构

    # 注意[]里面前后都有空格,不能省略
    #-z判断字符串是否空
    str=""
    if [ -z $str ]; then
        echo "yes"
    else
        echo "no"
    fi
    
    #其它比较符号: 相等(-eq)、大于(-gt)、小于(-lt)、大于等于(-ge)、小于等于(-le)
    
    # -f 判断文件是否存在
    if [ -f "./dir/a.txt" ]; then
        echo "yes"
    else
    fi
    
    # -d 判断目录是否存在
    if [ -d "./dir/" ]; then
        echo "yes"
    else
    fi
    

    程序、进程(process)、线程(thread)、服务(service)的关系

    程序只是一堆代码。

    进程(process)是指运行中的程序。
    每一个进程都有自己独立的内存空间。
    一个程序可以同时启动多个进程。比如开启多个Chrome浏览器,就开启了多个Chrome进程。

    一个进程可以运行多个线程(thread)。
    比如一个Chrome浏览器进程包含JS引擎,UI渲染,网络通信等等线程运行。

    服务(service)也是进程。
    区别在于是谁启动进程。
    一般的进程是由用户启动,而服务(service)由系统启动。

    相关文章

      网友评论

          本文标题:linux,vim和bash命令小册

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