forked from study-area-cn/learn-linux-basic
Compare commits
5 Commits
Author | SHA1 | Date |
---|---|---|
cxykevin | d7761efacf | |
cxykevin | ab84527338 | |
cxykevin | a2af7f9419 | |
cxykevin | 95860dea4d | |
hemingtsai | 0d17743272 |
|
@ -2,4 +2,3 @@ book
|
||||||
node
|
node
|
||||||
study-area-home-action-deps
|
study-area-home-action-deps
|
||||||
study-area-action-deps
|
study-area-action-deps
|
||||||
.vscode/settings.json
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
- [Vim编辑器](./shell_and_shell_script/vim_editor.md)
|
- [Vim编辑器](./shell_and_shell_script/vim_editor.md)
|
||||||
- [Shell Script基本语法](./shell_and_shell_script/shell_script_basic.md)
|
- [Shell Script基本语法](./shell_and_shell_script/shell_script_basic.md)
|
||||||
- [条件判断语句](./shell_and_shell_script/conditional_judgment.md)
|
- [条件判断语句](./shell_and_shell_script/conditional_judgment.md)
|
||||||
- [循环]()
|
- [循环](./shell_and_shell_script/loops.md)
|
||||||
- [函数]()
|
- [函数]()
|
||||||
- [at与corntab]()
|
- [at与corntab]()
|
||||||
- [at]()
|
- [at]()
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 65 KiB |
Binary file not shown.
Before Width: | Height: | Size: 20 KiB |
Binary file not shown.
Before Width: | Height: | Size: 27 KiB |
|
@ -1,19 +1 @@
|
||||||
# 在 VMWare Workstation 上创建虚拟磁盘
|
# 在 VMWare Workstation 上创建虚拟磁盘
|
||||||
|
|
||||||
> 上级目录:[磁盘分区以及文件系统](../diskpart_and_filesystem.md)
|
|
||||||
|
|
||||||
按照上篇文件,我们接下来需要创建一个虚拟磁盘。
|
|
||||||
|
|
||||||
## 打开虚拟机
|
|
||||||
|
|
||||||
首先,打开你的 VMWare Workstation Pro 并选择你的虚拟机
|
|
||||||
![Open VM](./assets/2.2.2.vmware.1.png)
|
|
||||||
|
|
||||||
## 配置磁盘
|
|
||||||
|
|
||||||
我们打开设置
|
|
||||||
![Open Settings](./assets/2.2.2.vmware.2.png)
|
|
||||||
|
|
||||||
在左边找到 `硬盘`
|
|
||||||
![Open Disks](./assets/2.2.2.vmware.3.png)
|
|
||||||
|
|
||||||
|
|
|
@ -16,39 +16,39 @@
|
||||||
|
|
||||||
原本你应该去注册一个博通的账号并且去到 Broadcom Support Portal 搞一大堆麻烦事情,但是我相信各位的精力是有限的,所以说这里直接贴出提取到的下载链接`https://softwareupdate.vmware.com/cds/vmw-desktop/ws/17.5.2/23775571/windows/core/VMware-workstation-17.5.2-23775571.exe.tar`
|
原本你应该去注册一个博通的账号并且去到 Broadcom Support Portal 搞一大堆麻烦事情,但是我相信各位的精力是有限的,所以说这里直接贴出提取到的下载链接`https://softwareupdate.vmware.com/cds/vmw-desktop/ws/17.5.2/23775571/windows/core/VMware-workstation-17.5.2-23775571.exe.tar`
|
||||||
|
|
||||||
在你下载下来之后是一个 tar 文件,如果说你的电脑没有可以解压这种格式的软件,那请你去下载一个名为 7-Zip 的软件`https://7-zip.org/a/7z2407.exe`然后安装,记得关联格式。
|
在你下载下来之后是一个 tar 文件,如果说你的电脑没有可以解压这种格式的软件,那请你去下载一个名为 7-Zip 的软件 `https://7-zip.org/a/7z2407.exe` 然后安装,记得关联格式。
|
||||||
|
|
||||||
在解压出来之后,我们就可以运行安装程序,先 Next,同意完协议并 Next 后记得勾选一下`安装键盘驱动`(如下图)
|
在解压出来之后,我们就可以运行安装程序,先 Next,同意完协议并 Next 后记得勾选一下 `安装键盘驱动`(如下图)
|
||||||
|
|
||||||
![Keybord Driver](./assets/2.4.vmware.1.png)
|
![Keybord Driver](./assets/2.4.vmware.1.png)
|
||||||
|
|
||||||
然后就可以一路 Next 下去了,安装完成后会有一次重启,在重启完毕后,我们该启动 VMWare WorkStation Pro,进行下一步安装了。
|
然后就可以一路 Next 下去了,安装完成后会有一次重启,在重启完毕后,我们该启动 VMWare WorkStation Pro,进行下一步安装了。
|
||||||
|
|
||||||
> 假如说这里有朋友发现 VMWare WorkStation Pro 的页面是英文的,打开 VMWare WorkStation Pro 的`快捷方式`,在目标后面添加一个" --locale zh_CN"之后重启 VMWare WorkStation Pro 就好了。
|
> 假如说这里有朋友发现 VMWare WorkStation Pro 的页面是英文的,打开 VMWare WorkStation Pro 的`快捷方式`,在目标后面添加一个 ` --locale zh_CN`之后重启 VMWare WorkStation Pro 就好了。
|
||||||
|
|
||||||
## 新建虚拟机
|
## 新建虚拟机
|
||||||
|
|
||||||
软件我们有了,接下来我们要给虚拟机注入灵魂——操作系统了
|
软件我们有了,接下来我们要给虚拟机注入灵魂——操作系统了。
|
||||||
|
|
||||||
不过在开始安装系统前,我们需要新建一个`虚拟机`。
|
不过在开始安装系统前,我们需要新建一个 `虚拟机`。
|
||||||
|
|
||||||
启动软件后,我们会看到像这样的页面:
|
启动软件后,我们会看到像这样的页面:
|
||||||
|
|
||||||
![Home Page](./assets/2.4.vmware.2.png)
|
![Home Page](./assets/2.4.vmware.2.png)
|
||||||
|
|
||||||
然后点击 `创建新的虚拟机` ,你会看到这样的界面:
|
然后点击 `创建新的虚拟机`,你会看到这样的界面:
|
||||||
|
|
||||||
![New VM Page](./assets/2.4.vmware.3.png)
|
![New VM Page](./assets/2.4.vmware.3.png)
|
||||||
|
|
||||||
保持典型不变,点击下一步,点击`安装程序光盘映像文件(iso)(M)`,然后点击浏览,找到你镜像下载到的位置,选中镜像,然后打开:
|
保持典型不变,点击下一步,点击 `安装程序光盘映像文件(iso)(M)`,然后点击浏览,找到你镜像下载到的位置,选中镜像,然后打开:
|
||||||
|
|
||||||
![Choose ISO Img](./assets/2.4.vmware.3.png)
|
![Choose ISO Img](./assets/2.4.vmware.3.png)
|
||||||
|
|
||||||
接着点击下一步,填写`虚拟机的名字`还有`虚拟机的安装位置`(这一步记得选一个剩余空间比较大的分区)
|
接着点击下一步,填写 `虚拟机的名字` 还有 `虚拟机的安装位置`(这一步记得选一个剩余空间比较大的分区)
|
||||||
|
|
||||||
![Set VM](./assets/2.4.vmware.5.png)
|
![Set VM](./assets/2.4.vmware.5.png)
|
||||||
|
|
||||||
现在开始设置`虚拟磁盘`,这相当于你电脑的储存空间,这里直接引用隔壁 VBox 安装的话:
|
现在开始设置 `虚拟磁盘`,这相当于你电脑的储存空间,这里直接引用隔壁 VBox 安装的话:
|
||||||
|
|
||||||
如果你的磁盘空间足够,那么你开多少都行,一般开 40GB 就够了。
|
如果你的磁盘空间足够,那么你开多少都行,一般开 40GB 就够了。
|
||||||
|
|
||||||
|
@ -72,20 +72,20 @@
|
||||||
这时你填写 `4096MB`(6GB) 即可。
|
这时你填写 `4096MB`(6GB) 即可。
|
||||||
一般来说,分配实体机内存的一半即可。
|
一般来说,分配实体机内存的一半即可。
|
||||||
|
|
||||||
CPU数通常只需要填你的CPU核心数的一半就可以了。现在的电脑至少2核起步。
|
CPU数通常只需要填你的CPU核心数的一半就可以了。现在的电脑至少 2 核起步。
|
||||||
如果你在使用13代或以上的Intel酷睿,那么你填写你的大核心(P核)的数量就行。
|
如果你在使用 13 代或以上的 Intel 酷睿,那么你填写你的大核心(P核)的数量就行。
|
||||||
(截至本篇编写时Intel最新的酷睿还是13代,2024。6)
|
(截至本篇编写时 Intel 最新的酷睿还是 13 代,2024.6)
|
||||||
```
|
```
|
||||||
|
|
||||||
对于写者来说,设置完之后的页面如下:
|
对于写者来说,设置完之后的页面如下:
|
||||||
|
|
||||||
![VM Settings](./assets/2.4.vmware.7.png)
|
![VM Settings](./assets/2.4.vmware.7.png)
|
||||||
|
|
||||||
最后关闭设置页面,点击`完成`,虚拟机就大功告成了!(如果你勾选了`创建后启动此虚拟机`那么则会自动启动)
|
最后关闭设置页面,点击`完成`,虚拟机就大功告成了!(如果你勾选了 `创建后启动此虚拟机` 那么则会自动启动)
|
||||||
|
|
||||||
## 启动虚拟机
|
## 启动虚拟机
|
||||||
|
|
||||||
假如说你在上一部勾选了`创建后启动此虚拟机`的话,你的虚拟机应该现在已经启动了,但是以防万一,这里还是讲解一下如何在VMWare WorkStation Pro 里启动虚拟机:
|
假如说你在上一部勾选了 `创建后启动此虚拟机` 的话,你的虚拟机应该现在已经启动了,但是以防万一,这里还是讲解一下如何在 VMWare WorkStation Pro 里启动虚拟机:
|
||||||
|
|
||||||
第一步,选中`虚拟机`:
|
第一步,选中`虚拟机`:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,146 @@
|
||||||
|
# 循环
|
||||||
|
|
||||||
|
我相信你一定听说过循环这个词,循环可以让我们重复执行一段代码,帮助我们完成一些重复的工作。循环也有许多的类型,有可以一直持续下去的,也可以就执行几次。
|
||||||
|
|
||||||
|
那么在 Shell Script 中,我们可以使用以下几种循环结构:
|
||||||
|
|
||||||
|
- `for-in`: 依次循环某个数组中的每个元素。
|
||||||
|
- `for`:可以方便的从一个数走到另一个数,当然不止这一种用法。
|
||||||
|
- `while`: 在条件为真时,重复执行一段代码。
|
||||||
|
- `until`: 在条件为假时,重复执行一段代码。
|
||||||
|
|
||||||
|
接下来就让我们逐一讲解这些循环结构吧。
|
||||||
|
|
||||||
|
## 数组
|
||||||
|
|
||||||
|
数组是 Shell Script 中的一种数据结构。数组在 sh 上并不存在,你需要使用 bash。它可以存储多个值,并且可以通过数字(索引)来访问这些值。
|
||||||
|
|
||||||
|
> 在 zsh 等 Shell 中,数组的行为并不总是一样的。下文均使用 bash。
|
||||||
|
|
||||||
|
在 Shell Script 中,我们可以使用以下语法来定义一个数组:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
array=("value1" "value2" "value3")
|
||||||
|
```
|
||||||
|
|
||||||
|
数组中的元素都拥有一个唯一的索引,索引从 0 开始。我们可以使用下面的方法来访问数组中的元素:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
${array[0]}
|
||||||
|
```
|
||||||
|
|
||||||
|
这将会返回 array 数组中的第一个元素,即 `value1`。
|
||||||
|
|
||||||
|
## `for-in` 循环
|
||||||
|
|
||||||
|
`for-in` 循环是 Shell Script 中最常用的循环结构之一,它允许我们依次循环某个数组中的每个元素。以下是一个简单的 for-in 循环示例:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
for variable in array
|
||||||
|
do
|
||||||
|
你的代码
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
在这个示例中,variable 是循环变量,array 是要循环的数组。在每次循环中,variable 都会按顺序被赋值为 array 中的一个元素,然后执行你的代码。当 array 中的所有元素都被循环完毕后,循环结束。
|
||||||
|
|
||||||
|
这里 array 除了可以放数组之外,也可以放字符串(按行遍历)和范围语句。
|
||||||
|
|
||||||
|
范围语句的格式如下:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
{起点..终点}
|
||||||
|
{起点..终点..步长}
|
||||||
|
```
|
||||||
|
|
||||||
|
> 在 bash 中,起点可以大于终点,但是步长要为正数。并且起点和终点都会被遍历
|
||||||
|
|
||||||
|
例如:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
for num in {1..10}
|
||||||
|
do
|
||||||
|
echo $num
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
会输出从 1 到 10。
|
||||||
|
|
||||||
|
> 在范围语句内不能加变量,如果需要使用变量请往下看。
|
||||||
|
|
||||||
|
## `for` 循环
|
||||||
|
|
||||||
|
for 循环是 Shell Script 中另一种常用的循环结构,它允许我们使用初始化、判断条件、迭代语句来控制循环的执行。以下是一个简单的for循环示例:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
for ((初始化语句; 你的条件; 迭代语句))
|
||||||
|
do
|
||||||
|
你的代码
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
在这个例子中,初始化语句会被执行,然后执行一次判断语句。如果判断语句的结果为真,那么就会进行一次循环。当你的代码运行完毕后,会执行一次迭代语句,然后再回去执行判断。
|
||||||
|
|
||||||
|
例如:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
for ((i=1; i<=10; i++))
|
||||||
|
do
|
||||||
|
echo $i
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
就对应了 `{1..10..1}` 的结果。
|
||||||
|
|
||||||
|
> 这里表达式和方括号有区别,不能使用 `-lt` 一类的符号。可以使用:`==`、`>=`、`<=`、`!=`。
|
||||||
|
>
|
||||||
|
> 而后面的 `i++` 中,可以使用 `--`,也可以使用 `+=`、`-=`、`*=`、`/=` 后面加一个数字。
|
||||||
|
|
||||||
|
## `while` 循环
|
||||||
|
|
||||||
|
`while` 循环允许我们在某个条件为真时,重复执行一段代码。以下是一个简单的示例:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
while 条件
|
||||||
|
do
|
||||||
|
你的代码
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
while 循环就相当于一个 for 循环,但是没有了初始化和迭代语句。如果你在条件的位置写上了 `true`,那么它会永无休止的执行下去,除非你手动停止。
|
||||||
|
|
||||||
|
> while 中的条件需要使用方括号。
|
||||||
|
|
||||||
|
例如:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
i=1
|
||||||
|
while [ $i -le 10 ]
|
||||||
|
do
|
||||||
|
echo $i
|
||||||
|
i=$[ $i + 1 ]
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
和上面 for 的版本是一样的。
|
||||||
|
|
||||||
|
## `until` 循环
|
||||||
|
|
||||||
|
`until` 循环刚好与 while 循环相反,它允许我们在某个条件为假时,重复执行一段代码。以下是一个简单的 until 循环示例:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
until 你的条件
|
||||||
|
do
|
||||||
|
你的代码
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
until 因为 和 while 十分相似,这里就不过多解释了。
|
||||||
|
|
||||||
|
until 循环常常被用于多次尝试的场景下,例如尝试连接到一个远程服务器,直到连接成功为止。
|
||||||
|
|
||||||
|
## 课后作业
|
||||||
|
|
||||||
|
- 使用 for 循环制作一个程序,这个程序读取一个正整数 N,并输出 2^N 的值(提示:只需要让变量从 1 开始,每次乘 2 即可)。
|
||||||
|
- 使用 while 循环制作一个猜数字游戏,程序会随机生成一个 1 到 100 之间的整数,玩家需要猜出这个数字是多少,程序会根据玩家的猜测给出猜大了或者猜小了的提示,直到玩家猜对为止(提示:生成随机数可以使用 `$[ $RANDOM % 99 + 1 ]`,其中 `$RANDOM` 是一个 0~32767 的随机整数)。
|
||||||
|
- 使用 for-in 循环制作一个程序,该程序读取一个列表,并挨个输出它的所有元素。
|
Loading…
Reference in New Issue