zoukankan      html  css  js  c++  java
  • 红帽7 常用系统命令

    常用系统工作命令

    1、echo命令

    echo 命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。 例如,把指定字符串“hello world”输出到终端屏幕的命令为:

    # echo Linuxprobe.Com

    该命令会在终端屏幕上显示如下信息:hello world

    下面,我们使用$变量的方式提取变量 SHELL 的值,并将其输出到屏幕上:

    # echo $SHELL

    输出为:/bin/bash

    2、date命令

    date 命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。 只需在强大的 date 命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时 间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一 起。例如,把打包后的文件自动按照“年-月-日”的格式打包成“backup-2017-9-1.tar.gz”,用 户只需要看一眼文件名称就能大概了解到每个文件的备份时间了。

    参数 作用
    %t 跳格[Tab 键]
    %H 小时(00~23)
    %I 小时(00~12)
    %M 分钟(00~59)
    %S 秒(00~59)
    %j 今年中的第几天

    按照默认格式查看当前系统时间的 date 命令如下所示:

    # date

    输出为:Mon Aug 24 16:11:23 CST 2017

    按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的 date 命令如下所示:

    # date "+%Y-%m-%d %H:%M:%S"

    输出为:2018-09-3 16:29:12

    将系统的当前时间设置为 2017 年 9 月 1 日 8 点 30 分的 date 命令如下所示:

    # date -s "20170901 8:30:00"

    输出为:Fri Sep 1 08:30:00 CST 2017

    再次使用 date 命令并按照默认的格式查看当前的系统时间,如下所示:

    # date

    输出为:Fri Sep 1 08:30:01 CST 2017

    date 命令中的参数%j 可用来查看今天是当年中的第几天。这个参数能够很好地区分备份时 间的新旧,即数字越大,越靠近当前时间。该参数的使用方式以及显示结果如下所示。

    # date "+%j"

    输出为:246

    3、reboot命令

    reboot 命令用于重启系统,由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用 root 管理员来 重启

    # reboot

    4、poweroff命令

    poweroff 命令用于关闭系统,该命令与 reboot 命令相同,都会涉及硬件资源的管理权限,因此默认只有 root 管理员才 可以关闭电脑

    # poweroff

    5、ps命令

    ps 命令用于查看系统中的进程状态,格式为“ps [参数]”。

    参数:

      -a    显示所有进程(包括其他用户的进程)

      -u    用户以及其他详细信息

      -x 显示没有控制终端的进程

    Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在 Linux 系统中,有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自 含义如下所示。
    ➢ R(运行)进程正在运行或在运行队列中等待。
    ➢ S(中断)进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该  
    状态。
    ➢D(不可中断) 进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
    ➢Z(僵死) 进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数
    后将进程释放。

    ➢T(停止) 进程收到停止信号后停止运行。

    # ps -aux

    6、top命令

    top 命令用于动态地监视进程活动与系统负载等信息,其格式为 top

    ➢ 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)。

    ➢ 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程 数。

    ➢ 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源 百分比、空闲的资源百分比等。

    ➢ 第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。

    ➢ 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

    7、pidof命令

    pidof 命令用于查询某个指定服务进程的 PID 值,格式为“pidof [参数] [服务名称]”

    # pidof sshd

    1665

    8、kill命令

    kill 命令用于终止某个指定 PID 的服务进程,格式为“kill [参数] [进程 PID]”。

    # kill 2156

    系统状态检测命令

    1、ifconfig命令

    ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。

    # ifconfig

     
    2、uname命令
    uname 命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。
    # uname -a
    Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
     
    3、uptime命令
    uptime 用于查看系统的负载信息,格式为 uptime。
    它可以显示当前系统时间、系统已运行时间、启用终端数量以 及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情 况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要超 过 5。

    # uptime

     18:19:10 up 38 min,  2 users,  load average: 0.01, 0.04, 0.06

    4、free命令

    free 用于显示当前系统中内存的使用量信息,格式为“free [-h]”。

    # free -h

    5、who命令

    who 用于查看当前登入主机的用户终端信息,格式为“who [参数]”。

    # who

    6、last命令

    last 命令用于查看所有系统的登录记录,格式为“last [参数]”。

    # last

    7、history命令

    history 命令用于显示历史执行过的命令,格式为“history [-c]”。

    -c参数会清空所有的命令历史记录

    !命令序列号    表示执行该条命令,例如 !4   ,则再次执行ifconfig命令

    # history

     1  ifconfig
        2  ifconfig  -a
        3  reboot
        4  ifconfig
        5  vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
        6  su
        7  ls
        8  xeit
        9  ls
       10  ps -aux
       11  clear
       12  python
       13  python3
       14  lks

    7、runlevel命令

    查看系统当前运行级别

    # runlevel

    who -r  也可以打印当前运行级别

     

    工作切换命令

    1、pwd命令

    pwd 命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。

    # pwd

    /etc

    2、cd命令

    cd 命令用于切换工作路径,格式为“cd [目录名称]”。

    cd ..   切换到上一级目录

    cd ~   切换到当前用户的家目录

    3、ls命令

    ls 命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。

    使用 ls 命令的“-a”参数看 到全部文件(包括隐藏文件)以 . 开头的文件就是隐藏文件,使用“-l”参数可以查看文件的属性、大小等详细信息

    文本切换命令

    1、cat命令

    cat 命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。

    $ cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    unbound:x:998:997:Unbound DNS resolver:/etc/unbound:/sbin/nologin     下面的省略

    2、more命令

    more 命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。空格键向下翻一页,回车键向下翻一行

    3、head命令

    head 命令用于查看纯文本文档的前 N 行,格式为“head [选项] [文件]”。

    例如,查看passwd文件的前20行

    $ head -n 20 /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    unbound:x:998:997:Unbound DNS resolver:/etc/unbound:/sbin/nologin
    colord:x:997:996:User for colord:/var/lib/colord:/sbin/nologin
    usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
    avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
    avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

    4、tail命令

    tail 命令用于查看纯文本文档的后 N 行或持续刷新内容,例如查看一个文件的后20行,格式为“tail  -n 20  文件名”。

    tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为“tail -f 文件名

    $ tail -n 20 /etc/passwd

    5、diff命令

    diff 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。

    还可以使用 -c 参数来详细比较出多个文件的差异之处

    # cat diff_A.txt

    Welcome to linuxprobe.com

    Red Hat certified

    Free Linux Lessons

    Professional guidance

    Linux Course

    # cat diff_B.txt

    Welcome tooo linuxprobe.com
     
    Red Hat certified

    Free Linux LeSSonS

    ////////.....////////

    Professional guidance

    Linux Course

    # diff --brief diff_A.txt diff_B.txt

    Files diff_A.txt and diff_B.txt differ

    6、wc命令

    wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。

     参数:

    -l 只显示行数
    -w 只显示单词数
    -c 只显示字节数

    # wc -l /etc/passwd
    38 /etc/passwd

    7、stat命令

    stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。

    # stat  a.py

    Access:  文件的最后一次访问时间
    Modify:   文件内容的最后一次修改时间
    Change: 文件的属性的最后一次修改时间

    8、cut命令

    cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。

    使用 -d 参数来设置间隔符号,-f 来设置提取第几列

    例如:以冒号为间隔符,提取passwd文件的第一列

    文件目录管理命

    1、touch命令

    touch 命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。

    参数 作用
    -a 仅修改“读取时间”(atime)
    -m 仅修改“修改时间”(mtime)
    -d 同时修改atime与mtime

    例如,要修改一个文件的读取时间和修改时间则这样写:touch  -d  时间   文件名

    $ touch a.txt

    $ ls
    a.txt

    2、mkdir命令

    mkdir 命令用于创建空白的目录,格式为“mkdir [选项] 目录”。

    mkdir命令还可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。 例如:mkdir  -p  1/2/3/4  ,不加-p则生成不了,加了-p才可以递归生成目录。

    $ mkdir aaa

    $ ls
    aa  a.txt

    3、cp命令

    cp 命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。

    复制操作具体分为3种情况:

    如果目标文件是目录,则会把源文件复制到该目录中;

    如果目标文件也是普通文件,则会询问是否要覆盖它;

    如果目标文件不存在,则执行正常的复制操作。

    参数 作用
    -p 保留原始文件的属性
    -d 若对象为“链接文件”,则保留该“链接文件”的属性
    -r 递归持续复制(用于目录)
    -i 若目标文件存在则询问是否覆盖
    -a 相当于-pdr(p、d、r为上述参数)

    $ cp a.txt b.txt

    $ ls
    a.txt  b.txt

    4、mv命令

    mv 命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。

    剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果 在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名

    $ mv a.txt c.txt

    $ ls
    aa  b.txt  c.txt

    5、rm命令

    rm 命令用于删除文件或目录,格式为“rm [选项] 文件”。

    可在rm命令后跟上 -f 参数来强制删除。另外,想要删除一个目录,需要在rm命令后面一个 -r 参数才可以,否则删除不掉。

    rm删除是没有回收站的,谨慎使用

    6、dd命令

    dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。

    它能够让用户按照指定大小和个数的数据块来复制文件的内容。

    参数 作用
    if 输入的文件名称
    of 输出的文件名称
    bs 设置每个“块”的大小(可以加单位,如 M)
    count 设置要复制“块”的个数

    例如,要从passwd文件中取300个字节的数据复制到当前目录下的pass文件中

    # dd if=/etc/passwd of=pass bs=300 count=1
    1+0 records in
    1+0 records out
    300 bytes (300 B) copied, 0.000565005 s, 531 kB/s

    7、file命令

    file命令用于查看文件的类型,格式为“file 文件名”。

    在Linux系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用file命令来查看文件类型了。

    # file a.py
    a.py: ASCII text

    # file /opt
    /opt: directory

    打包压缩与搜索命令

    1、tar命令

    其中主要使用的是.tar或.tar.gz或.tar.bz2格式

    -c 创建压缩文件          -z 用 Gzip 压缩或解压         -f 目标文件名        

    -x 解开压缩文件       -j 用 bzip2 压缩或解压    -p 保留原始的权限与属性

    -t 查看压缩包内有哪些文件     -v 显示压缩或解压的过程    -P 使用绝对路径来压缩   

    -C 指定解压到的目录

    打包

    打包:tar -cvf FileName.tar 文件名

    解包:tar -xvf FileName.tar  (默认解压到当前路径)

    --------------------------------------------------

    打包和压缩  .gz       可以加参数  -C 解压到指定目录

    解压:tar -zxvf FileName.tar.gz  (默认解压到当前路径)  tar -zxvf FileName.tar.gz  -C   test/
    压缩:tar -zcvf FileName.tar.gz 文件名
    --------------------------------------------------
    .bz2
    压缩:tar  -jcvf  FileName.tar.bz2   文件名
    解压:tar  -jxvf  FileName.tar.bz2   (默认解压到当前路径)

    2、grep命令

    grep 命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。

    -b 将可执行文件(binary)当作文本文件(text)来搜索

    -c 仅显示找到的行数

    -i 忽略大小写

    -n 显示行号

    -v 反向选择—仅列出没有“关键词”的行

    # grep /sbin/nologin /etc/passwd

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    adm:x:3:4:adm:/var/adm:/sbin/nologin

    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    operator:x:11:0:operator:/root:/sbin/nologin

    ………………省略部分输出过程信息………………

    3、find命令

    find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。

    参数 作用
    -name 匹配名称
    -perm 匹配权限(mode为完全匹配,-mode为包含即可)
    -user 匹配所有者
    -group 匹配所有组
    -mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
    -atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
    -ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
    -nouser 匹配无所有者的文件
    -nogroup 匹配无所有组的文件
    -newer f1 !f2 匹配比文件f1新但比f2旧的文件
    --type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
    -size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
    -prune 忽略某个目录
    -exec …… {}; 后面可跟用于进一步处理搜索结果的命令

     重点讲解一下-exec参数重要的作用。这个参数用于把find命令搜索到的结果交由紧随其后的命令作进一步处理,十分类似于管道符,以 ; 为结尾,是固定格式,{}则表示为搜索到的内容

    例如,查找名为 fstab 的文件并且复制到 /root目录下

    # find / -name fstab -exec cp {} /opt ;
    cp: ‘/opt/fstab’ and ‘/opt/fstab’ are the same file

  • 相关阅读:
    手动在本机仓库中放置jar包以解决Maven中央仓库不存在该资源的问题
    同一套代码部署到两台机器上,只有一台机器上的页面中文乱码
    Nginx与httpd共存
    [Z3001] connection to database 'zabbix' failed: [2003] Can't connect to MySQL server on 'x.x.x.x' (13)
    Excel中时间戳转换公式及原理
    springcloud服务注册和发现
    spingboot和springcloud简记
    postgres use
    访问者模式
    uml类图详解
  • 原文地址:https://www.cnblogs.com/zq8421/p/9580990.html
Copyright © 2011-2022 走看看