熟悉常用的Linux操作和Hadoop操作
1. 熟悉常用的 Linux 操作
1)`cd` 命令:切换目录
- (1)切换到目录 `/usr/local`:
```bash
cd /usr/local
```
- (2)切换到当前目录的上一级目录:
```bash
cd ..
```
- (3)切换到当前登录 Linux 系统的用户的主文件夹:
```bash
cd ~
```
2)`ls` 命令:查看文件与目录
- 查看目录 `/usr` 下的所有文件和目录:
```bash
ls -l /usr
```
3)`mkdir` 命令:新建目录
- (1)进入 `/tmp` 目录,创建一个名为 `a` 的目录,并查看 `/tmp` 目录下已经存在哪些目录:
```bash
cd /tmp
mkdir a
ls -d */
```
- (2)进入 `/tmp` 目录,创建目录 `a1/a2/a3/a4`:
```bash
mkdir -p a1/a2/a3/a4
```
4)`rmdir` 命令:删除空的目录
- (1)将上面创建的目录 `a`(在 `/tmp` 目录下面)删除:
```bash
rmdir a
```
- (2)删除上面创建的目录 `a1/a2/a3/a4`(在 `/tmp` 目录下面),然后查看 `/tmp` 目录下面存在哪些目录:
```bash
rmdir -p a1/a2/a3/a4
ls -d */
```
5)`cp` 命令:复制文件或目录
- (1)将当前用户的主文件夹下的文件 `.bashrc` 复制到目录 `/usr` 下,并重命名为 `bashrc1`:
```bash
sudo cp ~/.bashrc /usr/bashrc1
```
- (2)在目录 `/tmp` 下新建目录 `test`,再把这个目录复制到 `/usr` 目录下:
```bash
mkdir /tmp/test
sudo cp -r /tmp/test /usr/
```
6)`mv` 命令:移动文件与目录,或更名
- (1)将 `/usr` 目录下的文件 `bashrc1` 移动到 `/usr/test` 目录下:
```bash
sudo mv /usr/bashrc1 /usr/test/
```
- (2)将 `/usr` 目录下的 `test` 目录重命名为 `test2`:
```bash
sudo mv /usr/test /usr/test2
```
7)`rm` 命令:移除文件或目录
- (1)将 `/usr/test2` 目录下的 `bashrc1` 文件删除:
```bash
sudo rm /usr/test2/bashrc1
```
- (2)将 `/usr` 目录下的 `test2` 目录删除:
```bash
sudo rm -r /usr/test2
```
8)`cat` 命令:查看文件内容
- 查看当前用户主文件夹下的 `.bashrc` 文件内容:
```bash
cat ~/.bashrc
```
9)`tac` 命令:反向查看文件内容
- 反向查看当前用户主文件夹下的 `.bashrc` 文件的内容:
```bash
tac ~/.bashrc
```
10)`more` 命令:一页一页翻动查看
- 翻页查看当前用户主文件夹下的 `.bashrc` 文件的内容:
```bash
more ~/.bashrc
```
11)`head` 命令:取出前面几行
- (1)查看当前用户主文件夹下 `.bashrc` 文件内容前 20 行:
```bash
head -n 20 ~/.bashrc
```
- (2)查看当前用户主文件夹下 `.bashrc` 文件内容,后面 50 行不显示,只显示前面几行:
```bash
head -n -50 ~/.bashrc
```
12)`tail` 命令:取出后面几行
- (1)查看当前用户主文件夹下 `.bashrc` 文件内容最后 20 行:
```bash
tail -n 20 ~/.bashrc
```
- (2)查看当前用户主文件夹下 `.bashrc` 文件内容,并且只列出 50 行以后的数据:
```bash
tail -n +51 ~/.bashrc
```
13)`touch` 命令:修改文件时间或创建新文件
- (1)在 `/tmp` 目录下创建一个空文件 `hello`,并查看文件时间:
```bash
touch /tmp/hello
ls -l /tmp/hello
```
- (2)修改 `hello` 文件,将文件时间整为 5 天前:
```bash
sudo touch -d "5 days ago" /tmp/hello
```
14)`chown` 命令:修改文件所有者权限
- 将 `hello` 文件所有者改为 `root` 帐号,并查看属性:
```bash
sudo chown root /tmp/hello
ls -l /tmp/hello
```
15)`find` 命令:文件查找
- 找出主文件夹下文件名为 `.bashrc` 的文件:
```bash
find ~ -name ".bashrc"
```
16)`tar` 命令:压缩命令
- (1)在根目录 `/` 下新建文件夹 `test`,然后在根目录 `/` 下打包成 `test.tar.gz`:
```bash
sudo mkdir /test
sudo tar -czvf /test.tar.gz /test
```
- (2)把上面的 `test.tar.gz` 压缩包,解压缩到 `/tmp` 目录:
```bash
sudo tar -xzvf /test.tar.gz -C /tmp
```
17)`grep` 命令:查找字符串
- 从 `~/.bashrc` 文件中查找字符串 `examples`:
```bash
grep 'examples' ~/.bashrc
```
18)配置环境变量
- (1)请在 `~/.bashrc` 中设置,配置 Java 环境变量:
```bash
echo "export JAVA_HOME=/path/to/java" >> ~/.bashrc
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
```
- (2)查看 `JAVA_HOME` 变量的值:
```bash
echo $JAVA_HOME
```
二:
1. 创建test文件夹
在HDFS的`/user/hadoop`下创建`test`文件夹:
```bash
hadoop fs -mkdir /user/hadoop/test
```
2. 查看文件列表
查看`/user/hadoop`目录下的文件列表:
```bash
hadoop fs -ls /user/hadoop
```
3. 上传.bashrc文件到HDFS
将Linux系统本地的`~/.bashrc`文件上传到HDFS的`test`文件夹中:
```bash
hadoop fs -put ~/.bashrc /user/hadoop/test/
```
4. 查看test文件夹内容
查看`test`文件夹的内容:
```bash
hadoop fs -ls /user/hadoop/test
```
5. 将HDFS文件夹test复制到本地
将HDFS中的`test`文件夹复制到Linux系统本地文件系统的`/usr/local/hadoop`目录下:
```bash
hadoop fs -get /user/hadoop/test /usr/local/hadoop/
```
出现的问题:1.出现hadoop@hadoop:/tmp$ cp ~/.bashrc /usr/bashrc1 cp: 无法创建普通文件'/usr/bashrc1': 权限不够 问题 |
解决方案(列出遇到的问题和解决办法,列出没有解决的问题):1.将命令前缀追加sudo : sudo cp ~/.bashrc /usr/bashrc1 |