Linux指令入门-系统工作命令和状态检测命令

暂无留言
文章目录 「隐藏」
  1. 常用系统工作命令
  2. echo
  3. date
  4. wget
  5. ps
  6. top
  7. pidof
  8. kill
  9. killall
  10. reboot
  11. poweroff
  12. 系统状态检测命令
  13. ifconfig
  14. uname
  15. uptime
  16. free
  17. who
  18.   
  19. last
  20. history

常用系统工作命令

echo

命令描述:echo命令用于在终端输出字符串或变量提取后的值。

命令格式:echo [字符串 | $变量]

命令用法示例:

  • 显示普通字符串
    <span class="hljs-title">echo</span> <span class="hljs-string">"Hello World"</span>
    1 < span class = "hljs-title" > echo < / span > < span class = "hljs-string" > "Hello World" < / span >
  • 显示变量首先在shell环境中定义一个临时变量name。
    <span class="hljs-keyword">export</span> name=<span class="hljs-string">"Tom"</span>
    1 < span class = "hljs-keyword" > export < / span > name = < span class = "hljs-string" > "Tom" < / span >

    使用echo命令将变量name的值显示到终端。

    <span class="hljs-title">echo</span> <span class="hljs-variable">$name</span>

    1 < span class = "hljs-title" > echo < / span > < span class = "hljs-variable" > $ name < / span >

    输出结果:

  • 显示结果定向至文件以下命令会将文本This is a test text.输出重定向到文件test.txt中,如果文件已存在,将会覆盖文件内容,如果不存在则创建。其中>符号表示输出重定向。
    <span class="hljs-title">echo</span> <span class="hljs-string">"This is a test text."</span> &gt; test.txt
    1 < span class = "hljs-title" > echo < / span > < span class = "hljs-string" > "This is a test text." < / span > & gt ; test . txt

    如果您希望将文本追加到文件内容最后,而不是覆盖它,请使用>>输出追加重定向符号。

  • 显示命令执行结果以下命令将会在终端显示当前的工作路径。

    <span class="hljs-built_in">echo</span> `<span class="hljs-built_in">pwd</span>`

    1 < span class = "hljs-built_in" > echo < / span > ` < span class = "hljs-built_in" > pwd < / span > `

    注意:pwd命令是用一对反引号( )包裹,而不是一对单引号('')。

    使用$(command)形式可以达到相同效果。

    <span class="hljs-built_in">echo</span> $(<span class="hljs-built_in">pwd</span>)

    1 < span class = "hljs-built_in" > echo < / span > $ ( < span class = "hljs-built_in" > pwd < / span > )

    输出结果:

date

命令描述:date命令用于显示和设置系统的时间和日期。

命令格式:date [选项] [+格式]

其中,时间格式的部分控制字符解释如下:

 
字符 说明
%a 当地时间的星期名缩写(例如: 日,代表星期日)
%A 当地时间的星期名全称 (例如:星期日)
%b 当地时间的月名缩写 (例如:一,代表一月)
%B 当地时间的月名全称 (例如:一月)
%c 当地时间的日期和时间 (例如:2005年3月3日 星期四 23:05:25)
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d 按月计的日期(例如:01)
%D 按月计的日期;等于%m/%d/%y
%F 完整日期格式,等价于 %Y-%m-%d
%j 按年计的日期(001-366)
%p 按年计的日期(001-366)
%r 当地时间下的 12 小时时钟时间 (例如:11:11:04 下午)
%R 24 小时时间的时和分,等价于 %H:%M
%s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
%T 时间,等于%H:%M:%S
%U 一年中的第几周,以周日为每星期第一天(00-53)
%x 当地时间下的日期描述 (例如:12/31/99)
%X 当地时间下的时间描述 (例如:23:13:48)
%w 一星期中的第几日(0-6),0 代表周一
%W 一星期中的第几日(0-6),0 代表周一

命令用法示例:

  • 按照默认格式查看当前系统时间
    date
    1 date

    输出结果:

  • 按照指定格式查看当前系统时间
    date <span class="hljs-string">"+<span class="hljs-variable">%Y</span>-<span class="hljs-variable">%m</span>-<span class="hljs-variable">%d</span> <span class="hljs-variable">%H</span>:<span class="hljs-variable">%M</span>:<span class="hljs-variable">%S</span>"</span>
    1 date < span class = "hljs-string" > "+<span class=" hljs - variable ">%Y</span>-<span class=" hljs - variable ">%m</span>-<span class=" hljs - variable ">%d</span> <span class=" hljs - variable ">%H</span>:<span class=" hljs - variable ">%M</span>:<span class=" hljs - variable ">%S</span>" < / span >

    输出结果:

  • 查看今天是当年中的第几天
    <span class="hljs-title">date</span> <span class="hljs-string">"+%j"</span>
    1 < span class = "hljs-title" > date < / span > < span class = "hljs-string" > "+%j" < / span >

    输出结果:

  • 将系统的当前时间设置为2020年02月20日20点20分20秒
    <span class="hljs-title">date</span> -s <span class="hljs-string">"20200220 20:20:20"</span>
    1 < span class = "hljs-title" > date < / span > - s < span class = "hljs-string" > "20200220 20:20:20" < / span >

    输出结果:

  • 校正系统时间,与网络时间同步

    a. 安装ntp校时工具
