2 命令行与终端
什么是命令行?
命令行,也可以叫做指令、命令,是Linux操作系统运行的基础之一。在Linux中几乎所有的程序和功能,都可以透过命令行来实现。
相比于鼠标操作各个软件,命令行有着更加快速、高效、精准的有点,但也有复杂、大多是英语等缺点。
比如我需要查看网卡和IP信息,要么在开始菜单中找到设备管理器查看,也可以快速打开终端执行 ifconfig
指令可以立即获取所有信息。
什么是终端?
如果要执行命令,那么我需要一个地方输入并查看结果,这个就是“终端”。终端与Windows操作系统里面的的"CMD"、“PowerShell"十分相似,都是输入指令和参数,然后按回车执行,最后会显示出执行的结果。
“终端”在Linux中有多种方式使用,最常见的有:
-
在开始菜单中找到终端软件,并单击打开
-
在桌面或者文件管理器的空白处右键,在弹出的菜单中选择“在此处打开终端”
-
使用键盘快捷键打开,同时按下 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
上面的这个例子就是既包含前缀,也有三个参数,里面实际运行的命令是apt
,install
给apt指定了需要的行为,-y
是apt的附加功能参数,vim
则是apt需要操作的对象。
本知识库中所有的命令行,其前缀、命令、各参数之间,至少有两个空格隔开,但实际操作的时候你只需要输入一个空格即可。
任何因为没有空格或者加错空格返回的"command not found”、“找不到命令”、“参数错误"的问题,都不予解答!
请擦亮双眼!
最后,有些指令是由多段命令拼接而成的,他们通过拼接符号来实现不同的功能。可以查看命令:实用与高级进行深入学习。当然可以不学习,本文档库涉及到高级操作的都会进行说明与给出实例。
由 " & " 符号拼接的,表示执行完前面的指令后,立即执行后面的指令。用于一行实现多个功能。这个符号请按住Shift键后按数字 7 。
由 " | " 符号进行拼接的,是把前面指令输出的结果输入到后面,用于指令间数据的共享,官方名称叫做“管道”。这个符号请按住shift键后按 “"或”、“键,一般在退格键(Backspace)左边或者下面。
使用终端启动软件
类似于Windows的系统里每个程序都指向一个.exe文件,linux每个程序最后都指向了一个“可执行文件”,只不过这个文件一般没有后缀名。
Linux的所有指令,本质上就是一个存放在特殊位置的“可执行文件”,比如,当我们执行python3 -V
的时候,实际上就是打开了/usr/bin/python3 -V
。
对于不在指定位置的程序,比如一个"start.sh"的bash脚本,如果没有不能双击运行,而应该在终端中直接执行这个文件。
./start.sh
没错,就是在文件前面加上./
,这个符号的具体含义可以查看下一个章节。
在UOS和麒麟里面,用鼠标右键点击可执行文件,菜单中经常会弹出“在终端中执行”,本质上就是上面的”./“方式,以避免大多数没有窗口的程序无法双击执行的问题。