1.1 请详细描述linux系统从打开主机电源到进入登录界面整个过程的流程。

BIOS开机自检

mbr引导

grub菜单

加载内核

运行init进程

读取/etc/inittab配置文件

执行/etc/rc.d/rc.sysinit进程

执行/etc/re.d/rc进程

进入登录界面

1.2 我想在/data/oldboyedu目录下面创建 一个oldboy.txt文件

[root@oldboyedu ~]# cd /data/oldboyedu

-bash: cd: /data/oldboyedu: No such file or directory

1.为何出现这样的错误

这个目录不存在

2.如何解决这个错误呢?

创建目录

mkdir -p /data/oldboyedu

1.3 接上题,oldboy.txt加入内容 "I love studying Linux." (不少于2种方法)

方法1

cat >>oldboyedu/oldboy.txt<<eof

I love studying Linux.

eof

方法2

echo ' I love studying Linux.' >/data/oldboyedu/oldboy.txt

a)说说这些特殊符号含义: \  >  >>  2> 2>>   #(井号)  .()  ..(两个点)  ~  *  $  |

\ 转义字符 撬棍 脱掉马甲打回原形(或类似含义)

> 重定向符号 先清空文件内容,然后追加内容(或类似含义)

>> 追加重定向 追加到文件结尾(或类似含义)

2> 错误输出重定向

2>> 错误输出追加重定向

#  井号 注释或root用户命令提示符或sed分隔符(sed 's###g')

.  当前目录 或 正则任何一个字符 或 用于生效

.. 当前目录的上级目录

~ 当前用户家目录

*  所有字符或任意字符或正则表达式表示前一个字符连续出现0次或0次以上

$ 取变量内容 或 正则以...结尾

| 管道 或 正则表示或者

b)test.txt内容为:

trainning

fanbingbing

lidao

1.4 请给出输出test.txt文件内容时,不包含trainning字符串的命令。

方法1

grep -v 'trainning' test.txt #不加引号也行

方法2

tail -2 test.txt

方法3

sed '/trainning/d' test.txt

方法4

awk '!/trainning/' test.txt

1.5 入职新公司,老大让你在服务器上限制rm命令,当用户输入rm 命令时候提示”rm command is not allowed to use. 请问实现的步骤是?。

1)命令行测试

alias rm='echo command is not allowd to use'

2)永久生效

写入/etc/profile

3)生效

source /etc/profile

1.6 取出文件ett.txt 的第3040行的内容。

注:ett.txtseq 20 120>ett.txt创建

方法1

sed -n '30,40p' ett.txt

方法2

awk 'NR==30,NR==40' ett.txt

方法3

head -40 ett.txt|tail -11

方法4

awk 'NR>=30&&NR<=40' ett.txt

1.7 通过修改文件( /etc/fstabfstab ),可以设定开机时自动挂载文件系统。

1.8 linux系统中,当LAN(局域网)内没有条件记案例DNS服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置( /etc/hosts)文件(请写全路径)

1.9 linux系统启动加载完成后,内核将启动名为(init/sbin/init )的程序,这也是引导过程完成后,内核运行的第一个程序。我们可以修改默认的启动级别为( 3),使得系统重启后自动采用命令行模式登录。

1.10 说出下面几个文件的作用

/var/log/messages 系统默认日志(系统日志也行)

/var/log/secure 系统安全日志或用户的登录情况

/etc/hosts ip地址与主机名(域名)对应关系  或 用于解析主机名

/etc/fstab 开机自动挂载

/var/spool/cron/root定时任务配置文件

/etc/rc.local 开机自启动配置

1.11 统计/var/log下文件个数

ls /var/log|wc -l

find /var/log|wc -l

1.12 描述buffercache的区别

Buffer

缓冲区

数据写入到内存的buffer区域

buffer

Cache

缓存区

从内存中的cache区域进行读取

cache

1.13 如何把/data目录下所有包含oldboy的目录(可能目录的目录的目录里还有oldboy目录) 目录都打包出来。要求:解压打包后的目录结构不能改变

方法1

find /data -type d -name "oldboy" |xargs tar zcf  /tmp/oldboy.tar.gz

方法2

