什么是命令行?

命令行,也可以叫做指令、命令,是Linux操作系统运行的基础之一。在Linux中几乎所有的程序和功能,都可以透过命令行来实现。

相比于鼠标操作各个软件,命令行有着更加快速、高效、精准的有点,但也有复杂、大多是英语等缺点。

比如我需要查看网卡和IP信息,要么在开始菜单中找到设备管理器查看,也可以快速打开终端执行 ifconfig指令可以立即获取所有信息。

网卡地址对比

什么是终端?

如果要执行命令,那么我需要一个地方输入并查看结果,这个就是“终端”。终端与Windows操作系统里面的的"CMD"、“PowerShell"十分相似,都是输入指令和参数,然后按回车执行,最后会显示出执行的结果。

终端与CMD对比

“终端”在Linux中有多种方式使用,最常见的有:

  1. 在开始菜单中找到终端软件,并单击打开

  2. 在桌面或者文件管理器的空白处右键,在弹出的菜单中选择“在此处打开终端”

  3. 使用键盘快捷键打开,同时按下 CTRL 和 ALT 和 T

三种方式打开后有些许区别,后面会讲到。

在输入指令的过程中,按键盘上的Tab键,终端会尝试猜测并补全指令、文件路径,比如我输入ifc,按下tab键后,终端会自动将其充成ifconfig,这个方法可以提升输入指令的速度和准确性。

指令的组成

命令行一般由三部分组成,分别是【前缀,命令,参数】,其中前缀是在特殊情况下使用的,参数可以是0或多个,由具体的命令决定。

这是一个只有命令的示例,用于列出当前文件夹下有哪些文件夹和文件,类似于windows的CMD里面dir的效果。

  name@pc:~$ ls
# 以下是输出
 Desktop    Downloads  Music      Public    
 Documents  nohup.out  Videos
  

很多命令行可以附带一些后续的参数,以实现高级功能,参数之间_使用空格隔开_。

  name@pc:~$ ls  -l
# 以下是输出
drwxr-xr-x 2 ksd ksd      4096  3月  6 22:19 Desktop
drwxr-xr-x 2 ksd ksd      4096  2月 15  2023 Documents
drwxr-xr-x 3 ksd ksd      4096  3月  6 09:25 Downloads
drwxr-xr-x 2 ksd ksd      4096  2月 15  2023 Music
-rw------- 1 ksd ksd       653  7月 29 08:41 nohup.out
drwxr-xr-x 2 ksd ksd      4096  2月 15  2023 Public
drwxr-xr-x 2 ksd ksd      4096  2月 15  2023 Videos
  

一般命令行的前缀只有sudo,用以实现管理员权限操作,具体的请学习管理员与权限章节。

  name@pc:~$ sudo  apt  install  -y  vim
  

上面的这个例子就是既包含前缀,也有三个参数,里面实际运行的命令是aptinstall给apt指定了需要的行为,-y是apt的附加功能参数,vim则是apt需要操作的对象。

最后,有些指令是由多段命令拼接而成的,他们通过拼接符号来实现不同的功能。可以查看命令:实用与高级进行深入学习。当然可以不学习,本文档库涉及到高级操作的都会进行说明与给出实例。

使用终端启动软件

类似于Windows的系统里每个程序都指向一个.exe文件,linux每个程序最后都指向了一个“可执行文件”,只不过这个文件一般没有后缀名。

Linux的所有指令,本质上就是一个存放在特殊位置的“可执行文件”,比如,当我们执行python3 -V的时候,实际上就是打开了/usr/bin/python3 -V

对于不在指定位置的程序,比如一个"start.sh"的bash脚本,如果没有不能双击运行,而应该在终端中直接执行这个文件。

  ./start.sh
  

没错,就是在文件前面加上./,这个符号的具体含义可以查看下一个章节。

在UOS和麒麟里面,用鼠标右键点击可执行文件,菜单中经常会弹出“在终端中执行”,本质上就是上面的”./“方式,以避免大多数没有窗口的程序无法双击执行的问题。