• Linux-level


    grep text file  在文件中搜索文件 -i 忽略大小写 -n 显示所在行号 -v颠倒(所有不包含的) -r递归(此时file为目录名)
    grep -i text filename
    rgrep 等效 grep -r
    grep -E text file 使用正则表达式搜索 -E
    egrep 等效 grep -E
    
    sort 为文件的行进行排序
    sort filename  只是显示排序后的内容,文件内容行没有改变
    sort -o sortfilename filename 将排序后的内容另存为sortfilename
    sort -r 倒序排列 
    sort -R 随机排列
    sort -n 按数字从小到大排列
    
    wc 文件统计
    wc filename  行数/单词数/字节 
    wc -l filename 只统计行数
    wc -e filename 只统计单词数
    wc -c filename 只统计字节数
    
    uniq 删除文件中重复的内容,只能删除连续的行
    uniq filename  只显示删除后的内容,文件内容没有改变
    uniq filename unfilename 把删除后的内容另存到unfilename文件中
    uniq -c filename 统计行数
    uniq -d filename 只显示重复的内容
    
    cut 剪切文件的一部分内容
    cut -c filename 根据字符数剪切  原文件不改变
    cut -c 2-4 filename 每行只保留第二到第四个字符
    cut -d , -f 1 filename -d分割符(以","分割) -f区域(第一个区域)
    cut -d , -f 1 notes.csv 在notes.csv中以","为分割符,剪切出第一区域的内容
    
    tngh,74/100,不错
    annier,87/100,还行 #notes.csv中的内容
    
    cut -d , -f 1,3 fliename  剪切出以","分割的 第一和第三区域的内容
    cut -d , -f 2- filename   剪切出以","分割的 从第二区域开始至到最后的内容
    
    >和>>:重定向到文件 >创建新文件,如果文件存在就重写(覆盖)文件。 >>把内容添加到文件的结尾,不重写
    cut -d , -f 2- filename > refilename 将剪切出的结果重定向到refilename文件中
    
    /dev/null 黑洞文件
    2> 标准错误输出 2>>标准错误重定向到文件结尾
    2>&1 标准错误与标准输出文件 输出到一个文件中
    
    cat not_exist_file.txt > results.txt 2> errors.log #将not_exist_file文件重定向到results.txt文件中显示,如果出错重定向到errors.log文件中.
    cat not_exist_file.txt > results.txt 2>&1  #将标准输出与标准错误都输出到results.txt文件中
    cat not_exist_file.txt >> results.txt 2>&1 #将标准输出与标准错误都追加到results.txt文件中
    
    < ,<< :从文件或键盘读取
    < 用于指定命令的输入
    cat < filename  结果同效于 cat filename 但过程不同“<”是直接在终端打印出文件的内容,而cat是先在终端打开文件,再将文件的内容打印出来
    
    << 从键盘读取
    sort -n << END  #将是键盘输入模式(回车为换行) 以end结束,将键盘输入的结果排序
    sort -n << END > filename 2>&1 将键盘输入的内容排序结果重定向到filename文件中
    
    | :管道 #一个命令的输出是另一个命令的输入
    cut -d , -f 1 fliename | sort 先剪切出文件的内容(以","分割,文件的第一区域),再将剪切出的内容排序
    du | sort -nr | head  #du 遍历当前目录下的所有子目录 ,这句命令是将当前目录下的所有子目录以数据大小倒序排序,只输出前十个。
    
    w #谁 在做什么 
    update #正常运动时间
    who #当前哪些用户在登陆
    ps #进程的静态列表 默认只输出当前用户当前终端的进程
    ps -ef #所有用户 所有终端的进程
    ps -efH #以乔木状列出所有的进程
    ps -u who #某个(who)用户下所有的进程
    ps -aux #通过CPU和内存使用来过滤进程
    ps -aux --sort -pcpu #根据CPU使用率降序排列
    ps -aux --sort -pmem #根据内存使用率降序排列
    ps -aux --sort -pcpu,+pmem #CPU和内存参数合并一起使用
    
    pstree #以树形结构显示进程
    ps -axjf和pstree效果比较类似
    
    top #进程的动态列表 默认使用处理器的比率来排序的
    
    使用第三方软件 glances  htop
    
    在终端中停止进程Ctrl+C  终端中拷贝与粘贴是Ctrl+Shift+C ,Ctrl+Shift+V
    kill #结束一个进程
    kill -9  #强制结束进程
    killall #结束所有进程,后接程序名而不是进程号
    halt #关闭系统
    reboot # 重启系统
    shutdown #定时关机或重启系统
    poweroff #关机
    
    & #在后台运行进程,此时运行在后台进程与终端是有关系的,若终端关闭,进程也是结束
    sudo find / -name "*.log" &
    sudo find / -name "*.log" > filename  & #重定向与后台运行结合使用
    sudo find / -name "*.log" > filename 2>&1 &  #
    
    nohup #使进程与终端分离
    nohup cp filename file_copy_name #在后台运行复制文件
    
    Ctrl+Z #转到后台,并暂停运行
    bg #使进程转到后台
    
    进程状态 R(正在运行或在运行队列中等待) S (中断,休眠中,受阻) D(不可中断) Z(僵死,进程已终止,但进程描述符依然存在) T(停止)
    
    jobs 显示后台进程状态
    
    fg #使进程转到前台
    
    date #时间
    date "+%H:%M:%S"  #定制时间格式 时:分:秒
    
    at #延时执行一个程序,只能让程序执行一次.at命令需要安装
    sudo yum install at
    at 22:12 #先输入要执行的时间,再输入要执行的程序或命令
    sudo find......
    退出按Ctrl+D
    
    at 22:10 12/10/14 #在某年某月某日某时执行
    at now +10 minutes #在十分钟之后执行
    
    atq 和atrm #列出和删除正在等待执行的at命令
    
    sleep #休息一会
    touch file.txt; sleep 10m; rm file.txt # ";" 可以隔开多个要执行的命令,touch创建文件
    
    1)";"前后的命令执行与";"没有关系,都会被执行
    2)"&&"符号前的命令执行成功才会执行"&&"符号后的命令
    3)"||"符号前的命令执行失败才会执行"||"符号后的命令
    
    crontab #定时执行程序  at只能一次执行某个(某几个)命令,crontar可以重复执行 
    sudo yum install vixi-cron crontab #crontab 也需要安装
    chkconfig crond on  #设为开机自启动
    service crond start #启动
    
    Ubuntu系统中
    sudo apt install cron #安装crontab
    service cron restart或者restart cron #重启crontab
    
    需要修改 .bashrc文件
    echo "export EDITOR=nano" >> ~/.bashrc  #使用输出重定向,设置nano为默认文本编辑器.将export EDITOR=nano写入到.bashrc文件的结尾
    source ~/.bashrc  #立即生效
    
    crontab用于修改crontab文件,cron用于实际执行定时的程序
    crontab 参数 -l:显示crontab文件
                 -e:修改crontab文件,文件不存在就创建文件
                 -r:删除crontab文件
    crontab文件格式: m h dom mon dow command  #分 时 天(一月中的某天) 月 星期几 定时执行的命令
    
    10 22 * * * touch filename  #每天的22点10分创建文件
    
    tar #归档
    tar -cvf #创建一个tar归档
    tar -cvf file.tar file/ #此时为将目录里所有的文件归档
    tar -cvf file.tar file1,file2,file3 #将文件1,2,3归档,此时归档的是文件
    
    tar -tf #显示归档里的内容,并不解开归档
    tar -tf file.tar
    
    tar -rvf #追加文件到归档
    tar -rvf file.tar file1.txt #将file.txt文件追加到file.tar归档里
    
    tar -xvf #解开归档
    tar -xvf file.tar
    
    gzip和bzip2 压缩归档
    gzip file.tar  #压缩后,后缀名为.gz
    bzip2 file.tar  #压缩后,后缀名为.bz2
    gunzip和bunzip2 解压
    gunzip file.tar.gz
    
    tar -zcvf file.tar.gz flie #一步到位,tar归档并用gzip压缩
    tar -zxvf file.tar.gz  #解压
    tar -jcvf file.tar.bz2 file #一步到位,tar归档并用bzip2压缩
    tar -jxvf file.tar.bz2 #解压
    
    zcat/bzcat,zmore/bzmore,zless/bzless,显示用gzip/bzip2压缩的文件内容
    zip/unzip和rar/unrar 压缩/解压 zip和rar文件
    命令有时可能需要安装才能运行
    sudo yum install unzip
    unzip file.zip #解压.zip文件
    unzip -l file.zip #不解压,只看其中的内容
    zip -r file.zip file #压缩  递归的压缩子目录中所有的文件
    rar a file.rar file  #压缩
    unrar e file.rar  #解压
    unrar l file.rar  #不解压只看内容 
    
     编译安装软件
    alien软件 #将deb(Debian,Ubuntu)安装包和rpm(Centos)安装包互相转换
    首先需要安装alien
    sudo yum install alien
    alien -r file.deb #将.deb安装包转换成.rpm安装包
    sudo rpm -i file.rpm #安装.rpm安装包  #注 yum安装时会安装依赖包 ,直接rpm安装不会安装依赖包
    
    源代码编译安装
    1)从网上下载程序源代码
     wget http://www.XXXXXXXX     #通常为.tar.gz的格式
    2)解压压缩包
    tar -zxvf xxx.tar.gz
    3)进入解压目录中,运行configure文件
    ./configure  #用"./"直接运行 ,configure是可执行程序
    4)运行make编译
    sudo make
    sudo make install
  • 相关阅读:
    输入法或搜索类软件评价
    Money-去哪了每日站立会议
    Money去哪了- 每日站立会议
    Money去哪了- 每日站立会议
    课下作业-典型用户描述,描绘用户场景
    Money去哪了-每日站立会议
    Money去哪了- 每日站立会议
    Money-去哪了每日站立会议
    Money去哪了- 每日站立会议
    Money-去哪了每日站立会议
  • 原文地址:https://www.cnblogs.com/tngh/p/13390101.html
Copyright © 2020-2023  润新知