ps
ps命令用于查看系统中的进程状态。
命令格式:ps [参数]
命令参数说明:
参数 | 作用 |
---|---|
-a | 显示现行终端机下的所有程序,包括其他用户的程序 |
-u | 以用户为主的格式来显示程序状况 |
-x | 显示没有控制终端的进程,同时显示各个命令的具体路径 |
-e | 列出程序时,显示每个程序所使用的环境变量 |
-f | 显示当前所有的进程 |
-t | 指定终端机编号,并列出属于该终端机的程序的状况 |
使用示例:
ps -ef | grep sshd
效果如下图:
pidof
pidof命令用于查询指定服务进程的PID值。
命令格式:pidof [服务名称]
参数说明:
参数 | 说明 |
---|---|
-s | 仅返回一个进程号 |
-c | 只显示运行在root目录下的进程,这个选项只对root用户有效 |
-o | 忽略指定进程号的进程 |
-x | 显示由脚本开启的进程 |
使用示例:
查询出sshd服务下的所有进程ID。
pidof sshd
效果如下图:
kill
kill命令用于终止指定PID的服务进程。
命令格式:kill [参数] [进程PID]
kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。
使用示例:
删除pid为1001的进程。
kill -9 1001
效果如下图:
killall
killall命令用于终止指定名称的服务对应的全部进程。
命令格式:killall [进程名称]
使用示例:
删除crond服务下的所有进程。
killall crond
date
date命令用于显示和设置系统的时间和日期。
命令格式:date [选项] [+格式]
其中,时间格式的部分控制字符如下:
字符 | 说明 |
---|---|
%a | 当地时间的星期名缩写(例如: 日,代表星期日) |
%A | 当地时间的星期名全称 (例如:星期日) |
%b | 当地时间的月名缩写 (例如:一,代表一月) |
%B | 当地时间的月名全称 (例如:一月) |
%c | 当地时间的日期和时间 (例如:2021年1月27日 星期四 03:05:15) |
%C | 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20) |
%d | 按月计的日期(例如:01) |
%D | 按月计的日期;等于%m/%d/%y |
%F | 完整日期格式,等价于 %Y-%m-%d |
%H | 小时 (00..23) |
%I | 小时 (01..12) |
%j | 按年计的日期(001-366) |
%m | 月份 (01..12) |
%M | 分钟 (00..59) |
%p | 当地时间的AM或PM |
%r | 当地时间下的 12 小时时钟时间 (例如:11:11:04 下午) |
%R | 24 小时时间的时和分,等价于 %H:%M |
%s | 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 |
%S | 秒 (00..60) |
%T | 时间,等于%H:%M:%S |
%U | 一年中的第几周,以周日为每星期第一天(00-53) |
%x | 当地时间下的日期描述 (例如:12/31/99) |
%X | 当地时间下的时间描述 (例如:23:13:48) |
%w | 一星期中的第几日(0-6),0 代表周一 |
%W | 一年中的第几周,以周一为每星期第一天(00-53) |
使用示例:
- 按照默认格式查看当前系统时间
date
效果如下图:
- 按照指定格式查看当前系统时间
date "+%F %H:%M:%S"
效果如下图:
- 查看今天是当年中的第几天
date "+%j"
效果如下图:
- 将系统的当前时间设置为2020年09月15日22点30分10秒
date -s "20200915 22:30:10"
效果如下图:
- 校正系统时间,与网络时间同步
安装ntp校时工具
yum -y install ntp
用ntpdate从时间服务器更新时间
ntpdate time.nist.gov
效果如下图:
echo
echo命令用于在终端输出字符串或变量提取后的值。
命令格式:echo [字符串 | $变量]
使用示例:
- 显示普通字符串
echo '万猫学社'
效果如下图:
- 显示变量
首先在shell环境中定义一个临时变量name。
export name='万猫学社'
使用echo命令将变量name的值显示到终端。
echo $name
效果如下图:
- 显示结果定向至文件
echo "万猫学社" > name.txt
输出重定向到文件name.txt中,如果文件已存在,将会覆盖文件内容,如果不存在则创建。其中>
符号表示输出重定向。
效果如下图:
也可以使用>>
输出追加重定向符号,将文本追加到文件内容最后,而不是覆盖。
- 显示命令执行结果
以下命令将会在终端显示今天是当年中的第几天。
echo `date "+%j"`
使用$(command)
形式可以达到相同效果。
echo $(date "+%j")
效果如下图:
uname
uname命令用于查看系统内核与系统版本等信息。
命令语法:uname [-amnrsv][--help][--version]
使用示例:
- 显示系统信息
uname -a
效果如下图:
- 显示当前系统的硬件架构。
uname -i
效果如下图:
- 显示操作系统发行编号。
uname -r
效果如下图:
- 显示操作系统名称。
uname -s
效果如下图:
- 显示主机名称。
uname -n
效果如下图:
history
history命令用于显示历史执行过的命令。
bash默认记录1000条执行过的历史命令,被记录在~/.bash_history文件中。
使用示例:
- 显示最新10条执行过的命令。
history 10
效果如下图:
- 清除历史记录。
history -c
效果如下图:
who
who 命令显示关于当前在本地系统上的所有用户的信息。
使用示例:
- 显示当前登录系统的用户
who
效果如下图:
- 显示用户登录来源
who -l -H
效果如下图:
- 只显示当前用户
who -m -H
效果如下图:
- 精简模式显示
who -q
效果如下图:
last
last 命令用于显示用户最近登录信息。
使用示例:
显示用户最近登录信息。
last
效果如下图:
由于这些信息都是以日志文件的形式保存在系统中,黑客可以很容易地对内容进行篡改,所以该命令输出的信息并不能作为服务器是否被入侵的依据。
最后,谢谢你这么帅,还给我点赞和关注。