From fd3b5e90cc3a2f2da2f43fb758a52ad705fbb674 Mon Sep 17 00:00:00 2001 From: 7Wate Date: Thu, 24 Feb 2022 20:15:02 +0800 Subject: [PATCH] =?UTF-8?q?Shell=EF=BC=9A=E7=B3=BB=E7=BB=9F=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E5=B8=B8=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/运维/Shell/系统工作常用.md | 252 ++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 docs/运维/Shell/系统工作常用.md diff --git a/docs/运维/Shell/系统工作常用.md b/docs/运维/Shell/系统工作常用.md new file mode 100644 index 00000000..04c5d808 --- /dev/null +++ b/docs/运维/Shell/系统工作常用.md @@ -0,0 +1,252 @@ +--- +id: 系统工作常用 +title: 系统工作常用 +sidebar_position: 2 +data: 2022年2月24日 +--- +## echo + +在终端设备上输出字符串或变量提取后的值,语法格式: + +```shell +echo [字符串] [$变量] +``` + +示例: + +```shell +echo HelloLinux +# 输出字符串 +# HelloLinux + +echo $SHELL +# 输出 变量 +# /bin/bash +``` + +## date + +用于显示或设置系统的时间与日期,语法格式: + +```shell +date [+指定的格式] +``` + +date 命令中的参数及其作用 + +| 参数 | 作用 | +| ---- | -------------------------------- | +| %S | 秒(00~59) | +| %M | 分钟(00~59) | +| %H | 小时(00~23) | +| %I | 小时(00~12) | +| %m | 月份(1~12) | +| %p | 显示出AM或PM | +| %a | 缩写的工作日名称(例如:Sun) | +| %A | 完整的工作日名称(例如:Sunday) | +| %b | 缩写的月份名称(例如:Jan) | +| %B | 完整的月份名称(例如:January) | +| %q | 季度(1~4) | +| %y | 简写年份(例如:20) | +| %Y | 完整年份(例如:2020) | +| %d | 本月中的第几天 | +| %j | 今年中的第几天 | +| %n | 换行符(相当于按下回车键) | +| %t | 跳格(相当于按下Tab键) | + +示例: + +```shell +date +# Sat Sep 5 09:13:45 CST 2020 + +date "+%Y-%m-%d %H:%M:%S" +# 2020-09-05 09:14:35 + +date -s "20201101 8:30:00" +# Sun Nov 1 08:30:00 CST 2020 + +date "+%j" +# 306 +``` + +## timedatectl + +用于设置系统的时间,英文全称为“time date control”,语法格式: + +``` +timedatectl [参数] +``` + +timedatectl 命令中的参数以及作用 + +| 参数 | 作用 | +| -------------- | ------------ | +| status | 显示状态信息 | +| list-timezones | 列出已知时区 | +| set-time | 设置系统时间 | +| set-timezone | 设置生效时区 | + +示例: + +```shell +timedatectl status +# 查看系统时区 +# Local time: Sun 2020-09-06 19:51:22 CST +# Universal time: Sun 2020-09-06 11:51:22 UTC +# RTC time: Sun 2020-09-06 19:51:21 +# Time zone: Asia/Shanghai (CST, +0800) +#System clock synchronized: no +# NTP service: inactive +# RTC in local TZ: no + +# 手动设置时区上海 +timedatectl set-timezone Asia/Shanghai + +# 手动修改系统日期 +timedatectl set-time 2021-05-18 + +# 修改时间 +timedatectl set-time 9:30 +``` + +## reboot + +重启系统 + +## poweroff + +关闭系统 + +## wget + +wget 命令用于在终端命令行中下载网络文件,英文全称为“web get”,语法格式: + +``` +wget [参数] 网址 +``` + + wget命令中的参数以及作用 + +| 参数 | 作用 | +| ---- | ------------------------------------ | +| -b | 后台下载模式 | +| -P | 下载到指定目录 | +| -t | 最大尝试次数 | +| -c | 断点续传 | +| -p | 下载页面内所有资源,包括图片、视频等 | +| -r | 递归下载 | + +示例: + +``` +wget www.7wate.com + +# Resolving www.7wate.com (www.7wate.com)... 182.118.11.21 +# Connecting to www.7wate.com (www.7wate.com)|182.118.11.21|:80... connected. +# HTTP request sent, awaiting response... 200 OK +``` + +## ps + +ps 命令用于查看系统中的进程状态,英文全称为“processes”,语法格式: + +``` +ps [参数] +``` + +ps 命令中的参数以及作用 + +| 参数 | 作用 | +| ---- | ---------------------------------- | +| -a | 显示所有进程(包括其他用户的进程) | +| -u | 用户以及其他详细信息 | +| -x | 显示没有控制终端的进程 | + +- **R(运行)**:进程正在运行或在运行队列中等待。 + +- **S(中断)**:进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。 + +- **D(不可中断)**:进程不响应系统异步信号,即便用kill命令也不能将其中断。 + +- **Z(僵死)**:进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4() 系统函数后将进程释放。 + +- **T(停止)**:进程收到停止信号后停止运行。 + +除了上面5种常见的进程状态,还有可能是高优先级(<)、低优先级(N)、被锁进内存(L)、包含子进程(s)以及多线程(l)这5种补充形式。 + +示例 + +| USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND | +| ------------ | -------- | ------------ | ---------- | ------------------------ | -------------------------- | -------- | -------- | ------------ | ----------------- | -------------- | +| 进程的所有者 | 进程ID号 | 运算器占用率 | 内存占用率 | 虚拟内存使用量(单位是KB) | 占用的固定内存量(单位是KB) | 所在终端 | 进程状态 | 被启动的时间 | 实际使用CPU的时间 | 命令名称与参数 | + +## pstree + +pstree 命令用于以**树状图的形式展示**进程之间的关系,英文全称为“process tree”。 + +## top + +top 命令用于**动态地监视进程活动及系统负载**等信息。 + +## nice + +nice命令用于调整进程的优先级,语法格式: + +```shell +nice 优先级数字 服务名称 +``` + +示例: + +```shell +nice -n -20 bash +``` + +## pidof + +pidof 命令用于查询某个指定服务进程的 PID 号码值,语法格式: + +``` +pidof [参数] 服务名称 +``` + +每个进程的进程号码值(PID)是唯一的,可以用于区分不同的进程。 + +```shell +pidof sshd +# 2156 +``` + +## kill + +kill 命令用于终止某个指定 PID 值的服务进程,语法格式: + +```shell +kill [参数] 进程的PID +``` + +示例: + +```shell +kill 2156 +kill -9 2156 +# 参数-9,表示最高级别地强制杀死进程 +``` + +## killall + +killall 命令用于终止某个指定名称的服务所对应的全部进程,语法格式: + +```shell +killall [参数] 服务名称 +``` + +示例: + +```shell +pidof httpd +# 13581 13580 13579 13578 13577 13576 +killall httpd +pidof httpd +``` \ No newline at end of file