学习命令行最好的方式是学习 Linux 上的 shell、bash
命令行
GUI(用户界面) VS CLI(命令行界面)
大多数的计算机用户只是熟悉图形用户界面(GUI),并且产品供应商和此领域的学者会灌输给用户这样的思想,命令行界面(CLI)是过去使用的一种很恐怖的东西。这就很不幸,因为一个好的命令行界面,是用来和计算机进行交流沟通的非常有效的方式,正像人类社会使用文字互通信息一样。人们说,图形用户界面让简单的任务更容易完成,而命令行界面使完成复杂的任务成为可能,到现在这句话仍然很正确。
shell
一说到命令行,其实真正指的是 shell
。
shell 就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统去执行。
几乎所有的 Linux 发行版都提供一个名为 bash
的 shell 程序。bash
是 Bourne Again SHell
的首字母缩写,所指的是这样一个事实。
终端仿真器
当使用图形用户界面时,我们需要另一个和 shell 交互的叫做终端仿真器的程序。在 Windows 上,一般使用操作系统自带的 cmd
或者 powershell
。在 Linux 上,如果是图形用户界面,那么可以使用 terminal
或者 konsole
、gnome-terminal
之类的终端仿真器,但基本上,它们都完成同样的事情,让我们能访问 shell,可能会因为附加的一些花俏功能而喜欢上某个终端。
关于名字,如果有人提到:控制台、终端、bash、shell、terminal 等,一般都是指上面这些。
一般在 Linux 上,都会提供一个 bash 或者 terminal 之类的工具,让你来使用 shell。
安装 Git for Windows 客户端体验 shell
Git for Windows 客户端自带了一个终端仿真器:git bash
git for Windows - github 托管地址
,然后找到 Realease 模块,找到下载的对应版本即可。
注意:虽然在 Windows 上可以通过 cmd 或 powershell 体验终端的使用,但是学习终端最正确的方式是学习 Linux 上的命令行,要更纯正,更强大。
我们通过使用 Git for Windows 客户端(自带了一个 bash)来学习 shell。
打开和退出终端
- 开始菜单打开
- 右键打开
- 通过开始-运行:输入 git-bash 打开(需要PATH环境变量)
命令提示符
git bash 中使用 ~
来表示用户目录
使用终端操作文件系统
- 绝对路径和相对路径
- pwd(print working directory)
- cd(change directory)
- 切换到指定路径(相对路径或绝对路径)
- ls(list files)
ls
列出当前目录文件ls 目录路径
列出指定路径文件ls -a
列出文件并显示隐藏文件或目录
- cp(copy)
cp 源路径 目标路径
- cp 在复制目录的时候,不会复制里面的子文件或子目录
- -r (recursive)递归复制
mv
(move):移动文件或者目录,还可以重命名文件或目录mkdir
(make directory):创建目录rm
(remove):删除文件或目录- -rf 递归删除:直接将整个目录包括里面的内容都删掉
rmdir
目录名称- 只能删除空目录
clear
:清屏touch 文件名
- 根据文件名创建新的文件
cat
文件名- 查看指定的文本文件
使用 less 命令浏览文件内容
less 命令是一个用来浏览文本文件的程序。
less 命令是这样使用的:less 文本文件名
一旦 less 程序运行起来,我们就能浏览文件内容了。如果文件内容多于一页,那么我们可以上下滚动文件。按下 q
键,退出 less 程序。
下表列出了 less 程序最常使用的键盘命令:
1 | 命令 行为 |