Linux操作系统基础学习笔记(11)
前言
本期主要学习Linux系统的状态管理
查看系统信息,日期时间(date、cal、uptime、w),系统版本
进程管理,运行程序(./、后台运行nohup ./)、查看进程(top、ps、pstree)、服务管理
内存使用情况free
磁盘使用情况du、sar
定时任务crontable及定时任务文件
11、Linux系统状态管理
(1)查看系统信息
[root@localhost ~]# uptime
17:41:09 up 2 days, 30 min, 2 users, load average: 0.08, 0.03, 0.05
[root@localhost ~]# w
17:42:03 up 2 days, 31 min, 2 users, load average: 0.03, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.20.1 Tue17 3.00s 0.54s 0.06s w
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
(2)进程管理
运行程序
后台运行后会输出到nohup.out中
nohup
是一个在 Unix 和 Linux 系统中常用的命令,全称为 “no hang up”(不挂起)。它的主要作用是让命令在用户退出登录后继续在后台运行。以下是关于 nohup
的详细解释:
a. 基本用法:
nohup 命令 [参数] &
末尾的 &
符号使命令在后台运行。
b. 主要功能:
- 使命令在用户注销或终端关闭后继续运行
- 将命令的输出重定向到 nohup.out 文件(默认情况下)
c. 输出重定向:
- 默认输出到当前目录的 nohup.out 文件
- 可以自定义输出文件:
nohup 命令 > 自定义文件名 &
- 同时重定向标准输出和错误输出:
nohup 命令 > 文件名 2>&1 &
d. 使用示例:
- 运行一个 Python 脚本:
nohup python script.py &
- 运行一个长时间的命令:
nohup long_running_command &
e. 查看 nohup 进程:
- 使用
ps aux | grep 命令名
查看进程状态 - 使用
jobs
命令查看当前终端的后台任务
f. 终止 nohup 进程:
- 使用
kill PID
命令,其中 PID 是进程 ID
g. 注意事项:
- nohup 不会自动将进程变为守护进程
- 如果不重定向输出,nohup.out 文件可能会变得非常大
- nohup 不会影响 nice 值(进程优先级)
h. 常见用途:
- 运行需要长时间执行的脚本或命令
- 在远程 SSH 会话中启动不受会话终止影响的进程
- 执行系统维护任务
i. 相关命令:
screen
或tmux
:提供更复杂的终端会话管理disown
:从当前 shell 中分离一个已经运行的作业
j. 实用技巧:
- 使用 `nohup command > /dev/null 2>&1 &` 可以完全抑制输出
- 可以结合 `nice` 命令调整进程优先级:`nohup nice -n 19 command &`
查看进程top
ps
全拼:process status
ps -ef
ps -aux
pstree进程树
pstree -p 会在后面加上进程号
pstree mysql 后面是用户名
pstree -p | grep ssh
服务管理
kill
基本用法:
kill [选项] PID
其中 PID 是要终止的进程 ID。
(3)内存使用情况
Swap在Linux中叫交换区,在Windows中叫虚拟内存
(4)磁盘的使用情况
综合命令sar
(5)定时任务
Windows中叫任务计划
工具:crontab执行时间计算 - 在线工具 (tool.lu)
[root@localhost /]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
crontable命令
定时任务文件(按用户划分)
下期
12~13、Linux安全加固和Windows命令