linux系统工作常用命令
1.echo
在中断输出字符串或变量提取后的值
echo [字符串|$变量]
eg: echo $SHELL
输出: /bin/bash
2.date
用于显示或者设置系统的时间或日期,在date命令中输入以 “+” 号开头的参数,即可按照指定格式来输出系统的时间或日期。(应用场景:备份文件时将备份日期为文件名命名。)
date [选项] [+指定的格式]
参数 | 作用 |
---|---|
%H | 小时(00~23) |
%I | 小时(00~12) |
%M | 分钟 |
%S | 秒 |
%j | 今年中的第几天 |
%Y | 年 |
%m | 月份 |
%d | 日 |
eg:
- 默认格式查看系统时间: date
- 按照“年-月-日 小时:分钟:秒” 格式查看当前系统时间:
date “+%Y-%m-%d %H:%M:%S” - 设置系统时间:
date -s “20190101 23:47:00” - 查看今天是当年中的第几天:
date “+%j”
3.reboot poweroff
reboot命令用于重启系统
poweroff关闭系统
这两个命令默认只有root管理员才可以使用
reboot
poweroff
4. ps
ps命令用于查看系统中的进程状态,经常与管道配合使用来抓取与某个指定服务进程相对应的PID号码。
ps[参数]
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
-f | 显示UID,PPIP,C与STIME栏位。 |
Linux系统中有5种常见的进程状态,分别为运行,中断、不可中断、僵死与停止
- R( run:运行):进程正在运行或在运行列队中等待。
- S(stop:中断):进程处于休眠中,当某个条件形成或者接受到信号时,则脱离该状态。
- D(不可中断):进程不响应系统异步信号,使用kill也不能中断。
- Z(僵死):进程已经终止,但进程描述符依然存在,知道父进程调用wait4()系统函数后将进程释放。
- T(停止):进程收到停止信号后停止运行。
相关名称释义:
名称 | 释义 |
---|---|
UID | 程序被该 UID 所拥有 |
PID | 就是这个程序的 ID |
PPID | 则是其上级父程序的ID |
C | CPU 使用的资源百分比 |
STIME | 系统启动时间 |
TTY | 登入者的终端机位置 |
CMD | 所下达的指令为何 |
TIME | 使用掉的 CPU 时间。 |
eg: ps aux
在Linux系统中的命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并;短格式和短格式之间可以合并,合并后仅保留一个 - (减号)即可。又因为ps命令可允许参数不加 - , 所以可以写成:ps aux 的样式。
5. top
top命令用于动态监视进程活动与系统负载等信息。
可以动态地查看系统运维状态,完全将它看做Linux中强化版的Windows任务管理器。
详如下图
第一行:
第二行:
第三行:
6. pidof
pidof命令用于查询某个指定服务进程的PID值,格式为:
pidof [参数] [服务名称]
每个进程的进程号码值(PID)是唯一的,因此可以通过PID来 区分不同的进程。例如,可以使用如下命令:
pidof sshd
显示如下:
注: 在linux系统操作中,经常需要连接其他的主机,连接其他主机的服务是openssh-server,它的功能是让远程主机可以通过网络访问sshd服务,开始一个安全shell。
7. kill 、killall
- kill 命令用于终止某个指定 PID 的服务进程,格式为:
kill [参数] [进程 PID]
1、kill -9 id:一般不加参数kill是使用15来杀,这相当于正常停止进程,停止进程的时候会释放进程所占用的资源;他们的区别就好比电脑关机中的软关机(通过“开始”菜单选择“关机”)与硬关机(直接切断电源),虽然都能关机,但是程序所作的处理是不一样的。
2、kill - 9 表示强制杀死该进程;而 kill 则有局限性,例如后台进程,守护进程等;
3、执行kill命令,系统会发送一个SIGTERM信号给对应的程序。SIGTERM多半是会被阻塞的。kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程
- killall
killall 命令用于终止某个指定名称的服务所对应的全部进程
killall [参数] [服务名称]
复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这
些进程会比较麻烦,此时可以使用 killall 命令来批量结束某个服务程序带有的全部进程。
查看所有服务状态:service --status-all
注:如果在系统中断中执行一个命令后想立即停止它,可以按ctrl+C
组合键(生产环境比较常用的快捷键) ,可立即终止进程。 如果在执行命令时在末尾添加一个&符号,这样命令将进入系统后台来执行。