shell命令
本文最后更新于 94 天前,其中的信息可能已经有所发展或是发生改变。

Views: 0

Shell概念

shell:一种命令解释器, 提供用户和机器之间的交互;同时也是命令的运行环境。

Shell主要功能
1提供用户与操作系统进行交互操作的接口, 方便用户使用系统中的软硬件资源
2提供脚本语言编程环境, 方便用户完成简单到复杂的任务调度

shell命令起到的是一个命令解释器的作用,相当于人机交互

计算机内核是二进制,只能识别0和1。对于用户所输入的命令是不了解的那怎么办呢?就需要中间有一层翻译官,shell,提供了翻译的作用,提供用户和机器之间的交互。

输入命令需要有命令的一个执行环境。这个执行环境就是shell的主要功能。其一就是提供了用户与操作系统来进行交互操作的接口,方便用户来使用系统当中的软硬件资源。第二提供了脚本语言的编程环境,方便用户来完成从简单到复杂的业务调度。

内核主要做的是系统的调用,内核之上就是一个shell解释器,同样也是面临的运行环境来和用户来进行交互

shell种类多样

麒麟操作系统默认使用的shell是bash(Bourne-again Shell)

查看系统中的shell环境

通过echo $SHELL查看系统中的shell环境

kylin@kylin-ly-machine:一$ echo $SHELL /bin/bash

用户进入命令行界面时, 就已自动运行—个默认的Shell程序 , 并提供了交互式命令执行环境给用户。

在麒麟终端命令行环境下, bash提供了数百个系统命令, 尽管这些命令功能不同,但它们的使用方式和规则都是一致的。

Tab命令补全功能

命令补全:用户输入命令后, 有时不需输入完整的命令, 而系统会自动找出最符合的命令名称, 这种功能可以节省输入长串命令的时间

文件名补全:不需要输入完整文件名,只需输入开头几个字母, 然后按Tab键时, 系统会补充完整, 连续按两次Tab (Esc)键系统会显示所有符合输入前缀的文件名称。

命令联想:若忘了命令的全名, 而只记得命令的开头字母, 按Tab键一次会补充完整,连续按两次Tab (Esc)键系统会显示所有符合输入前缀的命令名称。

别名(Alias) 功能

查询目前系统所有别名 :#alias

设置别名:#alias ll='ls -l'

使用别名:#ll /etc

取消别名:#unalias ll

alias命令的效力仅限于该次登录, 在注销系统后, 这个别名的定义就会消失。
如果希望每次登录都使用这些别名, 则应该将别名的设置加入 “~/.bashrc” 文件中, 若是写入”/etc/bashrc” 文件中(修改后需要source调用新配置), 则系统上的所有用户都能使用这个别名。

查阅历史记录-history命令

在Kylin系统终端上输入命令并能执行后, shell就会存储你所敲入命令的历史记录(存放在~/.bash—history), 方便你再次运行之前的命令, 预定的记录为 1000笔, 这些都定义在环境变量中。

可以使用方向键↑和↓来查看之前执行过的命令, 可以使用ctrl-r来搜索命令历史记录。

history命令的几个使用示例

Shell基本功能

任务控制(job Control)

想在— 个shell中完成多个任务时, 可以使用shell的— 个特性:任务控制
前台:出现提示符让用户操作的环境
后台:不能与用户交互的环境 , 你无法使用 ctrl-c 终止在后台执行的任务, 不过可以使用 bg/ fg 呼叫该任务
通常将比较耗时的工作放在后台执行。要执行后台程序,只要在输入命令时 , 在命令的后面加上 “& ” 符号, 之后按Enter键,系统即会开始以后台的方式执行该命令

若目前已在执行某个命令 , 无法使用 “&” 来将它加入后台中执行,需先按Ctrl+z键暂停这程序的执行,然后再直接输入 “bg” 命令,就可将此工作放入后台执行

查看后台所有任务状态: #jobs -l

交互式处理( Interactive Processing)

收来自用户输入的命令后, shell 会根据命令类型来执行;

执行完毕后, shell 会将结果回传给用户 , 并等待用户下一次输入;
用户执行exit或是按Ctrl+D 来注销交互式登录;
quit退出交互式命令。

命令格式

命令:相应功能英文单词或者缩写

-选项:对命令进行选择控制[注意:前面有-横杠]

参数:给命令加上范围中括号表示可省略

Shell命令行操作界面——简单说明

.执行命令注意事项

1、 要调用以前输入过的命令, 可以用上下方向键进行选择

2、bash具有命令自动补全功能。 当输入命令、 路径、 文件名等内容的一部分时, 如果剩余部分没有歧义, 按键就可以将剩余部分补全;如果剩余部分有多个匹配内容,再按一次键就可以获取与已输入部分匹配的内容列表, 以便用户选择。 此功能可以减少不必要的输入错误。

3、 可以在一个命令行中使用多个命令, 用分号 ” ;”将各个命令隔开。 例如:ls -l; pwd

4、 当一个命令行无法输入全部命令, 可以用反斜杠 ” \“ 将一个命令行持续到下一行
5、在当前命令执行的过程中,可以使用^C(组合键<ctrl>+<c>)强制中断当前运行的命令或程序。后台执行的命令不能用^C强制中断

单引号''括起来的字符串视为普通字符串, 包括空格、 $ 、 /、 \等特殊字符
双引号""括起来的字符串, 除$ 、 \、 单引号和双引号仍作为特殊字符并保留其特殊功能外 , 其他都视为普通字符对待。 "\”是转义符, Shell不会对其后面的那个字符进行特殊处理, 要将$ 、 \、 单引号和双引号作为普通字符, 在其前面加上转义符 ”\”即可
反引号``括起来的字符串被shell解释为命令行 , 在执行时首先执行该命令行,井以它的标准输出结果替代该命令行(反引号括起来的部分, 包括反引号 )

注释#

转义符 , 将特殊字符或通配符还原成一般字符 \

分隔两个管道命令 |

分隔多个命令 ;

用户的主目录 /~

变量前需要加的变量值 $

将该符号前的命令放到后台执行 &

环境变量

定义

每个用户登录fYlin系统后,都会有一个专用的运行环境,通常各个用户默认环境都是相同的,这个默认环境实际上就是一组环境变量的定义 。用户可直接引用环境变量 也可修改环境变量来定制运行环境

使用env令可显示所有的环境变量

要引用某个 环境变量,在其前面加上符号

版权声明

本网站名称:学海拾茜
本文链接:https://www.61lyf.top/shell/
本网站的文章部分内容可能来源于网络,仅供学习与参考,如有侵权,请联系站长进行核实删除。
转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处并附带原文链接!!!
站长邮箱:cyg1900@outlook.com 或studygod825@qq.com ,如不方便留言可邮件联系。
暂无评论

发送评论 编辑评论


				
上一篇
下一篇