--- 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 ```