用户登录

Terminal,终端,指的就是执行命令行工具的时候用的一款软件,也就是使用带命令行界面的软件的地方。不同的操作系统里面,都有类似的东西,比如 Windows 系统上的 cmd,或者得 powershell,macOS 系统里的 Terminal,我们可以把它们统称为“终端“。当你听到”打开终端“,或者”在终端“的时候,你要知道自己可能需要在命令行界面下做点事情。

使用 Windows 操作系统本身带的终端工具,可以执行的命令行工具都是 Windows 系统自带的,如果我们想要在 Windows 系统里使用 Linux 系统里的各种命令行工具,需要额外在 Windows 系统上安装一个 cmder 这款软件,用它作为 Windows 系统里的终端工具。

macOS 系统的用户,可以直接使用系统自带的 ”Terminal“ 这款工具,也可以额外安装一个更好用,更现代的终端工具,我现在推荐 macOS 用户使用 Warp 替换系统自带的终端。在后面的所有需要执行命令的练习中,我都会使用 Warp 完成。Windows 用户可以使用 cmder,新建一个 bash as admin 类型的终端标签,然后在这个标签上执行需要执行的命令。

**提示符**

打开终端以后,一般都会显示一个提示符,也就是 PROMPT,这个提示符的具体的内容与显示的格式是可以自定义的,比如我这里会显示当前登录到系统的用户的名字,一个 @ 符号,然后应该是一个主机名,然后是空格,后面是当前所在位置,最后还有一个百分号。不过我们不需要太在意这些东西,因为并不重要,这个命令提示符可以通过配置文件进行修改。

![[Pasted image 20231120102536.png]]

**执行命令**

在 Warp 这款工具里面,在提示符的下面可以输入要执行的命令。比如我现在想改一下电脑的主机名,可以在命令行下面使用 hostname 这个命令,一个命令行工具其实就是一个软件,只不过这种软件需要在命令行下面通过输入文本命令使用。

输入 hostname,它是我们要执行的命令行工具的名字,按一下回车可以执行这个命令。有些命令会输出执行的结果,直接执行 hostname 命令输出的结果就是电脑当前使用的主机名。

**命令参数**

命令行工具通常都会支持使用参数,比如在执行 hostname 这个命令的时候,在命令后面加上一个空格,然后是一个参数的值,这个参数的值就是要修改的主机名。比如 ninghao.net,这样执行的这个命令的意思就是要把电脑的主机名改成 ninghao.net。

```
hostname ninghao.net
```

**管理员**

按下回车键,执行一下这行命令,这里输出了执行的结果,显示 Operation not permitted,意思是操作不被允许,如果执行的命令会影响到系统的状态,就会要求使用管理员的权限执行这个命令。

获得管理员的权限,可以在要执行的命令的前面,加上 sudo 这个命令,表示 superuser do,意思就是要使用管理员的权限。回车执行一下,提示输入当前用户的密码,再按一下回车。成功以后,可以重新打开 Warp,观察一下命令提示符,在提示符里,主机名这部分内容现在就变成了 ninghao.net。执行 hostname 这个命令可以再确认一下,输出的结果同样显示当前的主机名是 ninghao.net。

**命令选项**

大部分命令行工具都支持使用一些选项,这些选项会影响命令的行为与输出的结果。比如这个 hostname 命令,支持使用 s 选项,输入 hostname ,加上一个 s 选项,通常选项名字的前面需要一个或者两个小横线,也就是减号。如果使用选项的完整的名字,通常需要两个小横线。选项的简写形式通常由一个字母构成,设置这种选项,可以使用一条横线。另外要注意的是简写形式的选项的大小写可能表示不同的意思。

执行 hostname 加上 s 选项的时候,输出的主机名会去掉域名后缀,我这里输出的就是 `ninghao` 。

```
hostname -s
```

**命令手册**

我们不需要刻意去记住命令的名字还有它们的选项,因为常用的命令自然就能记住了,记不住的随时都可以通过搜索找到,我们只需要知道在命令行下面要做的是什么,要执行的具体任务是什么。

如果我们知道命令的名字,可以通过 man 这个命令查看命令的使用手册,比如想要查看 hostname 这个命令的使用手册,可以执行 man,后面加上命令的名字,这里就是 hostname。

```
man hostname
```

man 指的就是 manual,也就是手册的时候,这里输出的就是 hostname 这个命令的使用手册,里面会显示命令的名字,使用简介,描述,可用的一些选项等等。使用 f 与 b 这两个按键可以翻页查看手册内容,退出,可以使用 q 这个按键。

```
NAME
hostname – set or print name of current host system

SYNOPSIS
hostname [-f] [-s | -d] [name-of-host]

DESCRIPTION
The hostname utility prints the name of the current host. The super-user can set the hostname by
supplying an argument. To keep the hostname between reboots, run ‘scutil --set HostName
name-of-host’
```

**智能命令**

除了搜索想要执行的命令以后,如果你用的是 Warp 这款终端,可以使用它的 AI 功能。输入一个 # 号,然后描述一下你想执行的任务, Warp 会给我们一些建议。比如 ”查看主机名“,Warp 会建议可以使用 hostname 这个命令,按一下回车,就会自动输入这个命令,再按一下可以执行这个命令。

有了这个 AI 功能以后,我们就不需要特别记住要执行的命令了,只需要把自己要在命令行下面完成的任务描述清楚就行了。

在终端执行命令(cmder,warp)《 DevOps 开发运维:命令界面 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点