RHEL常用系统工作命令

简介: 1.echo命令2.date命令3.timedatectl命令4.reboot命令5.poweroff命令6.wget命令7.ps命令8.pstree命令9.top命令10.nice命令11.pidof命令12.kill命令13.killall命令

1.echo命令

echo 命令用于在终端设备上输出字符串或变量提取后的值,语法格式为“echo [字符串]  [$变量]”。

这是 Linux 系统中最常用的几个命令之一,它的操作却非常简单,执行“echo 字符串” 或“echo $变量”就行,其中$符号的意思是提取变量的实际值,以便后续的输出操作。

例如,把指定字符串“Hello”输出到终端屏幕的命令为:

[root@rhel-8 ~]# echo Hello# 该命令会在终端屏幕上显示如下信息:Hello

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

[root@rhel-8 ~]# echo $SHELL/bin/bash

2.date命令

date 命令用于显示或设置系统的时间与日期,语法格式为“date [+指定的格式]”。

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

image.png

image.png

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

[root@rhel-8 ~]# dateThu Nov 1013:44:21 CST 2022

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

[root@rhel-8 ~]# date "+%Y-%m-%d %H:%M:%S"2022-11-1013:47:41

将系统的当前时间设置为 2022 年 11 月 10 日 13 点 49 分的 date 命令如下所示:

[root@rhel-8 ~]# date -s "20221110 13:49:00"Thu Nov 1013:49:00 CST 2022

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

[root@rhel-8 ~]# dateThu Nov 1013:49:32 CST 2022

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

[root@rhel-8 ~]# date "+%j"314

3.timedatectl命令

timedatectl 命令用于设置系统的时间,英文全称为“time date control”,语法格式为“timedatectl [参数]”。

发现电脑时间跟实际时间不符?如果只差几分钟的话,我们可以直接调整。但是,如果 差几个小时,那么除了调整当前的时间,还有必要检查一下时区了。timedatectl 命令中常见的 参数格式及作用如表

image.png

image.png

查看系统时间与时区的方法如下:

[root@rhel-8 ~]# timedatectl status               Local time: Thu 2022-11-1014:00:27 CST
           Universal time: Thu 2022-11-1006:00:27 UTC
                 RTC time: Thu 2022-11-1006:00:45
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no

如果您查到的时区不是上海(Asia/Shanghai),可以手动进行设置:

[root@rhel-8 ~]# timedatectl set-timezone Asia/Shanghai

如果时间还是不正确,可再手动修改系统日期:

[root@rhel-8 ~]# timedatectl set-time 2022-11-10

而如果想修改时间的话,也很简单:

[root@rhel-8 ~]# timedatectl set-time 14:03

4.reboot命令

reboot 命令用于重启系统,输入该命令后按回车键执行即可。 由于重启计算机这种操作会涉及硬件资源的管理权限,因此最好是以 root 管理员的身份 来重启,普通用户在执行该命令时可能会被拒绝。reboot 的命令如下:

[root@rhel-8 ~]# reboot

5.poweroff命令

poweroff 命令用于关闭系统,输入该命令后按回车键执行即可。 与上面相同,该命令也会涉及硬件资源的管理权限,因此最好还是以 root 管理员的身份 来关闭电脑,其命令如下:

[root@rhel-8 ~]# poweroff

6.wget命令

wget 命令用于在终端命令行中下载网络文件,英文全称为“web get”,语法格式为“wget  [参数] 网址”。

借助于 wget 命令,可以无须打开浏览器,直接在命令行界面中就能下载文件。

image.png

尝试使用 wget 命令从github下载一个文件 。执行该命令后的下载效果如下:

