Linux&Shell面试题

1、Liunx常用高级命令?

命令 说明
top 查看内存
df -h 查看磁盘内存情况
iotop 查看磁盘IO读写(yum install iotop安装)
iotop -o 直接查看比较高的磁盘读写程序
netstat -tunlp | grep 端口号 查看端口占用情况
uptime 查看报告系统运行时长及平均负载
ps -aux 查看进程

2、如果某个端口被占用了,怎么解决?

先找到是哪个进程占用了端口,之后杀死占用该端口的进程

3、Shell常用工具及写过的脚本?

常用工具:awk、sed、cut、sort

写过的脚本:集群启动、分发脚本;数仓与mysql的导入导出;数仓层级内部的导入

4、Shell中提交了一个脚本,进程号已经不知道了,但是需要kill掉这个进程,怎么操作?

ssh $i "ps -ef | grep file-flume-kafka | grep -v grep | awk '{print \$2}' | xargs kill

awk:默认分隔符为空格

xargs:表示取出前面命令运行的结果,作为后面命令的输入参数

5、Shell中单引号和双引号的区别?

  1. 单引号不取变量值;双引号取变量值
  2. 反引号`,执行引号中命令
  3. 单引号内部嵌套双引号,不取出变量值;双引号内部嵌套单引号,取出变量值

6、项目经验之Linux环境变量?

  1. 修改/etc/profile文件

    用来设置系统环境参数,比如$PATH

    这里面的环境变量是对系统内所有用户生效

    使用bash命令,需要source /etc/profile一下

  2. 修改~/.bashrc文件

    针对某一个特定的用户,环境变量的设置只对该用户自己有效

    使用bash命令,只要以该用户身份运行命令行就会读取该文件

  3. 把/etc/profile里面的环境变量追加到~/.bashrc目录

    cat /etc/profile >> ~/.bashrc

  4. 说明

    登录式Shell,采用用户名登录,会自动加载/etc/profile

    非登录式Shell,采用ssh登录,不会自动加载/etc/profile,会自动加载~/.bashrc

你可能感兴趣的:(面试,Linux,shell,linux)