面试题汇总

1. Linux下如何使用配置文件设置网卡IP地址。

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
设置静态ip:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.20.184
NETMASK=255.255.255.0
GATEWAY=192.168.20.1

设置完成后重启:
systemctl restart network

2. Linux下配置主机名,并使之永久生效

1) 永久生效的
 [root@localhost ~]# hostnamectl set-hostname "test"
2) 修改/etc/hostname
 [root@localhost ~]# cat /etc/hostname
test

3. 给出你经常用的远程访问一台Linux主机的工具和方法,如何向远程主机上传文件,如何从远程主机向本地下载文件

远程访问Linux主机的工具: xshell ,使用密码或者秘钥的形式进行管理
下载和上传,可以使用命令rz, sz
也可以直接使用xshell工具

4. 如何查看系统的如下参数: 1cpu核心数,内存大小,硬盘总量 2 当前的cpu利用率,每个cpu核的利用率,当前内存使用情况, 3 指定进程的cpu利用率和内存使用量

查看cpu
[root@localhost ~]# cat /proc/cpuinfo | grep processor
processor	: 0
processor	: 1

查看内存
[root@localhost ~]# cat /proc/meminfo | head -n 2
MemTotal:        1907304 kB
MemFree:         1355508 kB

查看硬盘
[root@localhost ~]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      8.3G  3.7G  4.2G  47% /
tmpfs                 932M   76K  932M   1% /dev/shm
/dev/sda1             477M   40M  412M   9% /boot
/dev/sr0              3.7G  3.7G     0 100% /media/CentOS_6.8_Final

5. 查看某个目录或者文件的占用空间大小

[root@localhost ~]# du -h
4.0K	./.nautilus
148K	./.pulse
4.0K	./文档
4.0K	./.ssh
4.0K	./模板
8.0K	./.dbus/session-bus
12K	./.dbus
4.0K	./下载
4.0K	./桌面

6. 强制关闭一个正在运行的程序

[root@localhost ~]# ps -aux |grep 进程
假如进程号是1234
kill -9 1234

7. iptables 阻止系统发出tcp的flag为reset的数据包

iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP

8. 如何配置Linux系统的环境变量,如何配置Linux系统的用户环境变量。

系统环境变量:
cat /etc/profile
source /etc/profile

用户环境变量
切换到用户的家目录
vim .bash_profile
source /etc/profile

9. 如何更改Linux系统中文件的属性(只读,读写,可执行)

只读: r
读写: rw
可执行: x
使用命令 chmod

10. Linux服务的关闭/启动方法,如何设置某个服务的开启自启动

启动:
 systemctl  start sshd
 关闭: 
 systemctl  stop  sshd
centos7 开机自启动
 [root@localhost ~]# systemctl  enable  sshd
centos6
chkconfig --add sshd

11. 如何查看系统中是否安装了指定的rpm包,安装 一个指定的rpm包,使用tcpdump命令,如何从网卡eth1捕获从192.168.0.1到192.168.0.2的udp包或者icmp包。

用法: rpm [选项...]
-a:查询所有套件;
-b<完成阶段><套件档>+-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。

rpm -ql 查看是否安装
[root@localhost ~]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz

rpm -qa 列出所有安装过的包

12. 如何实现一个脚本,检测一个程序(cassini)是否在运行,如果没有在运行就运行它, 并对每次运行的时间进行记录。(cassini 位于/opt/cassini/bin目录下,非系统服务程序)

#!/bin/bash
time=$(date +%F,%T)
cassini=/opt/cassini/bin
ps -ef | grep $cassini | grep -v grep
if [ $? -eq 0 ];then
        echo "程序已经启动,检测时间:$time"
else
        echo "程序没有在运行,下面开始启动"
        cd $cassini && ./
        echo "启动时间:$time"
fi
[root@localhost ~]# ps -aux |grep sshd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root       1868  0.0  0.0  66236  1200 ?        Ss   14:33   0:00 /usr/sbin/sshd
root       2716  0.0  0.2 102084  4152 ?        Ss   14:34   0:00 sshd: root@pts/0 
root       2818  0.0  0.0 103328   892 pts/0    S+   14:50   0:00 grep sshd
[root@localhost ~]# ps -p 1868 -o etime
    ELAPSED
      18:33
[root@localhost ~]# ps -p 1868 -o lstart
                 STARTED
Thu Jun 18 14:33:42 2020

13. 有如下文件: a.txt (第一列是姓名,第二列是成绩)请使用脚本计算出zhangsan的总成绩

[root@localhost ~]# cat a.txt 
zhangsan 20
lisi 10
zhangsan 17
lisi 25
[root@localhost ~]# cat b.sh 
#!/bin/bash
cj=$(cat a.txt | awk '{if ($1 == "zhangsan") {print $2}}')
sum=0
for i in $cj
do
        let sum=sum+$i
done
echo "zhangsan成绩总和:$sum"

14 SQL查询题目

根据下表内容用sql命令筛选出每个学生的最高成绩的结果集
在这里插入图片描述

MariaDB [st_course]> create table student( sname varchar(20) not null, sscore tinyint(100) not null , sno int not null auto_increment primary key);

插入数据:
MariaDB [st_course]> insert into student (sname, sscore, sno) values('A',55,1);
Query OK, 1 row affected (0.00 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('A',60,2);
Query OK, 1 row affected (0.00 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('B',70,3);
Query OK, 1 row affected (0.01 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('C',90,4);
Query OK, 1 row affected (0.00 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('B',50,5);
Query OK, 1 row affected (0.00 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('D',90,6);
Query OK, 1 row affected (0.00 sec)

查看表内容
MariaDB [st_course]> select * from student
    -> ;
+-------+--------+-----+
| sname | sscore | sno |
+-------+--------+-----+
| A     |     55 |   1 |
| A     |     60 |   2 |
| B     |     70 |   3 |
| C     |     90 |   4 |
| B     |     50 |   5 |
| D     |     90 |   6 |
+-------+--------+-----+
6 rows in set (0.00 sec)

查询结果:
MariaDB [st_course]> select * from student where  sscore in (select max(sscore) from student group by sname);
+-------+--------+-----+
| sname | sscore | sno |
+-------+--------+-----+
| A     |     60 |   2 |
| B     |     70 |   3 |
| C     |     90 |   4 |
| D     |     90 |   6 |
+-------+--------+-----+
4 rows in set (0.00 sec)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值