yum -y <span class="hljs-operator"><span class="hljs-keyword">install</span> ntp</span>

1 yum - y < span class = "hljs-operator" > < span class = "hljs-keyword" > install < / span > ntp < / span >

    b. 用ntpdate从时间服务器更新时间

<span class="hljs-tag">ntpdate</span> <span class="hljs-tag">time</span><span class="hljs-class">.nist</span><span class="hljs-class">.gov</span>

1 < span class = "hljs-tag" > ntpdate < / span > < span class = "hljs-tag" > time < / span > < span class = "hljs-class" > . nist < / span > < span class = "hljs-class" > . gov < / span >

    输出结果:

wget

命令描述:在终端中下载文件。

命令格式:wget [参数] 下载地址

参数说明:

 
参数 作用
-b 后台下载
-P 下载到指定目录
-t 最大重试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载

命令使用示例:

下载一张图片到路径/root/static/img/中,-p参数默认值为当前路径,如果指定路径不存在会自动创建。

wget -P /root/<span class="hljs-keyword">static</span>/img/ http:<span class="hljs-comment">//img.alicdn.com/tfs/TB1.R._t7L0gK0jSZFxXXXWHVXa-2666-1500.png</span>

1 wget - P / root / < span class = "hljs-keyword" > static < / span > / img / http : < span class = "hljs-comment" > //img.alicdn.com/tfs/TB1.R._t7L0gK0jSZFxXXXWHVXa-2666-1500.png</span>

输出结果:

ps

命令描述:ps命令用于查看系统中的进程状态。

命令格式:ps [参数]

命令参数说明:

 
参数 作用
-a 显示现行终端机下的所有程序,包括其他用户的程序
-u 以用户为主的格式来显示程序状况
-x 显示没有控制终端的进程,同时显示各个命令的具体路径
-e 列出程序时,显示每个程序所使用的环境变量
-f 显示当前所有的进程
-t 指定终端机编号,并列出属于该终端机的程序的状况

命令使用示例:

<span class="hljs-title">ps</span> -ef | grep sshd

1 < span class = "hljs-title" > ps < / span > - ef | grep sshd

输出结果:

top

命令描述:top命令动态地监视进程活动与系统负载等信息。

命令使用示例:

top

1 top

输出结果:

命令输出参数解释:

以上命令输出视图中分为两个区域,一个统计信息区,一个进程信息区。

  • 统计信息区
    • 第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
    • 第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
    • 第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
    • 第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
    • 第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量。
  • 进程信息区
     
    列名 含义
    PID 进程ID
    USER 进程所有者的用户名
    PR 进程优先级
    NI nice值。负值表示高优先级,正值表示低优先级
    VIRT 进程使用的虚拟内存总量,单位kb
    RES 进程使用的、未被换出的物理内存大小,单位kb
    SHR 共享内存大小,单位kb
    S 进程状态
    • D:不可中断的睡眠状态
    • R:正在运行
    • S:睡眠
    • T:停止
    • Z:僵尸进程
    %CPU 上次更新到现在的CPU时间占用百分比
    %MEM 进程使用的物理内存百分比
    TIME+ 进程使用的CPU时间总计,单位1/100秒
    COMMAND 命令名

按 q 键退出监控页面。

pidof

命令描述:pidof命令用于查询指定服务进程的PID值。

命令格式:pidof [服务名称]

命令参数说明:

 
参数 说明
-s 仅返回一个进程号
-c 只显示运行在root目录下的进程,这个选项只对root用户有效
-o 忽略指定进程号的进程
-x 显示由脚本开启的进程

命令使用示例:

查询出crond服务下的所有进程ID。

<span class="hljs-title">pidof</span> crond

1 < span class = "hljs-title" > pidof < / span > crond

输出结果:

kill

命令描述:kill命令用于终止指定PID的服务进程。

kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。

命令格式:kill [参数] [进程PID]

命令使用示例:

删除pid为1247的进程。

kill -<span class="hljs-number">9</span> <span class="hljs-number">1247</span>

