• 【运维】Linux进阶命令简记--Linux(3)


    1.Linux高级命令

    1.1.grep命令

    •   grep命令用于在文件中查找关键字,并显示关键字所在的行
    •   用法:grep text file,text代表要搜索的文本,file代表供搜索的文件

    常用参数搭配:

    •   grep -i:默认情况下,grep命令是区分大小写的,加上i参数使搜索结果忽略大小写
    •   grep -n:显示搜索到的文本所在的行号
    •   grep -v:只显示搜索的文本不在的那些行
    •   grep -r:在所有子目录和子文件中查找,比如grep -r “Hello World” folder/表示在folder目录的所有子目录和子文件中查找Hello World这个文本
    •   grep -E:grep -E 正则表达式 文件目录:使用正则表达式进行匹配

    1.2.sort命令

    •   sort命令用于对文件的行进行排序,默认对文件中字母按照字母A-Z的顺序排序

    常用参数搭配:

    •   sort -o参数:将排序后的内容结果写入新文件,具体格式:sort -o name_sorted.txt name.txt 其中name_sorted.txt是排序后的文件,name.txt是源文件
    •   sort -r参数:倒序排列
    •   sort -R参数:R是英语Random的首字母,随机排序
    •   sort -n参数:默认仅用sort命令时,是不区分字符是否是数字的,会把这些数字看成字符串,按照1-9的顺序来排序,可以使用sort -n参数对数字进行排序,按从小到大排序

    1.3.wc命令

    •   wc是word count的缩写,wc命令用于文件统计,统计文件中的行数、单词数、字符数,字节数
    •   用法:wc 文件名,显示为:行数、单词数、字节数

    常用参数搭配:

    •   wc -l:如wc -l 文件名,l是line的缩写,表示只统计行数
    •   wc -w:w是word的缩写,表示“单词”,用于统计单词(用空格隔开的字符串)数目
    •   wc -c:c是character的缩写,用于单独统计字节数
    •   wc -m:用于统计字符数

    1.4.uniq命令

    •   uniq命令用于删除文件中的重复内容,只能将连续的重复行变为一行
    •   用法:uniq 文件名,如果要将重复的文件名处理之后输出在一个新的文件中,使用uniq 文件名 新文件名,如uniq repeat.txt unique.txt

    常用参数搭配:

    •   uniq -c:-c参数用于显示重复的行数,只出现一次的重复次数为1,用法:uniq -c 文件名
    •   uniq -d:-d参数只显示重复的行的值,用法:uniq -d 文件名

    1.5.cut命令

    •   cut命令用于对文件的每一行进行剪切处理,会剪切掉文件的一部分内容

    常用参数搭配:

    •   cut -c:根据字符数来剪切,如cut -c 2-4 name.txt表示将文件中的每一行剪切,保留第二个字符到第四个字符
    •   cut -d:d是delimiter的缩写,用于指定用什么分隔符(比如逗号、分号、双引号等等)
    •   cut -f:f是field的缩写,表示剪切下用分隔符分隔的哪一块或哪几块区域,比如:cut -d , -f 1 notes.csv 表示在notes.csv文件中使用”,”分隔,并截取第一段,注意:这里的下标是从1开始的,不是从0开始

            ①cut -f 1,3 文件名:1和3表示剪切下来取第一和第三部分

            ②cut -f 2- 文件名:2-表示剪切保留第二部分直到最后一部分

    1.6.ps命令

    •   ps是Process Status的缩写,ps命令用于显示当前系统中的进程
    •   ps命令显示的进程列表不会随时间而更新,是静态的,只是运行ps命令当时的那个状态,或者说是一个进程的快照snapshot

    直接运行ps命令显示的效果如下:

    其中PID是进程号,TTY是进程运行所在的终端,TIME表示进程运行了多久,CMD表示产生这个进程的程序名

    常用参数搭配:

    •   ps -ef:使ps命令列出所有用户在所有终端的所有进程

    第一列是UID,是user identifier的缩写,表示用户标识符;第三列是PPID(parent process ID):PPID是程序的父进程号

    •   ps -efH:以乔木状列出所有进程,如下图所示:

    •   ps -u用户名:列出此用户运行的进程,ps -u xxx #用实际用户替换xxx
    •   ps -aux:通过CPU和内存使用来过滤进程,一般为了显示更人性化,使用命令:

    ps -aux --sort -pcpu | less  # 根据CPU使用率来降序排列

    ps -aux --sort -pmem | less  # 根据内存使用率来降序排列

    ps -aux --sort -pcpu,+pmem | head # 将CPU和内存参数合并到一起,并通过管道显示前10个结果

    •   ps -axjf或pstree:以树形结构显示进程

    1.7.top命令

    •   top命令可以动态的显示进程列表,相比于ps命令可以动态、实时地监控进程的运行情况
    •   top命令不会显示全部的进程列表,只会显示一部分占据整个屏幕大小,默认进程是按照使用处理器的比率来排序的

    在top命令使用时的一些快捷键:

    •   q键:quit,退出top命令显示界面
    •   h键:显示帮助文档
    •   b键:加粗某些重要的信息
    •   f/F键:在进程列表中添加或删除某些列;改变进程列表排序所参照的列
    •   u键:可以选择使用显示只需要显示的用户操作的进程列表
    •   k键:可以供用户输入要结束的进程
    •   s键:可以改变刷新页面的时间,默认页面每隔3秒刷新一次

    1.8.操作进程和重启关闭系统

    •   Ctrl + C:停止终端中正在运行的进程,Ctrl + C可以比较友好地中止终端中正在运行的程序

    (注意终端中使用复制和粘贴分别是Ctrl + Shift +C和Ctrl + Shift +V)

    •   kill命令:kill命令用于结束一个进程,kill命令后接需要结束的进程号,也就是我们之前看到过的PID,可以通过ps命令或top命令来获知进程的PID(注意kill命令执行需要在root用户权限下)
    •   kill -9命令:kill -9可以立即强制结束进程
    •   killall命令:用于结束全部要结束的进程,killall命令后接程序名,而不是PID(进程号)
    •   halt命令:halt命令用户关闭系统,但是必须以root身份才能关闭系统,一般用法:sudo halt
    •   reboot命令:reboot命令用于重启系统,也需要以root身份才能重启系统,用法:sudo reboot。halt命令和reboot命令都调用了Linux的另一个命令——shutdown命令
    •   poweroff命令:poweroff命令也可以用于关机,普通用户直接执行即可,效率较高

    1.9.输出重定向与管道

    >:标准输出重定向到文件

    •   >:>表示重定向到新的文件,它可以将命令的输出结果重定向到你选择的文件中,比如cut -d , -f 1 note.csv > students.txt,命令即可将note.csv中剪切到的部分重定向到students.txt文件中
    •   >使用注意事项:

    ①如果此文件不存在,则会新建一个文件;如果此文件已经存在,就会把文件内容覆盖掉,且不会征求用户确认

    •   重定向到“黑洞文件” /dev/null,它能使发送到/dev/null的任何数据作废

    >>:标准输出重定向到文件末尾

    •   >>:>>的作用与>是类似的,不过不会像>那么危险,会将重定向的内容写入到文件末尾,起到追加的作用
    •   如果文件不存在也会创建文件

    2> 文件名 :标准错误输出重定向到文件

    2>> 文件名 :标准错误输出重定向到文件末尾

    2>&1 :标准输出和标准错误输出都重定向到文件

    1.10.输入重定向与管道

    <:从文件中读取

    •   <符号用于指定命令的输入,cat < note.csv与cat note.csv的显示效果一样,但是原理不一样,cat < note.csv只负责将文件内容打印,不负责文件打开;而cat note.csv负责文件内容的打开与打印显示在终端

    <<:从键盘读取

    •   <<符号的作用是将键盘的输入重定向为某个命令的输入
    • |:管道
    •   |符号称为“管道符”,其作用就是“建立命令管道”
    •   管道也算是重定向流的一种
    •   管道的原理:将两个命令连成管道,简单地说就是将一个命令的输出作为另一个命令的输入(将一个命令的输出重定向为另一个命令的输入)

    如使用:du | sort -nr | head命令,将当前目录下的文件按照从大到小的顺序排列,并显示前10行

    1.11.at命令

    •   at命令可以用来延时执行一个程序,可以用at命令来设定一个程序的执行时间
    •   注意:at命令只能让程序执行一次
    •   如果系统中没有at命令,可以执行:sudo yum install at

    at命令的使用有以下场景:

    ①在指定时刻执行程序:先用at命令后接想要程序执行的确定时刻,再输入你想要在以上指定时刻执行的命令,结束at命令使用ctrl + D ;在明天的时间执行命令,使用:at 22:10

    tomorrow

    ②在指定任意时期执行程序:at 22:10 12/10/19,表示在2019年12月10日的22:10分执行,12/10/19依次是“月/日/年”

    ③在指定间隔之后执行程序:如在10分钟之后执行命令:at now +10 minutes,其中now表示“现在”,+10minutes表示“10分钟之后”

    minutes:表示“分钟”

    hours:表示“小时”

    days:表示“天”

    weeks:表示“星期”

    months:表示“月”

    years:表示“年”

    1.12.crontab命令

    •   crontab命令与at命令一样,用于定时执行程序,crontab可以重复执行命令,例如:每小时、每分钟、每天、每星期等等
    •   安装crontab命令:

    CentOS安装crontab

    1. sudo yum install vixie-cron crontabs  #安装crontab,用于CentOS(Red Hat一族)
    2. chkconfig crond on  #设为开机自启动
    3. service crond start   #启动

    Ubuntu安装crontab

    1. sudo apt install cron   #安装crontab
    2. service cron restart 或者restart cron  #重启crontab

    常用参数搭配:

    •   crontab -l:显示crontab文件
    •   crontab -e:修改crontab文件
    •   crontab -r:删除crontab文件

    1.13.&&和||符号

    •   &&号前的命令执行成功,才会执行后面的命令
    •   ||号前的命令执行失败,才会执行后面的命令
    •   分号:不论分号前面的命令执行成功与否,都执行分号后的命令

    1.14.tar命令

    打包:打包是将多个文件变成为一个总的文件,这个总的文件我们通常称为archive

    压缩:压缩是将一个大文件通过某些压缩算法变成为一个小文件

    一般来说tar命令,gzip和bzip2命令的使用分为以下两个步骤:

    1. 首先,用tar将多个文件归档为一个总的文件,称为archive;
    2. 然后,用gzip或bzip2命令将archive压缩为更小的文件

    总的压缩流程如下图所示:

    tar命令常用参数搭配:

    •   tar -cvf:创建一个tar归档,用法:tar -cvf 归档文件名.tar 文件路径,如:tar -cvf sorting.tar sorting/ ,即可将sorting/目录下的文档归档为sorting.tar
    •   tar -cvf archive.tar file1.txt file2.txt file3.txt,可以直接对文件进行归档操作,不需要先把所有文件放到一个目录里
    •   tar -tf:-tf显示归档里的内容,并不解开归档
    •   tar -rvf:tar -rvf archive.tar file_extra.txt,可以将file_extra.txt这个文件添加到archive.tar归档中,-rvf用于追加文件到归档
    •   tar -xvf:用于解开归档,是-cvf的相反操作,用法:tar -xvf sorting.tar
    •   tar -zcvf:归档,然后用gzip来压缩归档,用法:tar -zcvf sorting.tar.gz sorting/
    •   tar -zxvf:解压文件,tar -zxvf sorting.tar.gz
    •   tar -jcvf:归档,然后用bzip2来压缩归档,用法:tar -jcvf sorting.tar.bz2 sorting/
    •   tar -jxvf:解压文件,tar -jxvf sorting.tar.bz2

    1.15.gzip与bzip2命令

    •   gzip比较常用,bzip2不是那么常用。bzip2压缩率比gzip更大,但是更耗时
    •   .tar.gz是用gzip命令压缩后的文件后缀名;.tar.bz2是用bzip2命令压缩后的文件后缀名

    压缩归档文件.tar用法:

    •   gzip命令:gzip sorting.tar
    •   bzip2命令:bzip2 sorting.tar

    解压缩用法:

    •   gunzip:gunzip sorting.tar.gz,使用此命令会将.tar.gz压缩文件解压缩为sorting.tar的归档文件
    •   bunzip2:bunzip2 sorting.tar.bz2,使用此命令会将.tar.bz2压缩文件解压缩为sorting.tar.bz2

    显示用gzip/bzip2压缩的文件的内容

    zcat/zmore/zless sorting.tar.gz

    bzcat/bzmore/bzless sorting.tar.bz2

  • 相关阅读:
    索引初识
    python数据类型之 元祖、列表字典
    linux常用命令之网络命令
    linux命令之查找find &grep
    python数据类型之可hash,不可hash
    python面向对象之封装,多态与继承
    python之新式类与经典类
    python之random随机函数
    CSS3选择器(一)
    关于居中
  • 原文地址:https://www.cnblogs.com/yif0118/p/14221462.html
Copyright © 2020-2023  润新知