[root@rhel-8 ~]# wget https://github.com/docker-library/hello-world/blob/master/hello.c--2022-11-1014:13:40--  https://github.com/docker-library/hello-world/blob/master/hello.c
Resolving github.com (github.com)... 20.205.243.166
Connecting to github.com (github.com)|20.205.243.166|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘hello.c’
hello.c                        [  <=>                                    ] 164.51K   597KB/s    in0.3s
2022-11-1014:13:41 (597 KB/s) - ‘hello.c’ saved [168455]
[root@rhel-8 ~]# lsanaconda-ks.cfg  hello.c  initial-setup-ks.cfg

接下来,使用 wget 命令递归下载 www.github.com 网站内的所有页面数据以及文件, 下载完后会自动保存到当前路径下一个名为 github.com 的目录中。该命令的执行结 果如下:

[root@rhel-8 ~]# wget -r -p https://github.com--2022-11-1014:14:38--  https://github.com/
Resolving github.com (github.com)... 20.205.243.166
Connecting to github.com (github.com)|20.205.243.166|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘github.com/index.html’
[root@rhel-8 ~]# lsanaconda-ks.cfg  github.com  hello.c  initial-setup-ks.cfg

7.ps命令

ps 命令用于查看系统中的进程状态,英文全称为“processes”,语法格式为“ps [参 数]”。

image.png

Linux 系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。 在 Linux 系统中有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各 自含义如下所示。

➢ R(运行):进程正在运行或在运行队列中等待。

➢ S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该  状态。

➢ D(不可中断):进程不响应系统异步信号,即便用 kill 命令也不能将其中断。

➢ Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数 后将进程释放。

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

除了上面 5 种常见的进程状态,还有可能是高优先级(<)、低优先级(N)、被锁进内存 (L)、包含子进程(s)以及多线程(l)这 5 种补充形式。

当执行 ps aux 命令后通常会看到如表 2-8 所示的进程状态。表 2-8 只是列举了部分输出 值,而且正常的输出值中不包括中文注释。

image.png

8.pstree命令

pstree 命令用于以树状图的形式展示进程之间的关系,英文全称为“process tree”,输入 该命令后按回车键执行即可。

前文提到,在执行 ps 命令后,产生的信息量太大又没有规律,很难让人再想看第二 眼。如果想让进程以树状图的形式,有层次地展示出进程之间的关系,则可以使用 pstree 命令:

image.png

9.top命令

top 命令用于动态地监视进程活动及系统负载等信息,输入该命令后按回车键执行即可。

前面介绍的命令都是静态地查看系统状态,不能实时滚动最新数据,而 top 命令能够动 态地查看系统状态,因此完全可以将它看作是 Linux 中“强化版的 Windows 任务管理器”。top 是相当好用的性能分析工具

image.png

top 命令执行结果的前 5 行为系统整体的统计信息,其所代表的含义如下。

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

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

第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源 百分比、空闲的资源百分比等。其中数据均为 CPU 数据并以百分比格式显示,例如 “99.9 id”意味着有 99.9%的 CPU 处理器资源处于空闲。

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

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

10.nice命令

nice 命令用于调整进程的优先级,语法格式为“nice 优先级数字 服务名称”。

在 top 命令输出的结果中,PR 和 NI 值代表的是进程的优先级,数字越低(取值范围是 -20~19),优先级越高。在日常的生产工作中,可以将一些不重要进程的优先级调低,让紧 迫的服务更多地利用 CPU 和内存资源,以达到合理分配系统资源的目的。例如将 bash 服务 的优先级调整到最高:

[root@rhel-8 ~]# nice -n -20 bash

11.pidof命令

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

每个进程的进程号码值(PID)是唯一的,可以用于区分不同的进程。例如,执行如下命 令来查询本机上 top 服务程序的 PID:

[root@rhel-8 ~]# pidof top2535

12.kill命令

kill 命令用于终止某个指定 PID 值的服务进程,语法格式为“kill [参数] 进程的 PID”。 接下来,使用 kill 命令把上面用 pidof 命令查询到的 PID 所代表的进程终止掉,其命令如 下所示。这种操作的效果等同于强制停止 top 服务。

[root@rhel-8 ~]# kill 2535