find /data -type d -name "oldboy" -exec tar zcf  /tmp/oldboy.tar.gz {} +

方法3

tar zcf  /tmp/oldboy.tar.gz  `find /data -type d -name "oldboy"`

tar zcf  /tmp/oldboy.tar.gz  $(find /data -type d -name "oldboy")

1.14 请列出linux下面常用的打包工具并写出相应的压缩解压参数。

tar zcf  创建压缩包 或zcvf

xf     解压  或 zxvf

tf     查看  或 ztf

-C    解压到指定目录

--exclude 排除

--exclude-from或-X 根据文件内容排除文件

zip -r 压缩目录

1.15 如何查看是否开启22端口,及查看sshd进程是否存在?

查看端口22是否开启

ss -lntup |grep 22

netstat -lntup|grep 22

telnet ip地址 22

nc  ip地址 22

nmap -p22  ip地址

lsof -i:22

ps -ef |grep 22#这是错误的

查看进程是否存在

ps -ef |grep sshd

1.16 /data目录下的修改时间是7天以前,并且大于100k的文件复制到/tmp目录下。

方法1

find /data -type f  -mtime +7 -size +100k  -exec cp {} /tmp  \;

方法2

cp ` find /data -type f  -mtime +7 -size +100k ` /tmp

cp $( find /data -type f  -mtime +7 -size +100k ) /tmp

方法3

find /data -type f  -mtime +7 -size +100k |xargs cp -t /tmp

方法4

find /data -type f  -mtime +7 -size +100k |xargs -i cp {} /tmp

1.17 现将文件b.txt中的所有123替换成def,请问如何实现?

sed 's#123#def#g' b.txt

1.18 写出redhat中,配置网卡及dns的配置文件是什么?

网卡: /etc/sysconfig/network-scripts/ifcfg-eth0

DNS:  /etc/resolv.conf  /etc/sysconfig/network-scripts/ifcfg-eth0

1.19 什么是linux的运行级别,请描述linux的运行级别不同数字的含义?

linux运行状态

0 关机

1 单用户模式

2 多用户模式没有NFS

3 命令行模式 文本模式 多用户模式

4 没有使用

5 图形化界面模式  桌面模式

6 重启

1.20 简述linux无法上网的排查流程

1.ping baidu.com 检查是否能上网

2.ping 223.5.5.5  检查是否DNS问题

3.ping 网关     检查是否配置或其他问题

故障原因

1.检查配置文件

2.虚拟网络编辑器

3.vmware服务

4.vmware虚拟网卡问题

1.21 软连接与硬链接区别

【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

1.22 删除/etc/inittab中的空行或以#开头的行;

方法1

egrep -v '^$|^#'  /etc/inittab 

方法2

sed -r '/^$|^#/d' /etc/inittab

方法3

awk '!/^$|^#/' /etc/inittab

1.23 显示/etc/passwd中第1,3,5

awk -F: '{print $1,$3,$5}' /etc/passwd

1.24 写出你熟悉的8VIM的快捷键

       把光标移动到文件的第1行

           gg

           1G

           :1

       把光标移动到文件的最后一行

           G

           :$

       把光标移动到文件的第100行

           100gg

           100G

           :100

       把光标移动到这一行的行首

           0(数字0)

           ^

       把光标移动到这一行的结尾

           $

   测试文件

       cat /etc/services  /etc/sysconfig/network-scripts/ifcfg-eth0 >>/tmp/vim.log

   编辑(移动并编辑)

       在当行下面插入一个空行并进入编辑模式

           o(小写字母o)

       在当行上面插入一个空行并进入编辑模式

           O(大写字母O)

       删除光标所在位置到行尾的内容并进入编辑模式

           C(大写字母C)

       删除光标所在位置到行尾的内容

           D  d$

       快速到达行尾并进入编辑模式

           A

   复制 删除 粘贴

       复制光标所在行

           yy

       粘贴

           p

       多次粘贴

           3p

       删除/剪切

           dd

       删除当前行到文件结尾的内容

           dG

   其他

       显示行号

           :set nu

       取消显示行号

           :set nonu

       查找

           /你要找的内容

               默认向下搜索

               继续向下查找

                   n

               继续向上查找

                   N

           ?你要找的内容

               默认向上搜索

       撤销当前操作

           u

           undo

       恢复刚才的操作

           ctrl + r

       vim查询帮助

           :help  G

           :help  :wq

           :h G

       nu===number

