----------------以下试题使用的都是CentOS7的命令----------------
-
如何回到当前用户的家目录
cd ~或者cd
-
如何查看主机名
hostname
-
我有node1(10.0.11.2),node2(10.0.11.3),node3(10.0.11.4)三个节点组成集群,写出给node1添加映射的命令
1)打开配置文件的命令 vi /etc/hosts
2)将三个节点都添加上(在编辑的hosts文件中添加如下,保存退出即可)
10.0.11.2 node1
10.0.11.3 node2
10.0.11.4 node3 -
创建文件的几种方式(写四种)
1)vi test.txt 或者vim test.txt(编辑文件之后保存)
2)echo ‘nihao’ > test2.txt (创建文件之后向文件中添加nihao)
3)touch test3.txt (创建文件)
4)cp test3.txt test4.txt (复制test3.txt ,生成test4.txt)
使用ll查看前目录下的文件
-
永久关闭防火墙/网络管理
systemctl disable firewalld
systemctl disable NetworkManager
并查看其状态
-
安装jdk,包名:/usr/locl/java-jdk-1.8.0.tar.gz,安装到到/root/
注意:先自己下载这个包,然后使用远程工具将这个包上传到/usr/local/下,再执行以下步骤- tar -zvcf /usr/locl/java-jdk-1.8.0.tar.gz /root
- 解压之后得到java-jdk-1.8.0包
- 为了以后得操作更方便,将这个长长的包名修改为jdk
- mv java-jdk-1.8.0 jdk
- 为了可以在任何目录下执行这个jdk包,将它的路径配置到path中
- vi /etc/profile
- 向文件中添加如下内容
- export JAVA_HOME=/usr/local/jdk
- export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JAVA_HOME/lib
- 再执行以下命令,使文件生效
- source /etc/profile
- 使用以下命令查看jdk的目录
- echo $PATH
- 使用如下命令查看java的版本
- java -version
7. 有一个文件 test.txt,内容如下:
Bigdata2003 daydayup
#good student
#good study
要求查找出以#开头的行:
- cat test.txt | grep “#*”
- 将/home下的文件1.TXT,2.TXT按如下要求一起打包并压缩
- 以bzip2方式到/data1下,名字为txt.tar.gz
tar -zcvf /data1/txt.tar.gz /home/1.txt /home/2.txt
- 以gzip方式到/data2下,名字为txt.tar.bz2
tar -jcvf /data2/txt.tar.bz2 /home/1.txt /home/2.txt
- SSH免密码登录的配置(hadoop01免密码登录到hadoop02) 注意:映射已经做好
- ssh-****** -t rsa
这里默认按三次回车
- ssh-copy-id [email protected]
这里需要选择一次yes,然后第一次登陆需要输入一次密码
- 将hadoop01上的/etc/profile文件拷贝到hadoop02的根目录下,并改名字为profile.bak
- scp /etc/profile [email protected]:/root/profile.bak
- 到hadoop02下查看
- 编辑一个shell程序,模拟登陆 请输入姓名: 请输入密码: 如果姓名跟bing一样,密码跟123456一样认为登录成功.否则失败. 要求:要进行测试
- vi login.sh
- 写入shell脚本并保存退出,脚本如下:
#!/bin/bash
read -t 10 -p “请输入姓名:” name
read -t 10 -p “请输入密码:” password
if [ $name == bing -a $password == 123456 ]
then
echo “登陆成功”
else
echo “登陆失败”
fi
3) bash login.sh (测试脚本)
- 编写一个shell程序,实现一次性的打开或者关闭防火墙和NetworkManager
- vi swich.sh
- 脚本内容如下:
#!bin/bash
case $1 in
close)
systemctl disable firewalld
systemctl disable NetworkManager
;;
open)
systemctl enable firewalld
systemctl enable NetworkManager
;;
esac - bash swich.sh open(或者close)
- 编写一个定时器,实现每个月的11号11时11分执行两个功能:
-
将”又过了一个月”写入/root/linshi.log
-
遍历/root要求:要编写shell脚本
-
vi /root/linshi.log (创建脚本文件)
-
向文件中写入如下代码:
#!bin/bash
/bin/echo “又过了一个月” >> /root/linshi.log
/bin/ls /root -
crontab -e (创建定时器)
-
往定时器中加入需要执行的命令,如下:
-
11 11 11 * * /bin/bash /root/shell.sh
-
因为这个定时器是临时的,所以不需要的时候建议关掉
-
service crond stop
- 使用两种方式实现运算:(4-2) * 4
(1) echo $((((4-2))*4))
(2) echo expr \
expr 4 - 2 ` * 4`
-
如果进行网络配置,默写进入ifcfg-ens33文件的语句
vi /etc/sysconfig/network-scripts/ifcfg-ens33