但有时系统会提示进程无法被终止,此时可以加参数-9,表示最高级别地强制杀死进程:

[root@rhel-8 ~]# kill -9 2535

13.killall命令

killall 命令用于终止某个指定名称的服务所对应的全部进程,语法格式为“killall [参数] 服务名称”。

通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果用 kill 命令逐 个去结束这些进程会比较麻烦,此时可以使用 killall 命令来批量结束某个服务程序带有的全部进程。下面以 httpd 服务程序为例,来结束其全部进程。

[root@rhel-8 ~]# systemctl start httpd[root@rhel-8 ~]# pidof httpd2526025259252582525724520[root@rhel-8 ~]# killall httpd[root@rhel-8 ~]# pidof httpd[root@rhel-8 ~]#

如果在系统终端中执行一个命令后想立即停止它,可以同时按下 Ctrl + C 组合键(生产 环境中比较常用的一个组合键),这样将立即终止该命令的进程。或者,如果有些命令在执行 时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加一个 &符号,这样命令将进入系统后台来执行。

相关文章
|
消息中间件 关系型数据库 Kafka
flink cdc 数据问题之数据丢失如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
SQL 前端开发 Java
SpringMVC系列(四)之SpringMVC实现文件上传和下载
SpringMVC系列(四)之SpringMVC实现文件上传和下载
|
10月前
|
数据采集 JSON API
唯品会商品列表数据接口指南(唯品会 API 系列)
唯品会商品列表数据接口助力电商数据采集与分析,支持按类别、价格、品牌等条件筛选商品。通过HTTP GET/POST请求,开发者可获取商品基本信息、价格、品牌及销量等数据,适用于业务拓展和竞品研究。Python示例代码展示了如何使用`requests`库调用该接口,设置参数并处理响应。
|
编解码 自然语言处理 数据可视化
阿里云百炼产品月刊【2024年10月】
阿里云百炼产品月刊【2024年10月】上线,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。本月推出开源图片解析模型qwen2-vl-7b-instruct和qwen2-vl-2b-instruct,提升图片理解能力;主流模型qwen-max、qwen-turbo和qwen-plus升级至快照0919版本,支持8千字长文本输出;新增应用观测功能,实时查看调用次数和应用时延。此外,还发布了《阿里云百炼产品动态》电子书以及阿里云百炼产品最新规划电子刊,汇集最新产品动态和实践案例。
1098 0
|
JavaScript
Vue 打包后打开为空白页面 并且控制台报错‘Failed to load resource: net::ERR_FILE_NOT_FOUND’
Vue 打包后打开为空白页面 并且控制台报错‘Failed to load resource: net::ERR_FILE_NOT_FOUND’
Vue 打包后打开为空白页面 并且控制台报错‘Failed to load resource: net::ERR_FILE_NOT_FOUND’
|
10月前
|
编解码 人工智能 缓存
通义万相上新,登顶!
通义万相上新,登顶!
384 0
|
存储 Kubernetes Docker
【赵渝强老师】Kubernetes中Pod的基础容器
Pod 是 Kubernetes 中的基本单位,代表集群上运行的一个进程。它由一个或多个容器组成,包括业务容器、基础容器、初始化容器和临时容器。基础容器负责维护 Pod 的网络空间,对用户透明。文中附有图片和视频讲解,详细介绍了 Pod 的组成结构及其在网络配置中的作用。
245 1
【赵渝强老师】Kubernetes中Pod的基础容器
|
API
Vite 中环境变量的配置方法
【10月更文挑战第10天】 Vite 中环境变量的配置方法
1401 2
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
742 6
|
JSON 缓存 监控
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
Viper 是一个强大的 Go 语言配置管理库,适用于各类应用,包括 Twelve-Factor Apps。相比仅支持 `.ini` 格式的 `go-ini`,Viper 支持更多配置格式如 JSON、TOML、YAML
489 0
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境

热门文章

最新文章