第1章  

1.1 企业面试题1:你用过的服务器型号有哪些?


1U

2U

2010年以前

18501950

28502950

2010---2013

R410R610

R710

2014---2016

R420/430R620/630

R720/730

1.2 程序进程守护进程的区别

程序:静态的数据,放在磁盘中的软件

进程:运行着的软件

守护进程:持续运行的软件

1.3 蛋、人、人、人

Linux诞生 1969

1984谭宁邦,Minix开发者用于教学使用

1984斯托曼,希望创造出一个和Unix一样优秀的,但开源的软件。成立了自由软件基金会,建立了gnu项目

1991托瓦兹,写出了Linux内核

GNU:项目,优秀的gnu软件有bashgawkemacsgcc

GPL:通用公共许可协议,开放源代码,如果你对开源内容作了修改,必须发布出来

1.4 企业面试题2:程序、进程和守护进程的区别

1.       程序:放在磁盘中不动的软件(静态文件、放在磁盘中的数据)

2.       进程:正在运行的软件 (是在内存中运行的程序)

3.       守护进程:一直在运行的软件    (持续运行的程序)

 

1.5 企业面试题3:提升用户体验的网站解决方案

 

一、大并发:当用户访问量特别大的时候,先把一部分数据存在内存中,过一段时间或是内存中的数据到达一定数量再存到磁盘中。

二、中小型企业读取写入:用户数量不多时直接把数据存到磁盘中,等到需要的时候先把数据存到内存中然后用户通过软件从内存中读取。

 

1.6 企业面试题4buffercache区别?

 

buffer:写入数据到内存,这个数据的内存空间称为缓冲区

cache:从内存中读取数据,这个数据的内存空间称为缓存区

1.7 企业面试题5:描述Raid 0 1的特点?

RAID0速度是最快的,因为数据是分开存放在每个组成阵列的硬盘,所以一旦其中一块硬盘有问题就会导致所有数据损坏。优点:速度快、成本低缺点数据容易丢失,一旦损坏无法恢复。
     RAID1
的原理是有两块硬盘组成的阵列,其中一块拿来正常使用,另外一块是专门备份存放的,相当于你两块硬盘只能用一块硬盘,另外那块是保存这块硬盘里面的数据,这样的话即使你有一块硬盘坏了数据也不会丢失,但速度慢,而且两块硬盘只能用一块硬盘的容量。

1.8 常见的几种分区方式:

1.8.1 方式一:用户电脑中没有重要的信息

/boot

200m

Swap

768

/

剩余全部

1.8.2 方式二:用户电脑有重要信息

/boot

100——200M

Swap

768M           

/data

20——200M

/

剩余多少给多少

1.8.3 方式三:企业中常见的

/boot

100——200M

Swap

768M           

/data

20——200M

剩余不分(是谁用谁分)

如果你的内存小于8Gswap=内存一点五倍

如果你的内存大于8Gswap=8G

 

1.9 往文件中添加内容?

1.9.1 方法一:vivim

1.9.2 方法二:echo 'I am studying'>>/data/oldboy.txt

1.9.3 方法三:cat>>/data/oldboy.txt<<eof

     a

     b

c

d

> eof

1.10 删除一个目录下的所有文件,但保留一个指定文件。

find /data/ -type f ! -name"oldboy.txt"|xargs rm -r

 

1.11 

1)创建 一个目录/data

Mkdir /data

1.11.1 /data 下面建立一个文件oldboy.txt

Touch oldboy.txt

1.11.2 oldboy.txt增加内容为“I am studying liinux

Vim oldboy===echo ‘I am studying liinux’>oldboy.txt

1.11.3 oldboy.txt文件拷贝到/tmp

Cp oldboy.txt /tmp

1.11.4 data目录移到root

Mv /data /root

1.11.5 进入/root下的data,删除oldboy.Txt

Mv /root/data/oldboy.txt

1.11.6 删除data目录

Rm –r /root/data

1.12 已知文件test.txt内容为test liyao oldboy,请给出输出test.txt是,不包含oldboy的字符串命令?

*

  方法一:head

head –n2 test.txt

*

  方法二:grep

grep “oldboy” test.txt

grep -v “oldboy” test.txt

 

*

  方法三:sed

Sed ‘/oldboy/d’ test.txt

Sed  -n‘/oldboy/d’ test.txt

1.13 请用一条命令完成创建/oldboy/test创建两个目录

Mkdir –p /oldboy/test

1.14 已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖/tmp/test.txt,而让系统不提示。

Which cp

/bin/cp /mnt/test.txt /tmp/test.txt

1.15 如何查看ett.txt文件(共一百行)内第2030行的内容?

seq 100 >>/tmp/oldboy.txt

方法一:head

思路:先用head取出前三十行(head –n30 ett.txt)然后再无法操作了,利用管道(前面的命令无法完成时交给后面的命令)tail -11 ett.txt

head -30 /data/ett.txt |tail -11

head -30 /data/liti |tail-11

 

方法二:Sed

Sed –n ’20,30p’ ett.txt======è(一到一百中二十和三十出现两次)sed 命令的默认输出=====-n临时取消默认参数p配合

P====》(功能)显示出来

sed '20,30p' /data/liti

sed -n '20,30p' /data/liti

 

方法三:Awk

Awk ‘NR==20,NR==30’ ett.txt== Awk‘NR>=20&&NR<=30’ ett.txt

NR(大写):行号 Number of record

awk 'NR==20,NR==30'/data/liti

 

方法四:Grep(巧合)这一行的内容20  与这一行的行号一样

Grep –A10 ‘20’ ett.txt

显示包含20数字的这一行,以及接下来的十行()