1 kill - < span class = "hljs-number" > 9 < / span > < span class = "hljs-number" > 1247 < / span >

killall

命令描述:killall命令用于终止指定名称的服务对应的全部进程。

命令格式:killall [进程名称]

命令使用示例:

删除crond服务下的所有进程。

<span class="hljs-title">killall</span> crond

1 < span class = "hljs-title" > killall < / span > crond

reboot

命令描述:reboot命令用来重启系统。

命令格式:reboot [-n] [-w] [-d] [-f] [-i]

命令参数说明:

  • -n:保存数据后再重新启动系统。
  • -w:仅做测试,并不是真的将系统重新开机,只会把重新开机的数据写入记录文件/var/log/wtmp。
  • -d:重新启动时不把数据写入记录文件/var/tmp/wtmp。
  • -f:强制重新开机,不调用shutdown指令的功能。
  • -i:关闭网络设置之后再重新启动系统。

命令使用示例:

reboot

1 reboot

poweroff

命令描述:poweroff命令用来关闭系统。

命令使用示例:

poweroff

1 poweroff

系统状态检测命令

ifconfig

命令描述:ifconfig命令用于获取网卡配置与网络状态等信息。

命令示例:

命令输出说明:

  • 第一部分的第一行显示网卡状态信息。
    • eth0表示第一块网卡。
    • UP代表网卡开启状态。
    • RUNNING代表网卡的网线被接上。
    • MULTICAST表示支持组播。
  • 第二行显示网卡的网络信息。
    • inet(IP地址):172.16.132.195。
    • broadcast(广播地址):172.16.143.255。
    • netmask(掩码地址):255.255.240.0。
  • RX表示接收数据包的情况,TX表示发送数据包的情况。
  • lo表示主机的回环网卡,是一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现。与回环地址(127.0.0.0/8 或 ::1/128)不同,回环网卡对系统显示为一块硬件。任何发送到该网卡上的数据都将立刻被同一网卡接收到。

uname

命令描述:uname命令用于查看系统内核与系统版本等信息。

命令语法:uname [-amnrsv][--help][--version]

命令使用示例:

  • 显示系统信息。
    <span class="hljs-title">uname</span> -a
    1 < span class = "hljs-title" > uname < / span > - a

    命令输出结果:

  • 显示当前系统的硬件架构。

    <span class="hljs-title">uname</span> -i

    1 < span class = "hljs-title" > uname < / span > - i

    命令输出结果:

  • 显示操作系统发行编号。

    <span class="hljs-title">uname</span> -r

    1 < span class = "hljs-title" > uname < / span > - r

    命令输出结果:

  • 显示操作系统名称。

    <span class="hljs-title">uname</span> -s

    1 < span class = "hljs-title" > uname < / span > - s

    命令输出结果:

  • 显示主机名称。

    <span class="hljs-title">uname</span> -n

    1 < span class = "hljs-title" > uname < / span > - n

    命令输出结果:

uptime

命令描述:uptime 用于查看系统的负载信息。

命令使用示例:

命令输出说明:

 
负载信息 命令输出值
当前服务器时间 14:20:27
当前服务器运行时长 2 min
当前用户数 2 users
当前负载情况 load average: 0.03, 0.04, 0.02(分别取1min,5min,15min的均值)

free

命令描述:free用于显示当前系统中内存的使用量信息。

命令语法:free [-bkmotV][-s <间隔秒数>]

命令参数说明:

 
参数 说明
-b 以Byte为单位显示内存使用情况
-k 以KB为单位显示内存使用情况
-m 以MB为单位显示内存使用情况
-h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。

命令使用示例:

命令输出说明:

 
参数 说明
total 物理内存总数
used 已经使用的内存数
free 空间的内存数
share 多个进程共享的内存总额
buff/cache 应用使用内存数
available 可用的内存数
Swap 虚拟内存(阿里云ECS服务器默认不开启虚拟内存)

who

命令描述:who 命令显示关于当前在本地系统上的所有用户的信息。

命令使用示例:

  • 显示当前登录系统的用户
  • 显示用户登录来源
  • 只显示当前用户
  • 精简模式显示

  

last

命令描述: last 命令用于显示用户最近登录信息。

命令使用示例:

由于这些信息都是以日志文件的形式保存在系统中,黑客可以很容易地对内容进行篡改,所以该命令输出的信息并不能作为服务器是否被入侵的依据。

history

命令描述:history命令用于显示历史执行过的命令。

bash默认记录1000条执行过的历史命令,被记录在~/.bash_history文件中。

命令使用示例:

  • 显示最新10条执行过的命令。
  • 清除历史记录。

    history -c

    1 history - c

《Linux指令入门-系统工作命令和状态检测命令》留言数:0

发表留言