Linux常用系统管理命令详解
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
效果如下图:

由于这些信息都是以日志文件的形式保存在系统中,黑客可以很容易地对内容进行篡改,所以该命令输出的信息并不能作为服务器是否被入侵的依据。
最后,谢谢你这么帅,还给我点赞和关注。
微信公众号:万猫学社
微信扫描二维码
关注后回复「电子书」
获取12本Java必读技术书籍


出处:http://www.cnblogs.com/heihaozi/
版权声明:本文遵循 CC 4.0 BY-NC-SA 版权协议,转载请附上原文出处链接和本声明。
微信扫描二维码,关注万猫学社,回复「电子书」,免费获取12本Java必读技术书籍。

浙公网安备 33010602011771号