网站首页 > 基础教程 正文
这篇文章主要介绍的是 Bash,希望各位能从这篇文章里对 Bash 有一个简单的了解
Bash 是什么
Bash,即 Bourne Again SHell,顾名思义它是和 Shell 有关的。Shell是一个程序,就像你在 Windows 里面经常按的 cmd 一样,你可以在里面输入命令运行,或者自己写一个脚本然后让 Shell 读取里面的命令运行。
Shell
Shell 实际上不只是一个程序。它原先只是一个用 C 写成的程序,现在同样也代表一种脚本语言。而作为脚本语言,Shell 就需要解释器,一般来说 Linux 默认的解释器就是 Bash,不管是从命令行中直接输入的命令还是脚本的命令,都需要经过 Bash 的解释才能运行。
解释和编译
实际上绝大多数的程序设计语言都需要使用这两种相当于预处理工序中的一种。编译型的语言比如 C++ 和 Java 这些会把我们写的代码编译成接近计算机底层的目标代码,这样运行起来会很快,但是因为太接近底层,所以有的时候需要更多的代码来完成一个看起来简单的操作。
而解释型语言一样会把我们的代码解释成目标代码,不过这样的目标代码比较高层,我们编写起来会比较方便,而且脚本执行的速度也不算太慢。
Shell 的种类
Shell 分为图形界面和命令行式两种,图形界面最常见的就是 Windows explorer 了,它包括了桌面和文件管理,这就意味着如果你在任务管理器里把它关掉……你可能屏幕上上只剩下任务管理器是亮着的了,运行新任务然后输入 explorer.exe 可以重新打开它。命令行式的 Shell 包括 Windows 里面的 cmd.exe 和 Linux 里面的 Bash 等等,它基本上只提供了一个命令行窗口,但是通过命令同样可以做到比图形界面更高效。
Bash 的功能
1、命令记录历史:Bash 可以记录曾经输入过的命令,保存在~/.bash_history 文件中。
2、tab 键自动补全:使用 tab 键可以自动补全命令或者目录。
3、alias 命令别名:可以使用 alias ll=’ls -al’ 来设置命令的别名。
4、工作控制:可以将某些任务放在后台去运行。
5、程序脚本:可以执行 shell 脚本文件
6、通配符:除了完整的字符串之外, Bash 还支持许多的通配符来帮助用户查询与命令下达。
- 上一篇: Java程序员必备的Linux命令行技巧
- 下一篇: linux必备的4个命令行系统性能监控工具
猜你喜欢
- 2025-05-27 Linux 图形界面和命令行界面切换
- 2025-05-27 用 MyCLI 打造高效 MySQL 命令行体验
- 2025-05-27 linux进程监控必备的五个命令行工具
- 2025-05-27 【终极指南】Nginx命令行参数完全解析
- 2025-05-27 DevOps—Linux命令行进阶
- 2025-05-27 小白必看!30 分钟精通 Linux 基础操作,从此告别命令行恐惧!
- 2025-05-27 linux必备的4个命令行系统性能监控工具
- 2025-05-27 Java程序员必备的Linux命令行技巧
- 2025-05-27 Linux 系统中使用频率较高的 10 条命令行组合
- 2024-07-24 Linux系统中玩到让你停不下来的命令行游戏
- 最近发表
-
- 在使用Bootstrap吗?快来看看如何使用 Bootswatch 主题吧
- 50个HTML5免费的Bootstrap模板 :下
- 定制你的bootstrap之--修改less文件1
- BootstrapBlazor :使用 .NET 生成交互式客户端 Web UI 的框架
- React与使用Bootstrap5模态框的注意事项
- 如何引用bootstrap没有的字体图标
- 10个超酷炫Bootstrap HTML & CSS UI工具包
- Bootstrap自举电路工作原理讲解(自举电路的原理)
- 为何 BootstrapVue 能成为 Vue 前端框架顶流?
- 新增 创意布局企业网络服务CSS模板 bootstrap 模板
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)