全文共4108字,预计学习时长8分钟或更长 你是否注意到,电影中超级讨厌的黑客仅仅只需键入几行指令,盯着黑底绿字的屏幕就能轻易渗透最安全的银行系统,将银行账户洗劫一空。这...
全文共4108字,预计学习时长8分钟或更长
你是否注意到,电影中超级讨厌的黑客仅仅只需键入几行指令,盯着黑底绿字的屏幕就能轻易渗透最安全的银行系统,将银行账户洗劫一空。这个人是如何只需敲击几下键盘便能畅通无阻访问所有密码并控制所有的隐藏摄像的呢?电影制作方如何达成这一效果并不好说,这有悖原理!但也许这就是他们的目的:通过镜头告诉观众 “commandline”是多么强大的工具!
很多时候,由于初学者太习惯于使用图形用户界面(Graphical User Interface)界面,而容易忽略命令行界面(Command-lineinterface)的功能。当用户需要将大约十万个文件复制到一个文件夹中时,使用鼠标就可以实现,但是如果需要对这些文件进行重命名或者根据其扩展名将这些文件进行分类又该如何?由于GUI不可编程,使用“command line”操作是不可行的。然而通过键入几行代码,就能快速完成这一操作。
对不同的开发人员而言,Unix shell都是非常强大的工具。本文旨在介绍UNIX操作系统基础知识。
UNIX
除了WINDOWS之外,如今大多数的操作系统都是在UNIX基础上构建。其中包括Linux发行版,macOS,iOS,Android等。看一眼UNIX操作系统的族谱就足以突出UNIX的重要性,这也是它在业界采用如此广泛的原因。事实上,许多数据和计算系统的后端,包括像Facebook和谷歌这样的行业巨头,都大量使用UNIX。
UNIX族谱 图片来源:WIkipedia
Shell
Shell是用于在计算机上运行程序的命令行界面。用户在提示符下键入一串命令,shell为用户运行程序,然后显示输出。用户可以直接输入命令,也可以从称为名为shell脚本或shell程序的文件中读取。
Shell types
UNIX系统通常提供多种shell类型。以下是常见的Shell类型:
本文只针对Bash Shell,对其他类型不做详细介绍。但是,也鼓励你阅读并尝试其他shell类型,特别是zsh shell,因为在苹果最新一代名为Catalina的Mac操作系统中,zsh将代替bash shell。所以现在了解它再好不过。
终端
终端是用于与shell交互的程序,是Shell和其中运行的其他命令行程序的交互界面。类似于Web浏览器是网站的界面。以下是Mac上典型终端的外观:
典型MAC终端示例图
Mac和Linux有各自版本的终端。Windows还有一个内置命令shell,但它基于MS-DOS命令行而不是UNIX。所以接下来请看如何在Windows上安装shell和终端程序,使其运行与在Mac和Linux上的相同。
Windows系统中安装
· Windows系统Linux子程序
WSL是Windows 10发布的新版Linux兼容系统,允许开发人员直接在Windows上运行GNU / Linux环境 - 包括大多数命令行工具,实用程序和应用程序-不用修改,无需虚拟机开销。
· Git Bash命令
本文中将使用Git Bash命令。下载安装后将得到一个终端窗口,如下图所示。
WindowsGit Bash示例图
终端探索
每当打开终端窗口时,都会看到上次登录凭据和Shell提示。只要shell准备好接受输入,就会出现Shell提示符。根据发行版本的不同,显示可能会稍有不同,但大多数情况下显示为username @machinename后跟$符号。
如果你不想显示以上信息,可以使用PS1自定义shell提示符。
终端现在只在提示符下显示$。但这只是暂时的,一旦终端关闭,将重置为其原始设置。
入门
为掌握Bash入门知识,请尝试下列简单命令:
· echo:返回在shell提示符下键入的内容,类似于在Python中打印。
· date:显示当前时间和日期。
· cal:显示当月的日历。
· 清除终端:按住Ctrl-L或删除清除终端。
Bash命令基本知识
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。



