• Linux学习笔记三----------Linux进阶知识和命令


    一、正则表达式和数据操作

    grep命令,筛选命令,全局搜索正则表达式并打印

    grep text file

    在profile中搜索包含path的行,grep path /etc/profile;搜索包含hello world的行,grep ’hello world‘ /etc/profile

    -i,忽略大小写;-n,显示行号;-v,显示不包含文本的行;-r,在所有子目录和子文件中查找;-E,使用正则表达式;

    grep -E 与 egrep一致

    greo -E ^path /etc/profile(匹配行首)

    sort,为文件排序 sort file,按照顺序将file中的行进行排序

    -o,将排序后的内容写入新文件 sort -o 输出文件 输入文件

    -r,倒序排列;-R,随机排序;-n,对数字排序

    wc,文件统计,显示文件行数,单词数,字节数;

    -l,只统计行数;-w,统计单词数;-c,统计字节数;-m,统计字符数

    uniq,删除文件中重复内容;只能将连续重复行变为一行

    uniq file;uniq 输入文件 输出文件

    -c,统计重复行数;-d,只显示重复行的值

    cut,剪切文件

    -c,根据字符数来剪切

    cut -c 2-4 file(每一行只保留第二个字符到第四个字符)

    二、流、管道、重定向

    重定向:把本来显示在终端的结果,输送到其他地方

    管道:把两个命令连接起来使用,一个命令的输出作为另一个命令的输入

    >和>>,重定向到文件,就不会显示在终端中

    cut命令,根据分隔符剪切,cut -d , -f 1 notes.csv,按照逗号分隔符剪切csv文件中的第一列

    >,将输出内容重定向到文件中 cut -d , -f 1 notes.csv > student.txt,若重定向文件不存在,则新建文件;否则覆盖该文件

    若不想在终端显示,也不写入到文件中,则可以将内容重定向到 /dev/null中

    >>,重定向到文件末尾,不会覆盖文件,只是追加到文件末尾

    stdin,stdout,stderr,标准输入流、标准输出流、标准错误流

    >,>>只能将标准输出重定向到文件

    2>可以将标准错误输出重定向到文件 cat not_exist_file.csv > results.txt 2> errors.log

    2>&1,将标准错误输出与标准输出重定向到相同文件 cat not_exist_file.csv >> results.txt 2>&1

    输入重定向 <,<<

    cat < notes.csv

    <<,从键盘读取

    sort -n << END

    wc -m << END

    管道,|,

    排序输出结果,cut -d , -f 1 notes.csv | sort

    sudo grep log -Ir /var/log | cut -d : -f 1| sort | uniq

    三、进程和系统监测

    Linux是一个多任务、多用户的系统

    w,查看用户信息

    tload,实时查看系统负载

    ps,top命令,列出运行的进程

    ps -ef,列出所有进程;-efH,按照乔木状列出进程;-u xxx,列出指定用户进程;-aux,通过cpu和内存过滤进程

    pstree,以树形结构显示进程,与ps -asjf效果类似

    top,实时进程状态

    q键,退出top状态;h,显示帮助文档;u,依照用户过滤显示;k,结束某些进程;s,改变更新时间;

    ctrl + c和kill,停止进程命令

    ctrl + c,结束终端中的进程

    kill + 进程号,结束进程,kill -9 +进程,立即结束进程;killall + 程序名,结束多个进程

    halt,关闭系统;reboot,重启系统;poweroff,关闭系统

    &和nohup,后台运行进程

    让一个进程在后台运行,cp file.txt file-copy.txt &,但是依然与终端相关联,一旦终端关闭,进程自动结束

    nohup让进程与终端分离

    ctrl + z, jobs,bg,fg控制进程前后台切换

    ctrl + z,转到后台,暂停运行;bg,使进程转入后台,开始运行

    jobs,显示后台进程状态

    fg,使进程转到前台

    四、任务的定时和延期

    可以使用at设定一个程序的执行时间

    at 22:10(在22:10的时间点执行的程序,回车并输入程序),并使用ctrl+d退出命令输入

    at 22:10 tomorrow;at 22:10 12/10/20;at now + 10 minutes

    atq、atrm,列出和删除正在等待执行的at任务

    atq,列出正在等待执行的at任务

    atrm+任务编号,删除正在等待执行的at任务

    sleep命令,在两条命令之间插入休眠时间

    touch file.txt; sleep 10; rm file.txt

    &&和||,逻辑与,逻辑或

    &&前的命令执行成功,才会执行后面的命令

    ||前面的命令执行失败,才会执行后面的命令

    ;不论分号前命令是否执行成功,都会执行后面的命令

    crontab命令,可以定时重复执行

    前期配置,修改.bashrc文件,将export EDITOR=nano添加到.bashrc文件中(echo "export EDITOR=nano">> ~/.bashrc)

    source ./bashrc让配置立即生效

    crontab,-l,显示crontab文件;-e,修改crontab文件;-r,删除crontab文件

    修改crontab文件,修改格式 m h dom mon dow command

    每天的22点10分都在家目录下创建file.txt 10 22 * * * touch ~/file.txt

    五、文件的解压与压缩

    打包,将多个文件变成总的文件,成为archive

    压缩,使用算法将文件压缩

    tar命令,将多个文件归档为总的文件,然后使用gzip或者bzip2压缩归档文档

    tar,将多个文件合并一个文件

    -cvf,创建归档文件 tar -cvf sorting.tar sorting/

    -tf,显示归档里的内容,并不解开归档

    -rvf,追加文件到文档

    -xvf,解开归档

    gzip,bzip2压缩归档

    .tar.gz,用gzip压缩后的文件后缀名

    .tar.bz2,用bzip2压缩后的文件后缀名

    gzip xx.tar

    gunzip和bunzip2进行解压

    gunzip xxx.tar.gz

    用tar同时进行归档和压缩

    tar -zcvf sorting.tar.gz sorting/

    解压

    tar -zxvf sorting.tar.gz

    -jcvf,归档,然后用bzip2压缩

    -jxvf,解压bzip2的压缩文档

    zcat可以查看tar.gz文件;bzcat查看tar.bz2文件

    使用zip、rar、unzip、unrar压缩和解压对应文件

    六、编译安装软件

    下载源代码,解压压缩包,配置,编译,安装

    alien软件可以将.rpm和.deb软件相互转换,sudo yum install alien

    alien -r *.deb,将deb文件转换为rpm,然后使用rpm -i xxx.rpm即可安装

    编译安装

    wget命令下载压缩文件

    tar -zxvf xxx.tar.gz解压文件

    ./configure,检查是否电脑配置是否符合要求

    make,编译源码

    make install,安装程序

  • 相关阅读:
    soap-学习
    Redis教程
    Java 不可变对象
    java volatile
    Go语言
    mongodb 基础语法
    Linux 命令大全
    Java json字符串对比
    sqlserver 数据库阻塞和死锁
    http 和 https 的区别
  • 原文地址:https://www.cnblogs.com/xxp17457741/p/12482759.html
Copyright © 2020-2023  润新知