1、用户相关的命令
# 创建新用户
adduser <username>
# 将用户添加到sudo组中
usermod -aG sudo <username>
# 删除名为ubuntu的用户,同时删除其主目录
userdel -r ubuntu
# 检查是否成功删除ubuntu用户
grep ubuntu /etc/passwd
# 使用 gpasswd 命令从 sudo 组中移除 jiakai 用户
sudo gpasswd -d jiakai sudo
# 或者
# 使用 deluser 命令从 sudo 组中移除 jiakai 用户
sudo deluser jiakai sudo
2、排错技巧
# 运行 my_program 程序
# 将标准错误(stderr, 文件描述符 2)重定向到标准输出(stdout, 文件描述符 1)
# 使用管道符将混合了标准输出和标准错误的输出传递给 'less' 命令,以便逐页查看
./my_program 2>&1 | less
3、POSIX和POSIX Shell是什么?
4、nohup搭配&符号,实现关闭终端,任务继续执行
5、canonical和ubuntu之间的关系是什么?
6、ps的相关命令学习
# ps aux
# a: 显示所有进程(包括其他用户的进程)
# u: 以用户为中心的格式显示进程详情
# x: 显示没有控制终端的进程(例如后台进程)
ps aux
# ps -lA
# l: 长格式显示,这会显示更多的进程详情
# A: 显示系统上的所有进程
ps -lA
# ps -l
# l: 同上,长格式显示
# 只显示当前用户在当前终端下运行的进程的详细信息
ps -l
7、pstree命令
# pstree
# 用树状图显示进程结构
# 默认情况下,它会列出当前系统上的所有进程的树状结构
# 它提供了一个直观的方式来查看进程之间的父子关系
pstree
8、kill命令的信号机制
信号值 | 名称 | 描述 |
---|---|---|
1 | SIGHUP | 挂起进程 |
2 | SIGINT | 中断进程(例如,大多数终端中使用Ctrl+C ) |
3 | SIGQUIT | 退出进程并生成核心转储 |
9 | SIGKILL | 强制终止进程(不可被进程捕获、阻塞或忽略) |
15 | SIGTERM | 请求进程终止,但进程可以捕获此信号并进行清理后再退出 |
17 | SIGSTOP | 停止(暂停)进程,不可捕获、阻塞或忽略 |
18 | SIGCONT | 如果进程已停止,使其继续运行 |
19 | SIGTSTP | 停止进程,可以被进程捕获、阻塞或忽略(例如,Ctrl+Z ) |
信号值 | 用法 | 示例 |
---|---|---|
1 | kill -HUP [进程ID] | kill -HUP 12345 |
2 | kill -INT [进程ID] | kill -INT 12345 或 kill -2 12345 |
3 | kill -QUIT [进程ID] | kill -QUIT 12345 |
9 | kill -KILL [进程ID] | kill -KILL 12345 或 kill -9 12345 |
15 | kill -TERM [进程ID] | kill -TERM 12345 或 kill -15 12345 |
17 | kill -STOP [进程ID] | kill -STOP 12345 |
18 | kill -CONT [进程ID] | kill -CONT 12345 |
19 | kill -TSTP [进程ID] | kill -TSTP 12345 |
killall命令用于根据进程的名称来发送信号,而不是进程ID。这在需要终止所有同名的进程时特别有用。以下是killall搭配上述信号的用法及示例:
信号值 | 用法 | 示例 |
---|---|---|
1 | killall -HUP [进程名] | killall -HUP nginx |
2 | killall -INT [进程名] | killall -INT nginx |
3 | killall -QUIT [进程名] | killall -QUIT nginx |
9 | killall -KILL [进程名] | killall -KILL nginx |
15 | killall -TERM [进程名] | killall -TERM nginx |
17 | killall -STOP [进程名] | killall -STOP nginx |
18 | killall -CONT [进程名] | killall -CONT nginx |
19 | killall -TSTP [进程名] | killall -TSTP nginx |
9、时间的相关命令
# 用于显示或设置系统的日期和时间
date
# 以自 Unix 纪元以来的秒数显示当前时间。Unix 纪元是计算中常用的时间参考,设置为 1970 年 1 月 1 日 00:00:00 协调世界时 (UTC)
date +%s
# 使用 date 命令显示当前时间30分钟前的时间
date -d '30 min ago'
# 用于测量某个程序运行的时间,它通常以 real, user, 和 sys 三个指标来显示时间,分别代表总运行时间、用户态消耗的CPU时间和内核态消耗的CPU时间
time 程序
# 用于显示重要的日期和事件
# 显示当天和接下来几天的重要事件,比如历史上的重大事件、名人的生日或逝世纪念日等
calendar
10、vps内核相关的命令
# 列出所有已安装的linux-image包,通常这些是系统内核的包
dpkg --list | grep linux-image
# 显示当前正在运行的内核版本
# -r中的r是release的缩写
uname -r