做行业网站广告能赚多少钱,做网站的规范尺寸,夷陵区住房和城乡建设局网站,电子商务网站建设的一般文章目录 1. 查看当前的shell类型2. ps -f命令3. 父子shell4. 分号在命令里的作用问题#xff1a;环境变量echo#xff1a; 5. sleep和jobssleep:jobs:例子#xff1a;: 6. 外部命令和内建命令图解外部命令type命令 7. history命令8. alias命令9. 推荐 1. 查看当前的sh… 文章目录 1. 查看当前的shell类型2. ps -f命令3. 父子shell4. 分号在命令里的作用问题环境变量echo 5. sleep和jobssleep:jobs:例子: 6. 外部命令和内建命令图解外部命令type命令 7. history命令8. alias命令9. 推荐 1. 查看当前的shell类型 命令cat /etc/passwd 由此可见该系统终端的shell为bash 注 ① Debian - dash linux中的dash shell是什么 Ubuntu - bash 这里dash可以执行成功是因为Ubuntu也属于Debian ② 其它shell ③ shell的默认使用方式可以更改 ④ ls -lF /bin/bash 执行后会发现这里实际上有一个软件 2022 /bin/bash* (bash本质上是一个软件也是一个终端) 2. ps -f命令 显示进程列表及其详细信息。 3. 父子shell ① shell分为父shell和子shell ② 父shell - 子shell 的过程类似于(ps -f 可以很清楚地看到它们之间的关系) 孩子a 父亲a 儿子b 爷爷a 儿子b 孙子c 以Ubuntu为例bash一次相当于要一个小孩再bash一次再要一个小孩 ③ PPID指的是当前进程父亲的PID或者说它是基于谁创建的 一个窗口运行了三个终端(3个bash)输入了三个exit才彻底退出 父子shell是相对的。即PID3536的bash是PID3543的bash的父shellPID3543的bash同时又是PID3551的bash的父shell。 4. 分号在命令里的作用 作用分隔多个命令使它们依次执行。跟’ | 作用一样 ① 命令1 空格 分号 空格 命令2 空格 分号 空格 命令3 分号前后的空格表示分隔不同的命令 ② 括号 命令1 空格 分号 空格 命令2 空格 分号 空格 命令3 括号 带括号意味着创建一个子shell去执行 例如 ①②的异同 相同点执行结果一样 不同点1 ①没有生成一个子shell执行②生成了一个子shell执行。2 ①的执行结果成为进程列表②的不是。 问题 问为什么ls ; pwd ; cd / 执行完以后切换到了根目录而(ls ; pwd ; cd / )却没有 答在第一个命令中cd/ 意味着 cd 命令后跟着一个参数 /表示切换到根目录。而在第二个命令中(ls ; pwd ; cd/) 在括号内这意味着括号内的命令将在子shell中执行。当子shell执行完毕后不会影响当前shell的状态所以在执行完 (ls ; pwd ; cd/) 后你还停留在原来的目录而不会切换到根目录。 问(ls ; pwd ; cd / )既然生成了一个子shell执行为什么ps -f 看不到这个进程 答在Unix-like系统中ps -f 命令用于显示进程列表及其详细信息。当你在子shell中执行命令时子shell本身会成为一个新的进程但是它不会显示在外部shell的进程列表中因为外部shell不直接管理子shell的执行。因此虽然第二个例子中生成了一个子shell但它不会被ps -f命令显示出来因为ps -f只显示外部shell及其直接创建的进程列表。 问什么叫进程列表 答进程列表指的是当前正在运行的所有进程的清单或列表。在操作系统中每个正在运行的程序都是一个进程这些进程可能是用户启动的应用程序、系统服务或操作系统本身的一部分。进程列表通常包含每个进程的标识符、状态、内存使用情况等信息可以通过特定的系统命令或工具来查看。 问为什么ls ; pwd ; cd / 生成的结果叫进程列表(ls ; pwd ; cd / )生成的不叫 答第一个例子中我们可能会将一系列命令看作一个整体因为它们按顺序执行就像列表中的项目一样。这种情况下我们将这些命令的执行结果称为进程列表。而第二个例子中命令被放在括号内括号将这些命令分组在一个子shell中执行。这些命令的执行不会直接影响到外部的环境所以我们不太倾向将它们称为进程列表。 环境变量echo 命令echo $BASH_SUBSHELL—检测有没有创建子shell执行。 例如 5. sleep和jobs
sleep: ① sleep 数字 --让终端休眠__秒后执行(倒计时) ② sleep 数字 --让终端休眠__秒后执行且这个过程在后台 ③ man sleep 查看sleep说明文档 问为什么要用sleep? 答因为有时候我们需要程序在执行某些操作后暂停一段时间或者在循环中添加一个延迟以控制程序的执行速度。 jobs: ① jobs – 看看谁在搞休眠 ② jobs -l – 在jobs的基础上多显示了PID 例子 : ‘’ – 把某个操作挂载后台执行我们可以在当前页面做别的事情。例如Windows解压压缩包时我们点完解压之后通常会把那个页面最小化(放在后台)然后去干别的事情。linux中输入(tar -zxvf … ; tar -zxvf … ; cp … )就可以让解压操作在后台执行。 6. 外部命令和内建命令 如图所示输入ps -f 查看进程信息时ps -f 也算一个进程(Windows任务管理器查看进程时任务管理器本身也算一个进程)像ps -f 这种必须单独创建一个进程在外部看内部的命令叫作外部命令像cd这种不单独创建进程的我们叫非外部命令(别名内建命令)。 图解外部命令 外部命令站在一个更高的层次看shell里的东西站在外边看里边的东西看的更清楚。 type命令 type 命令名称判断一个命令是外部命令还是内部命令 输出结果命令名称 is /usr/bin/命令名称 – 外部命令 输出结果命令名称 is a shell builtin – 内建命令 例如 7. history命令 ① history命令–可以查看我们之前运行的所有命令显示条数有上限。它也是内建命令 ② 执行history - 显示序号 命令 - 输入!序号即可执行序号对应命令 ③ !!执行上一个命令 !$执行上一个命令 例如 ④ less .bash_history以文件形式查看之前的命令 8. alias命令 ① alias命令–作用起别名。好处可以让我们缩写 ② alias -p显示全部已定义的别名 进一步理解alias此处执行ll 时本质上是执行ls -alF此处执行ls本质上是执行ls --colorauto(自动高亮)。补充ls ‘ls --colorauto’ 是Ubuntu特有的mac上就没有。 ③ 创建属于自己的别名alias 别名 ’ 原来的命令’ 缺点一旦退出当前的shell就不可以使用了 例如 注意等号前后不要加空格 9. 推荐 frank的linux课教程 以上笔记全部来源于此 -----------------------------------未完待续...------------------------
---------------------------出现问题欢迎批评指正啊 ---------------------