1.16 /oldboy 目录及其子目录下的所有已扩展名.sh结尾的文件中,文件包括./hostlosts.txt(oldboy)的字符串全部替换为../idctest_iplist(oldgirl)后面讲

 

1.16.1 方法一:创建测试环境

Mkdir –p /oldboy/test

Cd /oldboy

Echo “oldboy”>test/del.sh

Echo “oldboy”>test/.sh

Echo “oldboy”>t.sh

Touch oldboy.txt

Touch alex.txt

ò  ============

/oldboy/oldboy.txt

/oldboy/test/del.sh

/oldboy/test/.sh

/oldboy/alex.txt

/oldboy/t.sh

1.16.1.1 找到你要处理的东西

Find /oldboy/-type f

Find /oldboy/-type f –name “*.sh”

1.16.1.2 把一个文件中的oldboy替换为oldgirl

Sed ‘s#找谁#替换成啥#g’ /oldboy/ett.txt

Sed ‘s#oldboy#oldgirl#g’/oldboy/ett.txt (先看看结果对不对,否则错了就改不过来了)

Sed –i ‘s#oldboy#oldgirl#g’/oldboy/ett.txt

Cat /oldboy/test.sh

1.16.1.3 find命令找到文件,然后用sed修改文件内容

Find /oldboy/ -type f –name “*.sh”

Find /oldboy/ -type f –name “*.sh”|xargs sed ‘s#oldboy#oldgirl#g’

Find /oldboy/ -type f –name “*.sh”|xargs sed –i ‘s#oldboy#oldgirl#g’

cat /oldboy/test.sh

1.16.2 方法二

$()====``(反引号)

功能:先运行里面的命令把结果,输出留下来

ò  前两步相同,不同点在这

sed命令处理find找到的结果

sed ‘s#oldboy#oldgirl#g’ $( Find /oldboy/ -type f –name “*.sh”)

sed -i ‘s#oldboy#oldgirl#g’ $( Find /oldboy/ -type f –name “*.sh”)

cat $( Find /oldboy/ -type f –name “*.sh”)

1.16.3 第三种方法:

-esec

find/oldboy/ -type f -name"*.sh" -exec ls -l {} \;

find/oldboy/ -type f -name"*.sh" -exec sed -i 's#oldboy#oldgirl#g' {} \;

 

1.17 

修改配置文件,使关闭===>永久关闭 SELinux 写合同

cat /etc/selinux/config

#:注释符号

disable 关闭

permissive 警告

enforcing 开启

 

sed‘s#SELinux= enforcing#SELinux=disabled #g’ /etc/selinux/config

备份:

cp/etc/SELinux/config /etc/SELinux/config.ori

sed-i‘s#SELinux= enforcing#SELinux=disabled #g’ /etc/selinux/config

再查看 cat/grep

cat /etc/selinux/config

grep " disabled " /etc/selinux/config

1.17.1 临时的修改方式

setenforce

usagesetenforce Enforcingpermissive |   1     |      0     |

setenforce 0

getenforce

====permissive

总结:SELinux关闭

第一个里程碑-操作前备份 catcpsed –i.bak

第二个里程碑永久的修改

cat/vim看一眼-找目标

sed ‘s#SELinux= enforcing#SELinux=disabled #g’/etc/selinux/config

执行成功了 再加上-i参数

再查看 cat/grep

第三个里程碑-临时生效

       Setenforce

1.17.2 第二种方法,利用sed -i.bak 先备份再修改

sed ‘s#SELinux= enforcing#SELinux=disabled#g’ /etc/selinux/config

cat /etc/selinux/config

sed-i.bak‘s#SELinux= enforcing#SELinux=disabled #g’ /etc/selinux/config

 

(这一块懵了)

 

1.18 Y】关闭iptables防火墙


1.18.1 临时关闭


/etc/init.d/iptablesstop   (关闭命令)

再次关闭====/etc/init.d/iptables stop  (关闭命令)

/etc/init.d/iptablesstatus(查询时候关闭)

Iptablesfirewall is not running

/etc/init.d/iptablesstop status等怎么来的】

chkconfig

1.18.2 永久的关闭

Chkconfig|grep ipt 查看防火墙是否关闭

Chkconfigiptables off 关闭防火墙

另一种关闭防火墙的方式:

serviceiptables stop 了解

1.1创建 一个目录/data

Mkdir /data

1.2在/data 下面建立一个文件oldboy.txt

Touch oldboy.txt

1.3为oldboy.txt增加内容为“I am studying liinux”

Vim oldboy===echo ‘I am studying liinux’>oldboy.txt

1.4把oldboy.txt文件拷贝到/tmp下

Cp oldboy.txt /tmp

1.5把data目录移到root下

Mv /data /root

1.6进入/root下的data,删除oldboy.Txt

Mv /root/data/oldboy.txt

1.7删除data目录

Rm –r data

1.8已知文件test.txt内容为test liyao oldboy,请给出输出test.txt是,不包含oldboy的字符串命令?

方法一:head

Head –n2 test.txt

方法二:grep

Grep “oldboy” test.txt

Grep -v “oldboy” test.txt

 

方法三:sed

Sed ‘/oldboy/d’ test.txt

Sed  -n‘/oldboy/d’ test.txt

1.9请用一条命令完成创建/oldboy/test创建两个目录

Mkdir –p /oldboy/test

1.10已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖/tmp/test.txt,而让系统不提示。

Which cp

/bin/cp /mnt/test.txt /tmp/test.txt

1.11只查看ett.txt文件(共一百行)内20到30 行

方法一:head和tail

Head –n30 ett.txt |tail -11

方法二 awk

Awk ‘NR==20,NR==30’ ett.txt

方法三  sed

sed ’20,30p’ ett.txt

sed -n ’20,30p’ ett.txt