美文网首页
03-[面试题答案] 文件编辑和查找

03-[面试题答案] 文件编辑和查找

作者: 亮仔_c1b5 | 来源:发表于2019-08-03 22:10 被阅读0次

第1章 vi/vim快捷键题目参考:

vi/vim题目链接-单击我

第2章 基础题目

答出来并给大家讲解
2.1在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是(/etc)
/etc/init.d centos 5.x 6.x 存放系统管理脚本
centos 7.x 主要有 network

2.2 在使用手工的方式配置网络时,可通过修改/etc/hostname文件来改变主机名,若要配置计算机的域名解析客户端,需配置 (/etc/hosts)文件。
题目主要的目的:域名(主机名)与ip的对应关系:/etc/hosts
修改DNS:
网卡配置文件中的DNS
/etc/resolv.conf

2.3 Linux内核引导时,从文件(/etc/fstab)中读取要加载的文件系统。
/etc/fstab 开机自动挂载

2.4 用(>>或1>>)符号将输出重定向内容附加在原文的后面
>> 或 >> 标准输出追加重定向

2.5 在超级用户下显示Linux系统正在运行的全部进程,应使用的命令及参数是(ps -ef)或(ps aux).
ps -ef 进程信息 pid 进程名字
ps aux 进程的CPU和内存的使用率

2.6 用户的bash环境变量配置文件是什么?(/etc/profile)

国法(全局生效) 家规(只对当前用户生效)
/etc/profile 环境变量+别名 ~/.bash_profile
/etc/bashrc 别名 ~/.bashrc
/etc/profile.d/ 脚本 .sh 用户登录的时候,会默认执行的脚本

2.7Linux 网卡配置文件位置

[root@oldboy64-yl ~]# /etc/sysconfig/network-scripts/ifcfg-eth0 或 ens33  

2.8 对于 RedHat 发行版,网卡配置文件的完整路径是?
/etc/sysconfig/network scripts/ifcfg-eth0 或 ens33

2.9 Linux 网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?
/etc/sysconfig/network scripts/ifcfg-eth0 或 ens33

2.9.1 要使服务器上外网,必须满足的条件有哪些?
1.网卡+网线
2.配置IP地址,子网掩码,网关,DNS
网卡主要内容:

DEVICE =eth0
NAME=eth0
ONBOOT=yes
BOOTPROTO=static #dhcp 自动获取
IPADDR =10.0.0.200
NETMASK=255.255.255.0 #PREFIX=24
GATEWAY=10.0.0. 254
DNS 1=223.5.5.5
DNS2=223.6.6.6

