第0章:计算机硬件基础面试题小结
题1:你用过的服务器型号有哪些?具体的配置有哪些?
互联网企业常见的服务器品牌有dell hp ibm浪潮 华为
型号:戴尔1u 2010-2013 R410 R610 2U R710
14-16 R420/430 R620/630 R720/730
IBM 1U 3550/M3 3550/M5
2U 3650 M3/M4/M5
4U 3850 8U 3950
题2:程序、进程和守护进程有什么区别?
程序是代码员存放在电脑磁盘中的文件;
进程是正在运行的程序,存储于内存中;
守护进程是持续运行的程序(为了处理一项任务或者提供服务)。
题3:提升用户体验的网站优化解决方案有哪些?
1)硬件:有钱可以采用全固态硬盘,读写速度快。也可以根据公司情况选择SSD固态硬盘和普通的硬盘的组合,前提是数据流清晰。
2)采用顺序存储的方式(消息队列),这样对于数据的处理速度比随机存储效率高,
题4:谈谈计算机中buffer与cache的简单区别。
Buffer:缓存区,当数据写入时,先经过内存缓存区,最后在写入磁盘;
Cache:缓存区,当执行读取数据的命令时,先从数据写到内存(缓存区)中,然后在读取到数据。
题5:描述Raid 0、Raid1的主要特点。
Raid0:把多块盘结合成一块来使用,可用容量也是所有盘加起来的和;
没有冗余,一块坏,所有的都不能用了;
性能是所有盘之和。
一般对于不太重要的数据、还比较要求性能和容量可以选择raid0,为了避免坏掉后数据丢失,最好做一个实时的备份。
Raid1:两块盘整合到一起,但是容量还是一块的容量(取最小盘的容量)
冗余100%,即使坏掉一块数据也不会丢失;
性能也只是一块盘的性能;(取最小值)。
一般对于很重要的数据,且性能和容量要是不是很高的数据可以选用。
题6:描述下电脑的主流硬件作用及之间的关系(CPU、内存、磁盘)。
数据和信息流经CPU到达内存,经过内存的写入最终存到磁盘中。
题7:描述冯·诺依曼计算机的设计思想。0000000000
1)确定了计算机应由运算器,控制器,存储器,输入设备和输出设备五大部分组成;
2)以二进制的形式表示数据和命令;
3)程序预先存入存储器中,是计算机在工作中能自动的从存储器中取出程序指令并加以执行。
题8:请描述计算机数据的多种单位与换算。
1位(bit) 2字节(Byte、简记为B)
计算机存储数据的最小单位为位(bit)一个字节为8位,即1B=8bit每个字节有8个二进制位组成。 1Mbit/s=128KBytes
1Byte=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 1PB=1024TB 1EB=1024PB
题9:什么是二进制,计算机是如何用二进制表示数据的。
有两个数码:0、1.
基数:2
逢8进1(加法运算) 借1当8(减法运算)
二进制转换十进制计算式说明:将一个八进制数123转换成十进制数的计算式为:
3*8的零次方+2*8的一次方+1*8的三次方+83
电压的高低
题10:为什么硬盘买来后实际大小比购买时标记的小?
工业级硬盘计算:以1000为单位,即1TB+1000GB
主要是为了方便计算。
题11:运维人员的三大核心工作职责是什么?
[if !supportLists]1)[endif]企业的数据安全(不丢失,不泄露)
[if !supportLists]2)[endif]企业业务7*24小时运行(永不停机)
[if !supportLists]3)[endif]企业业务服务效率高(用户的使用体验好)
常见的磁盘接口都有哪些sas sata
第1章Linux系统介绍与环境搭建准备
[if !supportLists]1、[endif]请详细描述GUN的相关知识和历史时间
Gun计划是由斯托曼教授于1984年发起的一场革奴运动,是FSF的主要项目,GUN项目的Emacs、gcc、bash、gawk等都是Linux系统中很重要的基础软件。
[if !supportLists]2、[endif]请描述什么是GPL
GPL是一个著名的开源协议,他的核心就是保证任何人有共享和修改自由软件的自由,任何人都有权力取得、修改、和重新发布自由软件的源代码权力,但都必须同时给出具体更改的源代码。
[if !supportLists]3、[endif]企业工作中如何选择各Linux发行版本
如果在企业中从事运维工作的话,一般选择Redhat或者centos,如果要在两者之间选出一个话,首选centos,因为目前的市场趋势是这样的,而且centos的社区也比较活跃,更适合技术交流 。
[if !supportLists]4、[endif]Red Hat linux和centos Linux有啥区别和联系
Centos现在属于Redhat的一个重要分支,它是以Redhat的源代码重建的符合GPL许可协议的Linux系统,相当于把Redhat的商标和非自由软件部分内容去除掉在编译而成的版本,虽然被Redhat收购,但仍然开源免费。
[if !supportLists]5、[endif]请说出你认为linux受欢迎的3个以上特点
[if !supportLists]1)[endif]首先他是一款开源的操作系统
[if !supportLists]2)[endif]它具备了unix系统的绝大部分优点
[if !supportLists]3)[endif]Linux系统的进步是世界上那么多人一直在努力完善的
[if !supportLists]4)[endif]人们都可以通过再编译Linux来实现利益
[if !supportLists]第2章 [endif]企业级CentOS6.9操作系统的安装
1、32位和64位系统的区别是什么
64位的系统其cpu运算速度更快、支持更大的内存,可以发挥更大更好的硬件性能,提升用户工作效率。
[if !supportLists]2、[endif]请描述Linux分区的知识(包括设别名、主分区、扩展分区、文件系统类型等等)
至少要有一个根分区大小至少在5G以上;
要有一个swap分区,一般为物理内存的1.5倍,当物理内存大于8G时,swap配置8~16Gb即可;
[if !supportLists]3、[endif]什么是挂载点?挂载点的作用是什么?
挂载点Linux下访问磁盘分区的入口, 用于访问目录。
[if !supportLists]4、[endif]企业场景如何针对不同的业务服务器规划分区方案
(1)普通分区形式:
/boot引导分区 256M
swap交换分区 内存大于8G,给8G。内存小于8G,给到1.5倍的内存。
/给所有空间
使用条件:
1、数据不那么重要。
2、必须必须要有备份策略:就是实时的。
内部人员发布数据,同时发布到两台以上生产服务器里。是三个备份,GIT上,代码。
外部用户写入数据(图片、视频文字),
同时发布到两台服务器后面共享的服务器上(对这个共享服务器做备份),
两个备份。
(2)存储服务器(含数据库)的分区方式:
/boot引导分区 256M
swap交换分区 内存大于8G,给8G。内存小于8G,给到1.5倍的内存。
/给100G
/data剩余给数据分区 ,data可以是任意名称。
(3)门户网站的分区方案
===========================================
/boot引导分区 256M
swap交换分区 内存大于8G,给8G。内存小于8G,给到1.5倍的内存。
/给100G
剩余保留,将来哪个部门使用,使用部门自己分剩余的分区。
(4)不少网友错误分区方案
/boot引导分区 256M
swap交换分区 内存大于8G,给8G。内存小于8G,给到1.5倍的内存。
/home家目录
/var
/usr
/
LVM动态调整。降低性能。
传统企业,没有多少用户,一天同时几十个并发访问,数据量还不大。
[if !supportLists]5、[endif]企业场景下,Linux系统安装如何尽可能地最小化选包?
不需要或者不确定需要不需要的就先不安装,这样可以保证系统安全。
[if !supportLists]6、[endif]企业场景下,若线上运行的系统缺少部分包组,如何补救?
输入命令yum groups mark convert
yum grouplist #<==查看所有包组名称,包括已安装的和未安装的
"Development Tools" -y
"Cinnamon" -y
第3章远程连接管理linux实践
[if !supportLists]1、[endif]Xshell SSH客户端连不上Linux,应该如何排查?
[if !supportLists]2、[endif]1、检查服务端:网卡、 IP是不是启动和正确的 ip add或者ifconfig 2、检查服务端:端口和进程查端口:ss -lntup| netstat -lntup查进程:ps -ef|grep ssh想让他提供服务systemctl start sshd 在检查。=================================3、客户端:IP、端口、协议是不是对的。眼睛查。都是对的,就是连不上,咋办? A、ping 10.0.0.200 检查物理连接能否到达。[c:\~]$ ping 10.0.0.200正在Ping 10.0.0.200 具有 32 字节的数据:来自10.0.0.200 的回复: 字节=32 时间=2ms TTL=64来自10.0.0.200 的回复: 字节=32 时间<1ms TTL=64如果不可达:1、连接的IP输入错了。2、物理链路有问题(VM环境调虚拟网络编辑器) B、telnet 10.0.0.200 22 检查对方有没有提供服务,开启服务。[c:\~]$ telnet 10.0.0.200 22Connecting to 10.0.0.200:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'.SSH-2.0-OpenSSH_7.4连不上的状态:[c:\~]$ telnet 10.0.0.200 333 Connecting to 10.0.0.200:333...1、服务端今天休息,没有提供服务(在此不成立)。2、防火墙(6是iptables,7是firewalld)。查看状态:systemctl status firewalld.service #active (running)活着的状态#Active: inactive (dead) 死的状态。关闭:systemctl stop firewalld.service启动:systemctl start firewalld.service开机不自动启动:systemctl disable firewalld.service
3、虚拟网卡的连接方式:桥接 、NAT、仅主机
第四章Linux系统命令行入门基础
[if !supportLists]1、[endif]常见的远程连接工具有
SecureCRT、Xshell;
[if !supportLists]2、[endif]远程连接一般采用SSH协议,默认端口是22;
4、
[if !supportLists]6、[endif]端口选择错误;
[if !supportLists]7、[endif]查看网卡ip etc/sysconfig/network-scripts/ifcfg-eth0
[if !supportLists]8、[endif]快照就是一种时间倒流的技术,不管我们处在啥位置,都可以回到点击快照的时刻。
[if !supportLists]9、[endif]修改网卡名:vim /etc/sysconfig/network-scripts/ifcfg-eth0修改网卡名
第五章
[if !supportLists]1、[endif]请描述命令行提示符的各组成部分含义
Root @ oldboy ~ #或者$
当前用户分隔符主机名用户所在路径#(超级管理员)$(普通用户)
[if !supportLists]2、[endif]使用man、help 查找帮助
[if !supportLists]3、[endif]halt、poweroff 关机 shutdown -h now 立刻关机
[if !supportLists]4、[endif]shutdown、reboot 、shutdown -r now 立刻重启
5、内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。
而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。
[if !supportLists]5、[endif]pwd显示当先目录 cd跳转目录 cd -跳转目录 cd ~回到家目录 cd / 切换到根目录
tree以树形节后显示目录 -L(指定层数) -d (只显示目录)
mkdir创建目录 -p 递归创建目录 {1..3}创建连续的目录 {1,2,3}创建不连续目录
touch创建文件或者更改文件时间戳
ls显示目录内容及属性 -a 显示指定目录所有子文件; -l 以长格式显示文件属性; -h显示文件大小;-d 显示目录本身信息,但不是内容 ;
cp复制文件或者目录 -r递归复制目录; -p 复制的时候保持属性不变 ;
rm删除文件或者目录 -f 强制删除 -r 递归删除 -fr直接删除
mv移动目录或者文件
cat查看目录内容
[if !supportLists]第六章 [endif]Linux文件及目录管理命令基础
[if !supportLists]1. [endif]如何在Vmware 下的 Linux 系统中看到 ISO 文件镜像中的文件。
[root@zyl666 04:26:21 ~]# blkid
/dev/sda1: UUID="0c1ad319-d952-46b2-8b61-f62707755ab2" TYPE="xfs"
/dev/sda2: UUID="bfcae4fe-e625-4e22-9354-7b645da955b8" TYPE="swap"
/dev/sda3: UUID="4d410023-5d68-4bd3-8380-3adde2724c42" TYPE="xfs"
/dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
2. 当我们想要配置网卡信息时需要修改那个文件?
Ifcfg-eth0
3. 请解释下列目录的作用
根下的目录生产中常用的核心文件
/bin /etc/sysconfig/network-scripts/ifcfg-eth0
二进制命令所在配置网卡
/boot /etc/resolv.conf
系统引导程序所需的文件目录
系统DNS客户端配置文件
/dev /etc/hostname(CentOS7 特有)
设备软件目录主机名配置文件
/etc /etc/hosts
系统配置,启动程序系统本地的DNS解析文件
/home /etc/fstab
配置开机设备自动挂载的文件
/proc /etc/rc.local
进程信息及内核信息存放开机自启动程序命令的文件
/root / etc/redhat-release
管理员家目录声明Redhat版本号和名称信息的文件
/sbin /etc/sysctl.conf
管理系统相关命令Linux内核参数设置文件
/tmp /etc/systemd/system(CentOS7 特有)
临时文件目录
/usr /usr/lib/systemd/system(CentOS7 特有)
用户或系统软件应用程目录软件启动程序所在目录
/var /etc/sysconfig/network(CentOS6 及以前特有)
存放系统日志主机名配置文件
第第8 章 Linux 文 文 件 过滤及内容编辑处理
[if !supportLists]1. [endif]vim 编辑器中的快捷键有哪些?
普通模式:
:set nu 显示行号
普通模式:移动光标:
行尾$
行首0
文件尾部G
文件开头gg
到指定行阿拉伯数字gg
普通模式:搜索与替换操作
向下搜索/3306 继续搜 按n,反向搜N
向上搜索?80 继续搜 按n,反向搜N
普通模式:替换
:%s/A/B/g
:%s#world#oldgirl#g
/#还可以用@等特殊字符替换,实际就是分隔符。
s是替换 g表示全局(所有)
指定行号替换:
:4,6s/oldboy/oldgirl/g
普通模式:复制、粘贴、删除等操作
删除单行dd
删除多行ndd n用任意数字替换
撤销u
单行复制yy
多行复制nyy n用任意数字替换
粘贴p
[if !supportLists]2. [endif]给文件增加内容的方法(不少于三种)?
第一种:[root@zyl666 03:43:53 ~]# echo "sdsadasd" >>1.txt
[root@zyl666 03:44:17 ~]# cat 1.txt
Welcome to oldboy training.
we are excellent.~
~
Sdsadasd
第二种:[root@zyl666 03:45:23 ~]# cat >>1.txt<
> i love 我自己
> EOF
[root@zyl666 03:46:47 ~]# cat 1.txt
Welcome to oldboy training.
we are excellent.~
~
sdsadasd
i love 我自己
第三种:vim 1.txt 自己编辑,:wq保存退出就行了
[if !supportLists]3. [endif]怎样实现在目前文件内容的基础上追加“I am oldboy”内容?
[root@zyl666 03:49:58 ~]# echo "i am oldboy" >>1.txt
[root@zyl666 03:50:15 ~]# cat 1.txt
Welcome to oldboy training.
we are excellent.~
~
sdsadasd
i love 我自己
i am oldboy
[root@zyl666 03:50:17 ~]#
[if !supportLists]4. [endif]按行插入数字序列1-50 到文件/oldboy.txt 中。
root@zyl666 04:23:49 ~]# seq 50 > 1.txt
[root@zyl666 04:23:56 ~]# cat 1.txt
[if !supportLists]5. [endif]显示oldboy.txt 中 20-30 行的内容。
[root@zyl666 04:25:59 ~]# grep 20 -A10 1.txt
6. 假设一个文件 test.txt 中有如下内容:
Oldboy
Oldgirl
Oldboyedu
如何实现只打印出带有Oldboyedu 的行。
[root@zyl666 04:04:01 ~]# grep "Oldboyedu" 1.txt
Oldboyedu
8.如何将 test.txt 中所有的 old(含大写)都替换成 young。
:%从第几行开始数字/name/title/g
[root@zyl666 04:12:57 ~]# cat 1.txt
youngboy
younggirl
youngboyedu
[if !supportLists]1. [endif]如何实现无论正确输出结果还是错误报错都不提示统一追加到/tmp/error.log 文件中。
[root@zyl666 04:13:05 ~]# cho "asdasda" >>1.txt 2>>1.txt
*****bin -> usr/bin binaries二进制 命令相关*****
├── *****boot 引导分区,系统内核及引导程序
├── *****dev Device设备文件所在目录
├── *****etc 二进制软件包配置文件所在路径
├── *****home 普通用户的家目录
├── *****mnt (mount)临时挂载点
├── *****root 管理的家目录
├── *****tmp 临时文件所在目录
├── *****usr 系统软件和用户相关程序所在目录,第二层次目录
└── *****var 可变化的数据
├── *****sbin -> usr/sbin 管理员命令所在目录,普通用户执行不了。
├── *****proc 虚拟的文件系统,存放进程和内核信息的目录。
├── srv 为用户提供服务的数据所在目录
├── sys 虚拟的文件系统,存放进程和内核信息的目录。