一、选择题(每题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:硬链接不能链接目录文件
二、原理题
2.1 bash常用快捷键(2分)
Ctrl + a #光标跳转至正在输入的命令行的首部
Ctrl + e #光标跳转至正在输入的命令行的尾部
Ctrl + c #终止前台运行的程序
Ctrl + d #在shell中,ctrl-d表示推出当前shell。
Ctrl + z #将任务暂停,挂至后台
Ctrl + l #清屏,和clear命令等效。
Ctrl + k #删除从光标到行末的所有字符
Ctrl + u #删除从光标到行首的所有字符
Ctrl + r #搜索历史命令, 利用关键字
2.2 常见的bash特性有哪些?(2分)
1.命令补全,可以实现命令补全,路径补全
2.命令快捷键,可以极大程度上帮助我们提升工作效率
3.历史命令History, 追溯之前使用过的命令
-w :保存命令历史到历史文件
-c :清空命令历史记录, 不会清空文件
-d :删除命令历史的第 N 条行
4.命令别名alias,可以将经常使用的复杂命令简单化
2.3 什么是GNU,什么是GPL(3分)
GNU:G是"GNU is Not Unix"的缩写,意思是“GNU不是UNIX”,GNU计划,又称革奴计划,是由Richard
Stallman在1983年9月27日公开发起的,是FSF(Free SoftwareFoundation,自由软件基金会)的主
要项目。
GPL: 通用版权许可证协议,如果软件被打上GPL,那么任何人都可以对这个软件进行修改,但是修改完
之后必须将源码发布出来,以便更好的传承下去。
2.4 以下目录的作用(7.5分)
/bin:普通用户使用的命令 /boot:存放的系统启动相关的文件
/dev:存放设备文件 /etc:配置文件目录
/tmp:系统临时目录(类似于公共厕所) /home:普通用户的家目录,
/mnt:提供设备的挂载点 /opt:第三方工具默认的安装目录
/proc:反映系统当前进程的实时状态 /usr:系统文件目录
/root:超级管理员root的家目录 /run:进程运行的PID,lock相关的文件
/sbin: 管理员使用的命令 /lib: 库文件
/var:可变的目录
2.5 简述命令执行的流程(2分)
(1)、判断命令是否通过绝对路径执行
(2)、判断命令是否存在alias别名
(3)、判断用户输入的是内置命令还是外置命令
(4)、Bash内部命令直接执行,外部命令检测是否存在缓存
(5)、通过$PATH变量查找命令,有执行,无报错 command not found
2.6 什么是绝对路径,什么是相对路径(2分)
绝对路径: 只要从"/"开始的路径
相对路径: 相对于当前目录来说
2.7 简述软连接与硬连接的区别(2分)
(1)、ln命令创建硬链接,ln -s命令创建软链接。
(2)、目录不能创建硬链接,并且硬链接不可以跨越分区系统。
(3)、目录软链接特别常用,并且软链接支持跨越分区系统。
(4)、硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。
(5)、删除软链接文件,对源文件及硬链接文件无任何影响。
(6)、删除硬链接文件,对源文件及软链接文件无任何影响。
(7)、删除链接文件的源文件,对硬链接无影响,会导致软链接失效。
(8)、删除源文件及其硬链接文件,整个文件会被真正的删除。
2.8 vim的几种模式,每种模式都是做什么的(2分)
1.普通模式: 主要是控制光标移动,可对文本进行复制、粘贴、删除等工作。
使用vim filename 编辑一个文件时,一进入该文件就是普通模式了。
在这个模式下,可以进行光标移动、复制、删除、粘贴操作。
2.编辑模式: 主要进行文本内容编辑和修改
从普通模式进入编辑模式,只需你按一个键即可(i, I, a, A, o, O)
当进入编辑模式时,会在屏幕的最下一行会出现 "INSERT"标记
从编辑模式回到普通模式只需要按键盘左上方的 ESC 键即可。
3.命令模式: 主要用于保存或退出文本。
在普通模式下,输入 ":" 或者 "/" 即可进入命令模式。
在命令该模式下,可进行的操作有,显示行号、搜索、替换、保存、退出。
2.9 写出15个学过的命令(15分)
mkdir:创建目录 touch:创建文件 mv 移动/重命名 文件
rm:删除文件或目录 cp:复制命令 cat:查看文件内容
grep:过滤文件内容 wget:联网下载文件 curl:联网下载文件
sort:排序 uniq:去重 cut"截取字段
which:查找一个命令的绝对路径 whereis:查找一个命令的绝对路径 wc:统计行号
2.10 以下特殊符号所代表的含义(2.5分)
"." :代表当前目录
"..":代表当前目录的上一级目录
"/" :代表去除原有的别名的属性,只保留当前的属性
"#" :注释,不执行
"$" :以...结尾
三、命令题
3.1 创建目录/old/boy/(2分)
mkdir /old/boy/ -p
3.2 使用一条命令在/old/boy/目录下创建bgx1.txt、bgx2.txt、bgx3.txt三个文件(2分)
touch /old/boy/ bgx-{1..3}
3.3 将/old/boy/目录下所有内容复制到/root/目录下(2分)
cp /old/boy/* /root/
3.4 将/old目录移动到/tmp/下(2分)
mv /old/ /tmp/
3.5 将I am student输入到/root/bgx1.txt中(2分)
cat >> bgx1.txt <<EOF
I am student
EOF
3.6 查看/root/bgx1.txt文件的内容(四种方法)(4分)
cat /root/bgx1.txt
less /root/bgx1.txt
more /root/bgx1.txt
vim /root/bgx1.txt
3.7 查看/tmp/old/属于哪种文件类型(2分)
file /tmp/old/
3.8 删除/tmp目录下所有内容(2分)
rm /tmp/*
3.9 删除/root下所有a开头的文件(2分)
rm /root/a*
3.10 查看/etc/passwd文件的第7、8行(3分)
sed ' 7,8p' /etc/passwd
3.11 清除命令历史记录(3分)
history -c
3.12 将文件从Windows上传到centos系统中使用什么命令(3分)
rz -E
3.13 如何将/root/bgx1.txt文件下载到windows系统中(3分)
sz /root/bgx1.txt
3.14 如何比较两个文件内容有什么区别(2种方式,并简述2种方式的区别)(6分)
diff 文件对比
vimdiff 以vim方式打开两个文件对比,高亮显示不同的内容
3.15 已知阿里源地址为(http://mirrors.aliyun.com/repo/Centos-7.repo) 将其下载到etc/yum.repos.d目录下并命名为Centos-7.repo(3分)
wget -O /etc/yum.repos.d/CentOS-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.16 如何安装vim(3分)
使用 yum install vim -y 命令来下载安装vim。
3.17 在/tmp/目录下面创建一个etc的软连接etc-test(3分)
ln -s /etc/ /tmp/etc-test
3.18 如何查看家目录下的所有文件(3分)
ls -a ~ ;ll -a ~
3.19 给hello设置别名,使每次使用hello就输出“你好”(3分)
alias hello='echo 你好!'
3.20 取消hello命令的别名(3分)
unalias hello
四、面试题
4.1 显示1.txt文件第3到第10行的内容?(3分)
sed -n '3,10p' 1.txt
4.2 写出查询file.txt以abc结尾的行(3分)
grep "abc$" file.txt
4.3 删除file.txt文件中的空行(3分)
sed '/^\s*$/d' file.txt
4.4 找出ifconfig命令结果中的1-255之间的数值;(3分)
ifconfig | egrep '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'
4.5 统计出apache的access.log 中访问最多的5个ip(IP为第一列)(4分)
awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -5
4.6 在/var/sync/log/cef_watchd-20080424.1og文件中查找大小写不敏感“mysql"字符串中的命令是(3分)
grep -i "mysql" /var/ sync/log/cef_watchd-20080424.1og
4.7 用命令行更改config.txt文件,把里面所有的"name"更改为"address" (4分)
cat config.txt |sed 's#name#address#g'
4.8 用awk获取文件中第三行的倒数第二列字段(3分)
awk 'NR==3{print $(NF-1)}' config.txt
4.9 显示file文件里匹配foo字串那行及前5行、匹配foo及后5行(4分)
前五行:grep -B 5 "foo" file
后五行:grep -A 5 "foo" file
4.10 查找file.log文件中的包含关键字“helloworld”的内容,及其上下两行的内容从定向保存到1.txt。请写出命令(4分)
grep -C2 "helloword" file.log >> 1.txt