2.10 创建目录 /data/ 并在该目录下创建文件 oldboy.txt, 然后在文件 oldboy.tx t 里写入内容 inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0( 不包含引号 。( 多种方法至少 2 种 建议 3 种)
方法一 echo

[root@oldboy64-yl ~]# mkdir /data/oldboy/ -p
[root@oldboy64-yl ~]# echo 'inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0' > /data/oldboy/oldboy.txt
[root@oldboy64-yl ~]# 

方法二 cat

[root@oldboy64-yl ~]# mkdir /data/oldboy/ -p
[root@oldboy64-yl ~]# cat > /data/oldboy/oldboy.txt <<EFO
> inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0
> EFO

方法三

[root@oldboy64-yl ~]# mkdir -p /data/oldboy/ && echo  'inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0' > /data/oldboy/oldboy.txt

2.11 如何查看文件内容,命令有哪些?查看文件第 1 行到第 3 行,查看文件最后一行
2.11.1 如何查看文件内容,命令有哪些?
cat head tail less more grep sed awk
2.11.2 查看文件第 1 行到第 3 行

[root@oldboy64-yl ~]# seq 10 |sed -n '1,3p'
1
2
3
[root@oldboy64-yl ~]# seq 10 |awk 'NR<=3'
1
2
3
[root@oldboy64-yl ~]# seq 10 |awk 'NR>=3 && NR<=5'
3
4
5
[root@oldboy64-yl ~]# seq 10 |awk 'NR==1,NR==3'
1
2
3
[root@oldboy64-yl ~]# seq 10 |head -3
1
2
3
[root@oldboy64-yl ~]#

2.11.3 查看文件最后一行

[root@oldboy64-yl ~]# seq 10 |tail -1
10
[root@oldboy64-yl ~]# seq 10 |sed -n '$p'   #$在sed  中此时此刻表示最后一行的意思
10
[root@oldboy64-yl ~]# seq 10 |sed '$!d'
10
[root@oldboy64-yl ~]# seq 10 |awk 'END{print $0}'   #END{} 里面的内容awk 会在 处理文件最后一行 之后在运行$0 这一行的内容 一整行 的内容
10
[root@oldboy64-yl ~]# 

扩展:

[root@oldboy64-yl ~]# seq 10 |awk '/^1/,/9/'
1
2
3
4
5
6
7
8
9
10
[root@oldboy64-yl ~]# seq 10 |sed -n '/^1/,/9/p'
1
2
3
4
5
6
7
8
9
10
[root@oldboy64-yl ~]#

2.12 Linux 登录成功 失败是否有日志记录?在哪些文件中?
有rsyslog(系统日志服务) syslog(centos 5.x)
/var/log/secure

2.13 简述以下配置文件的功能: :/etc/fstab /etc/inittab /etc/resolv.conf

文件名 含义
/etc/fstab 开机自动挂载
/etc/inittab centos 6.x 5.x 设置运行级别
/etc/resolv.conf DNS配置文件

CentOS7中运行级别:

[root@oldboy64-yl ~]# systemctl get-default 
multi-user.target
[root@oldboy64-yl ~]# systemctl set-default multi-user.target [root@oldboy64-yl ~]# ll /etc/systemd/system/default.target
lrwxrwxrwx 1 root root 41 Jul 17 23:56 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
[root@oldboy64-yl ~]#

2.14 在当前目录 /home/zheng 下新 建一个目录 back ,将当前目录改为 back ,在 back 下新建 2 个长度为 0 的文件 test1 、 test2 ,然后把 test2 移到其父目录中并改名为 file12

[root@oldboy64-yl ~]# mkdir /home/zheng/back -p
[root@oldboy64-yl ~]# cd /home/zheng/back/
[root@oldboy64-yl /home/zheng/back]# touch test{1..2}
[root@oldboy64-yl /home/zheng/back]# ls
test1  test2
[root@oldboy64-yl /home/zheng/back]# mv test2 ../file12
[root@oldboy64-yl /home/zheng/back]# tree /home/zheng/
/home/zheng/
├── back
│   └── test1
└── file12

1 directory, 2 files
[root@oldboy64-yl /home/zheng/back]# 

2.15 Linux 系统的运行级别有哪几种,作为服务器使用选择哪一种运行级别
7种
0:关机 1:单用户 2:没有网络的多用户 3:完全多用户 4:保留 5:图形 6:重启

centos6 centos7
0 关机 poweroff.target
1 单用户模式 rescue.target
2 没有NFS的多用户模式 multi-user.target
3 完全多用户模式 命令行模式 文本模式 multi-user.target
4 待开发,未使用 multi-user.target
5 图形化用户界面 graphical.target
6 重启 reboot.target

服务器使用运行级别3(完全多用户)

2.16 Linux 设置服务开机启动文件
方法1:/etc/rc.local

centos6.x centos7.x
直接用 使用之前加上执行权限 chmod +x /etc/rc.d/rc.local

方法2:systemctl(c7) chkconfig(c6)
【企业面试题】让1 个服务开机自启动 有什么方法
https://www.jianshu.com/p/fc26d73fe050

2.17 如何查看系统的负荷及内存使用状况?
2.17.1 负载
 w
 uptime
 top
 cat /proc/loadavg
 htop
2.17.2 内存
 free
 ps aux
 top
 cat /proc/meminfo

2.18 如何知道操作系统的位数?( 32 位或 64 位)
方法1

[root@oldboy64-yl ~]# uname -m
x86_64
[root@oldboy64-yl ~]# 

方法2 /lib64

2.19 选择
2.20 init 6 什么意思 A
 reboot
 shutdown
 power off
 logout #ctrl + d

2.21 启动 init 进程前,不需要经过步骤 C D
 LIL O 加载内核
 检测内存
 加载文件系统
 启动网络支持

2.22 Linux所有服务器的启动脚本都存放在(A B)目录中
 /etc/rc.d/init.d
 /etc/init.d
 /etc/rc.d/rc
 /etc/rc.d

2.23 全面查看硬件信息的命令全面查看硬件信息的命令D
 cpuinfo
 meminfo
 cat /etc/fatab
 dmidecode

2.24 以下哪些命令可以查看当前系统的启动时间(ABD)
 w
 top
 ps
 uptime

2.25 Linux启动的第一个进程init启动的第一个脚本程序是(B)
 /etc/rc.d/init.d
 /etc/rc.d/rc.sysinit
 /etc/rc.d/rc5.d
 /etc/rc.d/rc3.d

2.26 把当前目录(包含子目录)下所有后缀为 “. 的文件后缀改为 “. shell”,请写出执行语句

[root@oldboy64-yl ~]# rename sh shell *

2.26.1 rename 基础用法

[root@oldboy64-yl /oldboy]# cd /oldboy/
[root@oldboy64-yl /oldboy]# ll
-rwxr-xr-x  1 root   root    13 Jul 28 09:40 lidao.sh
[root@oldboy64-yl /oldboy]# rename .sh .shell *
[root@oldboy64-yl /oldboy]# ll
-rwxr-xr-x  1 root   root    13 Jul 28 09:40 lidao.shell

-rwxr-xr-x 1 root root 13 Jul 28 09:40 lidao.sh

rename .sh .shell *.sh
rename 目标 替换为什么 你要修改哪些文件

2.26.2 完成 这个题目
方法1:

[root@oldboy64-yl /oldboy]# find . -type f -name "*.sh" |xargs rename .sh .shell

方法2:

[root@oldboy64-yl /oldboy]# find . -type f -name '*.sh' -exec rename .sh .shell {} \;

方法3:

[root@oldboy64-yl /oldboy]# rename .shell .sh `find . -type f  -name "*.shell"`

方法4 :命令 拼接

[root@oldboy64-yl /oldboy]# ls *.shell|sed -r 's#(.*)\..*#mv \1.shell \1.sh#g'
mv oldboy.shell oldboy.sh
[root@oldboy64-yl /oldboy]# echo pwd
pwd
[root@oldboy64-yl /oldboy]# echo pwd|bash
/oldboy
[root@oldboy64-yl /oldboy]# ls *.shell|sed -r 's#(.*)\..*#mv \1.shell \1.sh#g'|bash

命令拼接及思路参考
【面试题】批量添加用户并设置
8 位随机密码
https://www.jianshu.com/p/8886a81c194a

2.27 修改机器名为 exam ip 更改为 192.168.1.227
注意:(给出步骤就行不要真的改了)

centos7 hostnamectl set-hostname exam 或 /etc/hostname
centos 6 hostname exam 或 /etc/sysconfig/network

vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改IPADDR

2.28 下面哪个命令可以看出 linux 的 cpu 核数 A C D
 cat /proc/cpuinfo
 sar
 top
 dmidecode
lscpu
top
按 1
cpu0 cpu1 cpu2 cpu3
一共 4 个 核心
dmidecode -t processor 也可以查询 cpu 核心总数 比较麻烦

第3章 进阶

答出来并给大家讲解
3.1 Linux中常用的引导加载程序是(lilo)和(grub)

3.2 将前一个命令的标准输出做为后一个命令的标准输入,称之为( 管道)

3.3 如何查看目录 a 所占容量

du -sh a
[root@oldboy64-yl ~]# du -sh /oldboy/
76K /oldboy/

3.4 如下,在 Linux 此目录下一个乱码文件夹,需要删除,简述删除步骤命令(注意该乱码文件名为横杠符号开头)
方法1:
rm -f ' 特殊 名字的文件'
rm -f --'特殊 名字的文件'
--之后 rm 认为 后面没有参数

[root@web02 oldboy]# ll
total 0
drwxr xr x 2 root root 101 Apr 28 11:12 alex
rw r r 1 root root 0 Apr 28 11:27 -f
rw r r 1 root root 0 Apr 28 11:0 2 oldboy01.sh
rw r r 1 root root 0 Apr 28 11:02 oldboy02.sh
rw r r 1 root root 0 Apr 28 11:02 oldboy03.sh
rw r r 1 root root 0 Apr 28 11:02 oldboy04.sh
rw r r 1 root root 0 Apr 28 11:02 oldboy05.sh
[root@web02 oldboy]# rm -f -- -f
[root@web02 oldboy]# ll
total 0
drwxr xr x 2 root root 101 Apr 28 11:12 alex
rw r r 1 root root 0 Apr 28 11:02 oldboy01.sh
rw r r 1 root root 0 Apr 28 11:02 oldboy02.sh
rw r r 1 root root 0 Apr 28 11:02 old boy03.sh
rw r r 1 root root 0 Apr 28 11:02 oldboy04.sh
rw r r 1 root root 0 Apr 28 11:02 oldboy05.sh

方法2:
找出文件的inode 根据inode号码删除
find -inum + rm

3.5 init 进程对应的配置文件名为( /etc/inittab),该进程是 Linux 系统的第一个进程,其进程号 pid 始终是 1

第4章 究极挑战题目

答出来并给大家讲解
4.1 安装 centos 操作系统后出现 grub>,如何用命令引导
Linux启动无法找到引导 把引导程序安装到 U 盘上了
grub>
grub>
grub>

4.2 MBR 是什么?有什么作用?在 linux 系统中如何备份?
主引导记录
它负责磁盘操作系统对磁盘进行读写是分区合法性的判别、分区引导信息的定位。

[root@oldboy64-yl ~]# dd if=/dev/sda of=/backup/sda.mbr bs=512 count=1

相关文章

网友评论

      本文标题:03-[面试题答案] 文件编辑和查找

      本文链接:https://www.haomeiwen.com/subject/hebddctx.html