一、选择题(每题2分)
1.1 设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为(B)
A:/home B:/root C:/home/root D:/usr/local
1.2 Linux有三种查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令(C)
A:cat B:more C:less D:me
1.3 在Linux系统中,用来存放系统所需要的配置文件和子目录是(A)
A:/etc B:/var C:/root D:/home
1.4 Linux文件系统的文件都安其作用分门别类地放在相关目录中,对于外部设备文件,一般应将其放在(C)目录中
A:/bin B:/etc C:/dev D:/lib
1.5 除非特别指定,cp假定要拷贝的文件在下面那个目录下(D)
A:用户目录 B:home目录 C:root目录 D:当前目录
1.6 在vi编辑器中的命令模式下,键入(B)可在光标当前所在行下添加一新行。
A:a B:o C:I D:A
1.7 (D)命令可以从文本文件的每一行中截取指定内容的数据。
A:cp B:dd C:fmt D:cut
1.8 按下(A)键能终止当前运行的命令
A:ctrl -c B:ctrl -f C:ctrl -b D:ctrl -d
1.9 在给定文件中查找与条件相符字符串的命令及查找某个目录下相应文件的命令为:(C)
A:grep B:gzip C:find
1.10 下列关于链接描述,错误的是(B)
A:硬链接就是让链接文件的i节点号指向被链接文件的i节点
B:硬链接和符号连接都是产生一个新的i节点
C:链接分为硬链接和符号链接(软连接)
D:硬链接不能链接目录文件
(1)软连接可以跨文件系统,硬连接不可以
(2)硬连接不管有多少个,都指向的是同一个I节点,会把结点连接数增加,只要结点的连接数不是0,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。
当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode, 并在磁盘上有一小片空间存放路径名。
(3)软连接可以对一个不存在的文件名进行连接 。
(4)软连接可以对目录进行连接。
二、原理题
2.1 bash常用快捷键(2分)
ctrl+c 终止当前正在运行的程序
ctrl+l 清屏==clean命令
ctrl+w 按单词或者空格进行向前删除
ctrl+ -〉
ctrl+ 〈-
ctrl+a 光标跳转至行首
ctrl+e 光标跳转至行尾
ctrl+z 暂时放入后台 几乎不用
ctrl+u 删除光标以前的所有内容
ctrl+k 删除光标以后的所有内容
ctrl+r 搜索此前执行过的命令
2.2 常见的bash特性有哪些?(2分)
1.补全tab
2.命令快捷键
3.历史命令history
4.命令别名 alias
5.帮助命令 man --help
2.3 什么是GNU,什么是GPL(3分)
GNU:不是Unix的意思。
GPL:通用公共许可,是著名的开源许可协议。
2.4 以下目录的作用(7.5分)
bin -> usr/bin binaries 二进制命令相关
boot linux的内核及系统引导程序的目录 /boot分区就是引导分区的挂载点
dev Device 设备文件所在目录
etc 二进制软件包配置文件所在的路径
tmp 存放临时文件的目录
home 普通用户的家目录
mnt (mount)临时挂载点
opt 可选择 自定义安装包
proc 虚拟的文件系统,存放进程和内核信息的目录
usr 系统软件和用户相关程序存在的目录,第二层次目录
root 管理员的家目录
run 正在运行进程相关信息的文件
sbin -> usr/sbin system binaries管理员命令所在的目录。普通用户执行不了
lib -> usr/lib library库文件目录
var 可变化的数据
2.5 简述命令执行的流程(2分)
1) 判断命令是否通过绝对路径执行
2) 判断命令是否存在alias别名
3) 判断用户输入的是内置命令还是外置命令
4) Bash内部命令直接执行,外部命令检测是否存在缓存
5) 通过$PATH变量查找命令,有执行,无报错 command not found
2.6 什么是绝对路径,什么是相对路径(2分)
绝对路径:以根“/”都可以看作是绝对路径。
相对路径:相对于当前路径而言。
2.7 简述软连接与硬连接的区别(2分)
软连接:快捷方式,不同的inode指向同一个block,删除软连接对应源文件无任何影响,
删除源文件, 则软连接失效.
硬链接:多个相同的inode指向同一个block,其实就是用来对文件做备份的.
2.8 vim的几种模式,每种模式都是做什么的(2分)
普通模式 (复制,粘贴,删除等)
编辑模式 (从普通模式进入到编辑模式)
命令模式 (主要用于搜索, 保存, 退出文件。)
视图模式(主要进行批量操作,ctrl+v 进入可视块模式,shift+v 进入可视行模式)
2.9 写出15个学过的命令(15分)
(1)cp 复制
-r 递归拷贝,通常用来拷贝目录
-p 保持拷贝源文件的属性不变
-v 显示拷贝的过程
(2)cat 查看文件内容,从头到尾查看
-n 显示行号
-A 显示特殊字符
(3)less 查看大文件,空格翻页,光标上下移动,q退出查看文件模式
(4)more 查看大文件显示百分百,空格翻页,回车上下移动,q退出查看文件模式
(5)tail 查看文件尾部内容,默认10行
-n 查看尾部第几行
-f 动态追踪一个文件尾部的实时变化,在后面故障排查会使用到.
(6)head 查看文件头部内容,默认10行
-n 指定查看头部多少行
(7)grep (过滤|匹配)一个文件中的内容
-n 显示文件所在的行
-i 忽略大小写
-v 取反
-E 匹配多个条件 a|b|c
(8) file 查看文件类型
(9) 历史命令history, 查找执行的命令历史记录
-w 保存历史到历史文件
-c 清空命令历史记录,不会清空文件。
-d 删除命令历史的第n条行
(10)命令别名 alias
(11)cat 查看文件内容
(12)cd 切换目录
(13)awk 取列
(14)cut 截取字段
-d 指定分隔符
-f 数字,取第几列 –f3,6三列和6列
-c 按字符取(空格也算)
(15)uniq 去重
-c 计算重复的行
2.10 以下特殊符号所代表的含义(2.5分)
. 任意单个字符
.. 当前用户所在的上级目录
/ 根目录
# 超级管理员
$ 以什么结尾
三、命令题
3.1 创建目录/old/boy/(2分)
[root@oldboy ~]# mkdir -pv /old/boy
mkdir: created directory ‘/old’
mkdir: created directory ‘/old/boy’
3.2 使用一条命令在/old/boy/目录下创建bgx1.txt、bgx2.txt、bgx3.txt三个文件(2分)
[root@oldboy ~]# cd /old/boy
[root@oldboy boy]# mkdir bgx{1..3}.txt
[root@oldboy boy]# ls
bgx1.txt bgx2.txt bgx3.txt
3.3 将/old/boy/目录下所有内容复制到/root/目录下(2分)
[root@oldboy boy]# cp -r /old/boy/ /root/
[root@oldboy ~]# ls
boy
[root@oldboy ~]# cd boy
[root@oldboy boy]# ls
bgx1.txt bgx2.txt bgx3.txt
3.4 将/old目录移动到/tmp/下(2分)
[root@oldboy ~]# mv /old/ /tmp/
3.5 将I am student输入到/root/bgx1.txt中(2分)
[root@oldboy ~]# vim /root/bgx1.txt
[root@oldboy ~]# cat /root/bgx1.txt
I am student
3.6 查看/root/bgx1.txt文件的内容(四种方法)(4分)
[root@oldboy ~]# cat /root/bgx1.txt
I am student
[root@oldboy ~]# less /root/bgx1.txt
[root@oldboy ~]# more /root/bgx1.txt
I am student
[root@oldboy ~]# head /root/bgx1.txt
I am student
3.7 查看/tmp/old/属于哪种文件类型(2分)
[root@oldboy ~]# file /tmp/old/
/tmp/old/: directory
3.8 删除/tmp目录下所有内容(2分)
[root@oldboy tmp]# rm -rf /tmp/*
[root@oldboy tmp]# ls
3.9 删除/root下所有a开头的文件(2分)
[root@oldboy tmp]# rm -rf /root/a*
3.10 查看/etc/passwd文件的第7、8行(3分)
[root@oldboy tmp]# sed -n '7,8p' /etc/passwd
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
3.11 清除命令历史记录(3分)
history -c
3.12 将文件从Windows上传到centos系统中使用什么命令(3分)
rz
3.13 如何将/root/bgx1.txt文件下载到windows系统中(3分)
sz /root/bgx1.txt
3.14 如何比较两个文件内容有什么区别(2种方式,并简述2种方式的区别)(6分)
vimdiff diff
vimdiff 可以更清晰,跟直观的查看他们的区别
3.15 已知阿里源地址为http://mirrors.aliyun.com/repo/Centos-7.repo将其下载到etc/yum.repos.d目录下并命名为Centos-7.repo(3分)
wgetOetc/yum.repos.d/Centos7.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
3.16 如何安装vim(3分)
yum install wim -y
3.17 在/tmp/目录下面创建一个etc的软连接etc-test(3分)
[root@oldboy tmp]# ln -s /root/etc /tmp/etc-test
3.18 如何查看家目录下的所有文件(3分)
[root@oldboy ~]# ls -a
3.19 给hello设置别名,使每次使用hello就输出“你好”(3分)
[root@oldboy tmp]# alias hello="echo 你好"
[root@oldboy tmp]# hello
你好
3.20 取消hello命令的别名(3分)
[root@oldboy tmp]# unalias hello
四、面试题
4.1 显示1.txt文件第3到第10行的内容?(3分)
[root@oldboy tmp]# sed -n '3,10p' 1.txt
4.2 写出查询file.txt以abc结尾的行(3分)
[root@oldboy tmp]# grep "abc$" file.txt
4.3 删除file.txt文件中的空行(3分)
[root@oldboy tmp]# grep -v "^$" file.txt
4.4 找出ifconfig命令结果中的1-255之间的数值;(3分)
[root@oldboy tmp]# ifconfig|sed -n '/[1-255]/p'
4.5 统计出apache的access.log 中访问最多的5个ip(IP为第一列)
(4分)
[root@oldboy tmp]# awk -F '{print $1}'|sort -n|uniq -c|sort -n|head -5|wc -l
4.6 在/var/ sync/log/cef_watchd-20080424.1og文件中查找大小
写不敏感“mysql"字符串中的命令是(3分)
[root@oldboy tmp]# grep -i "mysql" /var/sysnc/log/cef_watchd-20080424.1og
4.7 用命令行更改config.txt文件,把里面所有的"name"更改
为"address" (4分)
[root@oldboy tmp]# sed "s#name#address#g"|config.txt
4.8 用awk获取文件中第三行的倒数第二列字段(3分)
[root@oldboy tmp]# awk 'NR==3{print $NF-1}'
4.9 显示file文件里匹配foo字串那行及前5行、匹配foo及后5行(4
分)
[root@oldboy tmp]# grep "foo" file|head -5
[root@oldboy tmp]# grep "foo" file|tail -5
4.10 查找file.log文件中的包含关键字“helloworld”的内容,及其上
下两行的内容从定向保存到1.txt。请写出命令(4分)
[root@oldboy tmp]# grep -C "helloworld" file.log>>1.txt