实验 2 - 熟悉常用的 Linux 和 Hadoop 操作¶
本次实验相对简单但较冗长。如果你已经有一定的 Linux/UNIX shell 使用经验,应该能相对顺利地完成。
登录到系统,我们开始吧。
常用的 Linux 命令¶
正在使用 macOS?
如果你正在使用 macOS,由于 macOS 是类 UNIX 系统,你可以直接在系统上完成这个章节除 Hadoop 命令以外的部分,不需要用到虚拟机。打开“终端”应用即可(按 Cmd+Space 打开“聚焦”搜索,输入“终端”也可)。
我们来尝试使用一些常用的 Linux 命令来完成一些简单的任务。
env - 环境变量工具¶
- 打印环境变量
- 将
env命令输出内容保存到/tmp/env.tmp
cd - 切换目录¶
命令来源
cd: change directory
- 切换到
/usr/local目录 - 前往上级目录
- 前往自己的家目录
特殊的目录符号
常见的目录包括以下几个:
~:家目录,用户的主目录.:当前目录..:上级目录
ls - 列出文件¶
命令来源
ls: list directory contents
- 查看
/usr下所有文件
mkdir - 创建目录¶
命令来源
mkdir: make directories
- 在
/tmp创建一个a目录 - 在当前目录下创建目录
a1/a2/a3/a4
cp - 复制文件¶
命令来源
cp: copy files and directories
- 将刚刚临时创建的
env.tmp文件复制到/tmp,命名env-copy.tmp - 新建一个目录
/tmp/d1,复制到/tmp/d2
mv - 移动文件¶
命令来源
mv: move (rename) files
- 将
/tmp/env-copy.tmp移动到/tmp/a - 将
/tmp/a重命名为/tmp/b
rm - 删除文件¶
命令来源
rm: remove files or directories
- 删除
/tmp/b/env-copy.tmp - 删除
b目录
cat - 查看或合并文件内容¶
- 查看
/tmp/env.tmp文件内容
more 和 less - 交互式阅读文件内容¶
- 使用
more交互式查看/tmp/env.tmp文件内容(按 Q 退出) - 使用
less交互式查看/tmp/env.tmp文件内容(按 Q 退出)
head 和 tail - 查看文件的前/后若干行¶
- 查看
/tmp/env.tmp的前 5 行 - 查看
/tmp/env.tmp的后 5 行
touch - 修改文件时间戳¶
时间不对?
你得到的输出可能是 Nov 11 08:00 /tmp/hello,这是为什么呢?先自己思考一下吧 ;)
同时,touch 命令还允许很多种“时间”描述,你可以尝试:
然后查看结果。
你可以阅读 Ubuntu Manpage 来了解更多。
- 创建文件
/tmp/hello - 修改文件的创建日期为 2022/11/11
- 查看文件信息
chmod - 调整文件权限¶
命令来源
chmod: change file mode bits
- 调整
/tmp/hello权限为0755
chown - 调整文件所有者¶
命令来源
chown: change file owner and group
- 切换到
super用户 - 调整
/tmp/hello所有者为root - 移除这个文件
- 退出
super用户
find - 查找文件¶
- 建一个目录,放一些东西供我们查找用
- 在
/tmp/find目录查找文件名为test.txt的文件
tar - 压缩文件实用工具¶
- 在
/tmp新建tartest目录,打包成test.tar.gz - 解压缩到
/tmp目录
grep - 查找文本¶
- 从
/tmp/env.tmp查找SHELL
杂项¶
- 创建一个临时文件,用于临时将
JAVA_HOME设置到环境变量2 - 查看
JAVA_HOME值 - 清理我们在
/tmp创建的文件
常用的 Hadoop 命令¶
- 启动 Hadoop
- 使用
hadoop身份登录到namenode - 在 HDFS 创建用户目录
- 在本地文件系统生成临时文件,使用
uname -a输出 - 将生成的
uname.txt上传到 HDFS 的/user/hadoop目录 - 将 HDFS 中的
/user/hadoop/testrc复制到本地 - 查看下载文件内容
结束了?¶
结束了。实验 2 相对简单,但目的是初步熟悉常用的 Linux 命令,如何在系统里导航和执行最基本的任务。接下来,你会用到这里的经验的。
Changelog / 更新日志¶
以下为一些本手册的主要变化,可能不包括所有变更。
- 2023/03/17
- 调整了部分命令,以免对系统配置发生修改
- 修改了
hadoop fs命令为更加针对 HDFS 的hdfs dfs命令
- 2023/03/09
- 增加了“命令来源”板块
- 调整了提示框的布局
- 调整了语法高亮
