现在,大多数计算机用户只熟悉图形用户界面(GUI),认为命令行界面(CLI)是一个非常古老、难以使用的东西。其实一个好的命令行界面可以让我们更充分、更高效地使用电脑。正如鲁迅先生所说(嗯,我不记得是谁说的,是鲁迅),“图形用户界面使简单的任务更容易完成,命令行界面使它更容易完成。复杂的任务是可能的”。为什么使用命令行事实上,许多人选择Linux(而不是其他系统,例如Windows10)是因为其强大的命令行界面可以使复杂的任务成为可能。例如,在Windows下如何移动文件?右键单击该文件,将其剪切,然后通过单击文件夹图标进入目标文件夹,右键单击并粘贴。在命令行界面,只要输入以下命令回车即可:mv文件字典如果一个文件夹下放了很多文件,有图片(.png)、视频(.mp4)和各种文档(.doc、.xlsx、.pdf等),现在你想把所有的视频都放到一个文件夹里,怎么办?在图形界面,需要先右击,新建文件夹,输入文件夹名称,然后按住键盘上的CTRL键,然后用鼠标依次点击所有视频文件(也可以选择frame),然后右击剪切,点击进入新建文件夹,右击粘贴。同样,这个稍微复杂一点(复杂程度取决于具体的文件类型和数量)命令行界面只需要2步:mkdirdictionarymv*.mp4dictionary。用户可以操纵命令。不像其他一些计算机技能,可能会在一段时间后过时(所以不要担心哪种语言最好,哪种框架最受欢迎),命令行只是但没有过时。所学,十年后有用。现在大家都说计算机软件行业的知识更新太快了,一门技术还没学会就已经落伍了。其实我觉得有两点是不容易过时的。一是操作系统相关的知识,二是数学知识,都经过了时间的考验。Linux命令行的使用方法1、GitBash如果你有Windows电脑,不想太麻烦,可以安装GitBash来体验一下。为什么安装这个后,在windows下可以执行linux命令?以下来自知乎的回答:简单的说:因为这些工具是在Windows下实现的Windows和Linux为应用程序提供的功能接口不同,因此这些应用程序不能直接在Windows中运行。要让这些程序运行起来,有两种方法,一种是修改程序的代码,使其在Windows中使用Windows界面。另一种是在Windows中实现Linux的接口。其实程序太多了,也不方便一个一个改代码,所以我选择了第二种方法。因为gitforWindows自带了一个mingw。Git需要这个最小的mingw环境才能正常运行。其他的问题好像是mingw的问题,比如为什么linux的elf不能执行,因为这是mingw不是wsl。GitforWindows附带了Linux下一些命令行工具的Windows版本。注意,它们都是编译成Win32应用程序,本质上是Win32环境,所以实际上只能运行Win32可执行文件。Win10提供的WSL相当于一个Linux“模拟器”(原理不完全一样),可以直接运行Linux二进制文件链接:https://www.zhihu.com/question/65055974/answer/227486573来源:知乎作者版权所有。商业转载请联系作者授权,非商业转载请注明出处。具体操作可以参考这篇文章:体验Windows下的Linux命令行GitBash。类似的工具还有Cmder、cygwin642。MacOS很简单,买一台Mac电脑就可以了。虽然Mac终端不如Linux,但也足够了。3、虚拟机或者双系统虚拟机可以使用vmware,具体使用方法可以百度。如果是双系统,Ubuntu官网上有制作启动盘的教程。后面怎么启动安装,请自行百度。?什么是shell首先说一下“终端”的概念。众所周知,原来的电脑价格不菲,所以一台电脑一般都是多人同时使用。在这种情况下,一台电脑需要连接多套键盘和显示器,供多人使用。以前有这种可以连接电脑的设备。它只有一个显示器和一个键盘,以及一个简单的处理电路。它不具备处理计算机信息的能力。负责连接普通电脑(一般通过串口),然后登录电脑,对电脑进行操作。当然,当时的计算机操作系统都是多任务多用户操作系统。这种只有显示器和键盘,可以通过串口连接到计算机的设备称为终端。那么控制台呢?学机电的应该都知道,机床,也就是数控设备的控制箱,通常被称为操作台。顾名思义,控制台就是一个直接控制设备的桌子(上面有很多控制按钮的面板)。在计算机中,直接连接到计算机的键盘和显示器称为控制台。请注意它和终端的区别,终端是通过串口连接的,不是电脑本身的设备,而控制台是电脑本身的设备,一台电脑只有一个控制台。计算机启动时,所有信息都会显示在控制台上,而不是终端上。即控制台是计算机的基本设备,终端是附加设备。当然,由于控制台也具有与终端相同的功能,因此控制台有时也被模糊地称为终端。在计算机操作系统中,与终端无关的信息,如内核消息、后台服务消息等,可以在控制台上显示,但不能在终端上显示。以上就是控制台和终端的历史区别。如今,随着电脑硬件越来越便宜,一个人通常会独占一台电脑为其增压,不再连接过去真正意义上的“终端设备”。因此,终端和控制台的概念逐渐演变。.终端和控制台已经从硬件的概念演变为软件的概念。我们现在说的终端,比如linux中的虚拟终端,是一个软件的概念。它使用计算机软件模拟以前硬件的方式。例如,在Linux中,可以使用alt+f1~f6在六个虚拟终端之间切换,就像过去多人共用一台电脑中的六个终端设备一样,这就是为什么称之为“虚拟终端”的原因。然后是shellshell是一个抽象的概念。外壳的所有操作都在计算机内部。它负责处理人机交互、执行脚本等,是操作系统正常运行的重要组成部分。您可以在命令终端中使用shell。而bash、ash、zsh、tcsh等都是shell抽象概念的具体实现。它们都是一个程序,可以生成一个进程对象。如果要更换shell程序,可以修改/etc/passwd,把/bin/bash换成你想要的shell,或者用chsh命令切换。shell与终端的关系:shell向终端设备发送一些信息,同时也接收来自终端设备的输入。一般每个shell进程都会有终端关联,也可能没有。
