合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
[TOC] # Linux下使用终端执行Shell命令 > 终端Shell是Linux系统的最重要的组成部分之一,几乎Linux系统的所有操作都可以在`终端Shell`下使用命令行完成,包括软件安装与卸载、服务的启停、系统配置设置、主题修改、界面调整等等。 Linux系统即使没有了桌面环境依然也是可以使用Shell命令完成很多工作的,`Windows`没了界面就只能重启了。 ## 如何执行`Shell`命令? 在`Ubuntu`中执行`Shell`命令的方法: - 方法一: 在桌面点击鼠标右键,找到`在终端打开`,就可以打开一个`终端`窗口 - 方法二: 点击左下角的`显示应用程序`按钮,在弹出界面中输入`Terminal`找到`终端`软件,鼠标左键点击打开。 - 方法三: 执行`Ctrl + Alt` + `F1~F6`这六个快捷键可以打开对应的六个终端控制台窗口,这是当我们窗口出现问题时可以通过此方法执行命令检查问题的方法,通过执行`Ctrl+Alt+F7`可以切回到图形界面。 - 方法四: 通过`ssh`客户端远程连接到终端,当然这需要您开启`SSH`服务。 上面的方法都可以打开`终端`来执行`Shell`命令,您可以在`终端`窗口输入: `echo "Hello World"` 后,敲击`回车(Enter)键`执行这条命令。 执行效果如下(前面的`$`符号是`shell`提示符,并不是命令的一部分): ```sh $ echo "Hello World" Hello World $ ls 模板 视频 图片 文档 下载 音乐 桌面 ``` - `echo`命令使用显示文本的命令,后面的内容会在终端输出显示。 - `ls`命令可以显示当前目录下的文件和目录列表信息。 看到上面的例子后,您是否觉得在`Ubuntu`下执行`Shell`命令很简单呢? 这只是一个简单示例,我们可以使用`Shell`的语法规则实现非常复杂的工作,这需要您掌握`Shell`基础语法之后才能做到的。 ## 如何查看您正在使用哪种`Shell`? > `shell`命令的执行其实依赖一个叫做`命令行解析器(CLI)`的命令,`命令行解析器(CLI)`的作用是找到要执行的命令程序并且执行它将执行结果返回给调用者,您可以将它理解为`翻译官`的角色。 不同的系统其实都有`命令行解析器(CLI)`,我们简单列举Linux系统中常用的`命令行解析器(CLI)`: - `bash`: 一款免费且与Unix系统上的`sh`兼容的命令解析器。 - `ksh` : 主要用于Unix系统。 - `zsh` : 在`Bash`基础上增加了更多的扩展功能。 - `csh` : 一个更像`C`语言语法的`Shell`。 - `ash` : 轻量级的`Shell`,嵌入式系统`OpenWrt`等路由器中应用广泛。 了解了以上几种`Shell`类型的解析器后,您是否也想知道您的`Ubuntu`系统使用的是哪一种解析器呢? 查看本机默认解析器的方法: - 查看`/etc/passwd`文件中当前用户登录后的默认解析器设置 - 查看环境变量`$SHELL` - 执行`ps`命令查看 下面是具体查看命令及执行结果: ```sh $ echo $SHELL /bin/bash $ grep learnhard /etc/passwd learnhardcn:x:1000:1000:learnhard.cn,,,:/home/learnhardcn:/bin/bash $ ps PID TTY TIME CMD 3123 pts/0 00:00:00 bash 3251 pts/0 00:00:00 ps ``` 查看结果显示,您的`Ubuntu`使用的默认命令解析器是`bash`。 您还可以通过下面命令查看当前系统支持的`命令解析器Shell`有哪些: ```sh $ cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /bin/dash /usr/bin/dash ``` 您还可以通过下面命令更换其他解析器(需要输入密码): ```sh $ chsh -s /bin/sh learnhardcn ``` ## 总结 您应该了解的内容总结: - 如何执行`Shell`命令? - 如何查看您正在使用哪种`Shell`? ---