CS61B Lab1
CS61B Lab1
解决方案
1. 计算机配置
A. 操作系统设置
- Windows:
- 安装 Java Development Kit (JDK)。
- 配置环境变量,确保
java
和javac
命令可用。 - 可选择使用 Bash for Windows,但需双重安装 Java(在 Bash 和 Windows 中分别安装)。
- macOS:
- 安装 JDK。
- 使用终端进行操作。
- Linux:
- 安装 JDK,确保系统更新。
- 确保
java
和javac
命令可用。
2. 学习使用终端
终端基础
- 打开终端:
- Windows:使用命令提示符或 PowerShell。
- macOS:通过 Spotlight 搜索“Terminal”。
- Linux:通常在应用程序菜单中找到终端。
常用命令
cd <目录名>
:改变当前工作目录。例如,cd hw
将目录切换到hw
。pwd
:打印当前工作目录的绝对路径。ls
:列出当前目录中的文件和文件夹。ls -l
:以详细格式列出文件和文件夹,包括权限和时间戳。
mkdir <目录名>
:在当前目录中创建一个新目录。rm <文件名>
:删除当前目录中的指定文件。rm -r <目录名>
:递归删除目录及其内容。
cp <源文件> <目标文件>
:复制文件。mv <源文件> <目标文件>
:移动或重命名文件。
3. 常用命令技巧
- Tab 完成:在输入文件名或目录名时按 Tab 键自动补全。
- 历史命令:按上箭头键可以查看最近使用过的命令,方便重复输入。
4. 测试运行环境
检查工具
- 检查 Git:
- 输入命令
git --version
,确保 Git 已正确安装。
- 输入命令
- 检查 Python:
- 输入命令
python -i
启动 Python 交互模式,使用quit()
退出。 - 若命令失败,尝试
python3 -i
。
- 输入命令
- 检查 Java:
- 创建临时目录:
mkdir ~/temp
,cd ~/temp
。 - 使用文件浏览器查看目录内容(不同操作系统的命令)。
- 创建临时目录:
5. 编写和运行 Java 程序
创建 Java 文件:
创建
HelloWorld.java
,文件内容如下:1
2
3
4
5public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
编译 Java 文件:
- 使用
javac HelloWorld.java
编译文件。 - 编译后应生成
HelloWorld.class
文件。
- 使用
运行 Java 程序:
- 使用
java HelloWorld
命令运行程序,应输出 "Hello world!"。
- 使用
6. 故障排除
- 如果在任何步骤中遇到问题:
- 检查安装是否完整。
- 尝试重启终端或计算机。
- 参考操作系统的故障排除指南。
原文:
我们鼓励您在来实验室之前尽量独立完成此设置。如果您遇到困难,可以在办公时间或实验室寻求帮助。
A. 配置您的计算机
根据您的操作系统,有一些步骤需要完成,以便为 61B 课程设置您的计算机。
具体步骤取决于您的操作系统。
- Windows 指南 [视频演示]
- macOS 指南
- Linux 指南
在完成上述操作系统的说明后,再进行下一部分。Windows 的高级用户也可以使用新的 Bash for Windows 功能,但我们不会提供官方指导。请注意,如果您使用 Bash for Windows,则需要分别在 Bash 和 Windows 中安装 Java(按照上述说明)。
B. 学习使用终端
如果您已经知道如何打开和使用终端,请跳过此部分。
终端是一个应用程序,可以让您运行各种程序,并操控计算机中的文件。它是一个强大的工具,但也可能带来危险,因此请谨慎使用某些命令。在 UNIX 操作系统上,终端应用程序将为您提供所需的一切。例如,在 macOS 上,您可以使用 Spotlight 搜索终端应用程序。
实验室计算机运行的是 UNIX 操作系统。因此,您可以使用 xterm 命令更改您的目录和文件。以下是一些在本课程中可能会用到的重要命令:
cd:更改工作目录
1
cd hw
此命令将您的目录更改为 hw。
pwd:当前工作目录
1
pwd
此命令将告诉您当前所在目录的完整绝对路径,如果您不确定自己在哪里。
.:表示您当前的目录
1
cd .
此命令将您的目录更改为当前目录(也就是不做任何操作)。
..:表示当前目录的上一级目录
1
cd ..
此命令将您的目录更改为父目录。如果您在 /workspace/day1/ 中,此命令将把您置于 /workspace/。
ls:列出目录中的文件/文件夹
1
ls
此命令将列出您当前目录中的所有文件和文件夹。
1
ls -l
此命令将列出您当前目录中的所有文件和文件夹,并附上时间戳和文件权限。这可以帮助您确认文件是否已正确更新,或更改文件的读/写/执行权限。
mkdir:创建目录
1
mkdir dirname
此命令将在当前目录下创建一个名为 dirname 的目录。
rm:删除文件
1
rm file1
此命令将从当前目录中删除 file1。如果 file1 不存在,则不会生效。
1
rm -r dir1
此命令将递归地删除 dir1 目录。换句话说,它将删除 dir1 中的所有文件和目录,以及 dir1 本身。使用此命令时请小心!
cp:复制文件
1
cp lab1/original lab2/duplicate
此命令将 lab1 目录中的原始文件复制,并在 lab2 目录中创建一个副本。
mv:移动或重命名文件
1
mv lab1/original lab2/original
此命令将 original 从 lab1 移动到 lab2。与 cp 不同,mv 不会保留 lab1 中的 original。
1
mv lab1/original lab1/newname
此命令并不会移动文件,而是将其重命名为 newname。
在命令行导航时,还有一些其他有用的技巧:
UNIX 可以通过按 Tab 键自动完成文件名和目录名。当您输入一个不完整的名称(对于已存在的文件或目录)时,可以尝试按 Tab 键进行自动补全或显示可能的名称列表。
如果想重输入最近使用的相同指令,可以按键盘上的上键,直到看到正确的指令。这可以节省在执行重复指令(如在命令行上运行 Java 程序进行测试)时的输入时间。
C. 测试运行
让我们确保一切正常工作。
首先,打开您的终端。通过输入以下命令检查 git 是否被识别为命令:
1 | git --version |
如果打印出 git 的版本号,则说明已正确安装。如果您看到“git: command not found”或类似信息,请尝试打开一个新的终端窗口、重启计算机或重新安装 Git。
在终端中检查 python 是否被识别为命令:
1 | python -i |
这将启动 python 的交互模式。使用 quit()
退出。如果它无法正常工作,请尝试命令
python3 -i
,或者打开一个新的终端窗口、重启计算机或重新安装
Python。如果这些方法都无效,请参阅您操作系统下的故障排除指南。
最后,让我们检查 javac
和 java
是否工作正常。首先,在终端中运行以下命令:
1 | mkdir ~/temp |
然后,在此目录中打开操作系统的文件资源管理器。您可以通过命令行完成此操作:
- Mac:
open .
- Windows:
explorer .
- Ubuntu:
gnome-open .
- Linux Mint:
xdg-open .
或mate .
在新打开的目录中,创建一个名为 HelloWorld.java
的文件,内容如下:
1 | public class HelloWorld { |
在您的终端中输入
ls
(列出此目录中的文件/文件夹)。您应该能看到
HelloWorld.java
被列出。
运行
javac HelloWorld.java
。如果这产生任何输出,则您的设置可能存在问题。尝试打开一个新的终端窗口或重启计算机。如果仍然无效,请查看您操作系统的故障排除部分。
输入 ls
,您应该能看到 HelloWorld.java
和一个新创建的 HelloWorld.class
(该文件由
javac
命令创建)。
运行 java HelloWorld
。它应该打印出“Hello
world!”。如果没有,则说明您的设置存在问题!
您完成了!您也可以根据需要删除“temp”文件夹及其内容。