Linux常用命令、shell脚本之基础试题 -01

时间:2024-03-21 20:36:02

----------------以下试题使用的都是CentOS7的命令----------------

  1. 如何回到当前用户的家目录

    cd ~或者cd

Linux常用命令、shell脚本之基础试题 -01

  1. 如何查看主机名

    hostname
    Linux常用命令、shell脚本之基础试题 -01

  2. 我有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

  3. 创建文件的几种方式(写四种)

    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查看前目录下的文件
    Linux常用命令、shell脚本之基础试题 -01

  4. 永久关闭防火墙/网络管理

    systemctl disable firewalld

    systemctl disable NetworkManager

并查看其状态
Linux常用命令、shell脚本之基础试题 -01

  1. 安装jdk,包名:/usr/locl/java-jdk-1.8.0.tar.gz,安装到到/root/
    注意:先自己下载这个包,然后使用远程工具将这个包上传到/usr/local/下,再执行以下步骤

    1. tar -zvcf /usr/locl/java-jdk-1.8.0.tar.gz /root
    2. 解压之后得到java-jdk-1.8.0包
    3. 为了以后得操作更方便,将这个长长的包名修改为jdk
    4. mv java-jdk-1.8.0 jdk
    5. 为了可以在任何目录下执行这个jdk包,将它的路径配置到path中
    6. vi /etc/profile
    7. 向文件中添加如下内容
    8. export JAVA_HOME=/usr/local/jdk
    9. export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JAVA_HOME/lib
    10. 再执行以下命令,使文件生效
    11. source /etc/profile
    12. 使用以下命令查看jdk的目录
    13. echo $PATH
    14. 使用如下命令查看java的版本
    15. java -version

Linux常用命令、shell脚本之基础试题 -01
7. 有一个文件 test.txt,内容如下:

Bigdata2003 daydayup
#good student
#good study
要求查找出以#开头的行:

  1. cat test.txt | grep “#*”

Linux常用命令、shell脚本之基础试题 -01

  1. 将/home下的文件1.TXT,2.TXT按如下要求一起打包并压缩
  1. 以bzip2方式到/data1下,名字为txt.tar.gz

tar -zcvf /data1/txt.tar.gz /home/1.txt /home/2.txt

  1. 以gzip方式到/data2下,名字为txt.tar.bz2

tar -jcvf /data2/txt.tar.bz2 /home/1.txt /home/2.txt

  1. SSH免密码登录的配置(hadoop01免密码登录到hadoop02) 注意:映射已经做好
  1. ssh-****** -t rsa

这里默认按三次回车
Linux常用命令、shell脚本之基础试题 -01

  1. ssh-copy-id [email protected]

这里需要选择一次yes,然后第一次登陆需要输入一次密码
Linux常用命令、shell脚本之基础试题 -01

  1. 将hadoop01上的/etc/profile文件拷贝到hadoop02的根目录下,并改名字为profile.bak
  1. scp /etc/profile [email protected]:/root/profile.bak

Linux常用命令、shell脚本之基础试题 -01

  1. 到hadoop02下查看
    Linux常用命令、shell脚本之基础试题 -01
  1. 编辑一个shell程序,模拟登陆 请输入姓名: 请输入密码: 如果姓名跟bing一样,密码跟123456一样认为登录成功.否则失败. 要求:要进行测试
  1. vi login.sh
  2. 写入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 (测试脚本)

  1. 编写一个shell程序,实现一次性的打开或者关闭防火墙和NetworkManager
  1. vi swich.sh
  2. 脚本内容如下:
    #!bin/bash
    case $1 in
    close)
    systemctl disable firewalld
    systemctl disable NetworkManager
    ;;
    open)
    systemctl enable firewalld
    systemctl enable NetworkManager
    ;;
    esac
  3. bash swich.sh open(或者close)

Linux常用命令、shell脚本之基础试题 -01
Linux常用命令、shell脚本之基础试题 -01

  1. 编写一个定时器,实现每个月的11号11时11分执行两个功能:
  1. 将”又过了一个月”写入/root/linshi.log

  2. 遍历/root要求:要编写shell脚本

  3. vi /root/linshi.log (创建脚本文件)

  4. 向文件中写入如下代码:
    #!bin/bash
    /bin/echo “又过了一个月” >> /root/linshi.log
    /bin/ls /root

  5. crontab -e (创建定时器)

  6. 往定时器中加入需要执行的命令,如下:

  7. 11 11 11 * * /bin/bash /root/shell.sh

  8. 因为这个定时器是临时的,所以不需要的时候建议关掉

  9. service crond stop

Linux常用命令、shell脚本之基础试题 -01

  1. 使用两种方式实现运算:(4-2) * 4

(1) echo $((((4-2))*4))

Linux常用命令、shell脚本之基础试题 -01
(2) echo expr \ expr 4 - 2 ` * 4`
Linux常用命令、shell脚本之基础试题 -01

  1. 如果进行网络配置,默写进入ifcfg-ens33文件的语句

    vi /etc/sysconfig/network-scripts/ifcfg-ens33

Linux常用命令、shell脚本之基础试题 -01