前言:
1、什么是Shell?
Shell 是用户使用 Linux 的桥梁,既是命令语言,又是程序设计语言
结合实际场景来说,Linux操作系统需要实用工具来实现各种标准功能,如控制文件、程序等,Linux Shell是一种交互式工具,可提供启动程序、管理文件以及进程等方式。
2、有哪些流行Shell?
Shell是一种工具,不同的特性,就下存在不同Shell,以下是常见的几种类型:
ash | 一种轻量简单的shell,运行在内存受限环境,与bash shell完全兼容 |
korn | 一种与bourne shell兼容的编程shell,支持关联数组、浮点算数等高级编程特性 |
tcsh | 一种将c语言一些元素引入shell脚本中的shell |
zsh | 一种结合bash、tcsh、korn特性,同时提供高级编程特性、共享历史文件、主题化提示符的高级shell |
Linux发行版通常存在多个shell,根据个人需要,选择使用的shell工具,通常我们使用的是默认shell【bash shell】—标准Unix shell。
思考并思维共享:
评论区回答你认为哪些shell命令很重要?以及你还想了解哪方面的shell知识呢,将会迭代更新哦~
3、基本的shell命令可以做什么呢?
-
3.1 管理文件系统
cd:在虚拟目录中切换目录
ls:进入目录后查看文件、子目录
touch:创建空文件、变更已有文件访问时间/修改时间
cp:文件拷贝,从a复制到b
mv:文件移动,从a移动到b
mkdir:创建空文件夹
rmdir:删除空文件夹
cat/more/less:查看文件内容
tail/head:查看文件一部分内容
...
3.2 监测系统程序进程
3.2.1 探查进程
3.2.1.1 ps:
注:探查进程(可显示基本信息)
- PID:进程ID
- TTY:运行终端名称
- TIME:运行进程累计占用CPU时间
- CMD:启动程序名称,显示的内容较少,若需要更多信息,可使用ps -ef
3.2.1.2 ps -ef
注:-e:指定显示系统中运行的所有进程 -f:扩充输出区显示一些有用信息列
-
UID:启动该进程的用户
- PID:进程ID
- PPID:父进程PID
- C:进程生命期中CPU利用率
- STIME:进程启动时的系统时间
- TTY:运行终端名称,进程是从哪个终端设备启动的
- TIME:运行进程累计占用CPU时间
- CMD:启动程序名称,若仍内容缺少,需要更多信息,可使用ps -l
3.2.1.3 ps -l
查看长格式信息(按需使用,通常不涉及)
-
F:内核分配给进程的系统标志
- S:进程的状态【O-->正在运行、S-->休眠、R-->可运行,正等待运行、Z-->僵化,已终止找不到父进程、T-->停止】
- PRI:进程优先级,数字越大,优先级越低
- NI:谦让度,用于决定优先级
- ADDR:进程的内存地址
- SZ:进程被换出时,所需交换空间大小
- WAHAN:进程休眠内核函数地址
3.2.2 实时监测进程
3.2.2.1 top
top与ps相似,输出的显示后续迭代~