1.25 创建文件提示no space left on device 但是df -h还有空间这是什么原因?如何排查和解决。

inode满了

找出系统中大于1M的目录,确认后再删除

1.26 通过df -h发现磁盘空间不足但是du -sh发现没有满,说出原因和排查解决过程。

原因:

文件没有彻底删除导致的(硬链接数为0,进程调用数不为零)

排查:

lsof |grep delete

解决:

重启对应的服务

1.27 显示当前系统日期为年月日~周几~小时

data +%F_%w_%H_%M_%S

1.28 当前目录/etc/rc.d目录 cd ../../../tmp 请问当前所在目录是哪里

/tmp

1.29 查找出系统中大于50k且小于100k的文件,把文件中的oldboy替换为oldgirl

find -type -size +50k -size -100k |xargs sed -i ‘s#oldboy#oldgirl#g‘

1.30 /etc/hosts 文件备份为hosts.bak

cp /etc/hosts /etc/hosts.bak

1.31 /oldboy 改名为/lidao

mv /oldboy lidao

1.32 显示/etc/services 文件中包含33061521的行(三种方法)

方法一:grep -n

grep -n "3306\|1521" /etc/services

方法二:egrep -n

egrep -n "3306\|1521" /etc/services

grep -E "3306|1521" /etc/services

1.33 如何设置grep别名,让grep默认过滤时永久显示颜色

alias grep=’grep --color’

把这句同时写进/root/.bashrc里面,并且执行一下source /root/.bashrc

1.34 查找/oldboy 目录下的所有文件结尾为*.txt的文件,并将文件内容输出。

方法1:cat /oldboy/*.txt

方法2:find /oldboy -type f -name “*.txt” | xargs cat

方法3:find /oldboy/ -type f -name "*.txt" -exec cat {} \;

1.35 描述软链接与硬链接的区别。

【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

1.36 描述通配符与正则表达式的区别

基本上解释就是通配符是系统命令使用,一般用来匹配文件名或者什么的用在系统命令中。而正则表达式是操作字符串,以行尾单位来匹配字符串使用的。
还有一点需要注意的是:*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用*来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符。

1.37 使用ifconfig  eth0 命令查看IP地址,请写出取出IP地址的方法,至少使用两种方法

方法1:ifconfig eth0 | grep “10.0.0” | awk -F “:” ‘{print $2}’ | awk -F “ ” ‘{print $1}’

方法2:ifconfig eth0 |awk 'NR==2' |awk -F"addr:|Bcast:"  '{print $2}'

1.38 使用grep过滤不包含oldboy字符串的行

grep -v “oldboy”

1.39 请给出默认情况 eth0 网卡配置文件的路径及客户端 DNS 的路径。

网卡: /etc/sysconfig/network-scripts/ifcfg-eth0

DNS:  /etc/resolv.conf  /etc/sysconfig/network-scripts/ifcfg-eth0

1.40 已知/oldboy/test.txt 文件内容如下,请问如何把文件中的空格过滤掉(要求命令行实现)。

 oldboy

 

 xizi

 xiaochao

egrep -v “^$” /oldboy/test.txt

1.41 No such file or directory

没有此文件或目录

1.42 command not found

找不到此命令

1.43 rm: cannot remove `/oldboy/data/': Is a directory

要删除的是个非空目录

1.44 find: Arguments to -type should contain only one letter

查找:-type的参数应该只包含一个字母

1.45 Firewall is not running.

防火墙没启动

1.46 ping: unknown host baidu.com

网不通

未知主机baidu.com

1.47 Package tree-1.5.3-3.el6.x86_64 already installed and latest version

安装了这个软件最新版本的包

1.48 Couldn't resolve host  www.oldboyedu.com

DNS不可达

无法解析主机www.oldboyedu.com

1.49 This account is currently not available

该帐户目前不可用

1.50 Sorry, passwords do not match

对不起,密码不匹配