码迷,mamicode.com
首页 > 其他好文 > 详细

第一次月考

时间:2018-08-03 18:46:54      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:find   available   正则表达   链接文件   自启   this   pts   用户家目录   符号连接   

第一次月考

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 #不加-p也ok

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

方法1

vivim修改

方法2

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

echo ' I love studying Linux.' >oldboy.txt

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

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

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

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

2> 错误输出重定向

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

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

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

.  /etc/profile === source /etc/profile #这个可以不讲解

..  当前目录的上级目录

~   当前用户家目录

|  

awk中表示匹配(awk '$1~/oldboy/' xxx#这个可以不讲解

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

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

| 管道 正则表示或者

 

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

trainning

fanbingbing

lidao

方法1

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

方法2

tail -2 test.txt

方法3

sed '/trainning/d' test.txt

方法4

awk '!/trainning/' test.txt

方法5

grep '^[^t]' test.txt #sed awk实现也行

其他能实现的方法也oktrainning单词写错没事。

 

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

命令行测试

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

永久生效

写入/etc/profile

生效

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进程是否存在?

1.15.1 查看端口22是否开启

ss -lntup |grep 22

netstat -lntup|grep 22

telnet ip地址 22

nc  ip地址 22

nmap -p22  ip地址

lsof -i:22

1.15.2 查看进程是否存在

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的快捷键

       移动光标

       k

h    l

    j

 

              把光标移动到文件的第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 |xargssed -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的文件,并将文件内容输出。

方法1cat /oldboy/*.txt

方法2find /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地址的方法,至少使用两种方法

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

方法2ifconfig 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 翻译题10道:

1.41.1 No such file or directory

没有此文件或目录

1.41.2 command not found

找不到此命令

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

要删除的是个非空目录

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

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

1.41.5 Firewall is not running.

防火墙没启动

1.41.6 ping: unknown host baidu.com

网不通

未知主机baidu.com

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

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

1.41.8 Couldn't resolve host  www.oldboyedu.com

DNS不可达

无法解析主机www.oldboyedu.com

1.41.9 This account is currently not available

该帐户目前不可用

1.41.10 Sorry, passwords do not match

对不起,密码不匹配

 


第一次月考

标签:find   available   正则表达   链接文件   自启   this   pts   用户家目录   符号连接   

原文地址:http://blog.51cto.com/13859649/2154222

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!