一、选择题
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 在给定文件中查找与条件相符字符串的命令及查找某个目录下相 应文件的命令为:(D)
A:grep B:gzip C:find
1.10 下列关于链接描述,错误的是(B)
A:硬链接就是让链接文件的i节点号指向被链接文件的i节点
B:硬链接和符号连接都是产生一个 新的i节点
C:链接分为硬链接和符号链接
D:硬链接不能链接目录文件
二、原理题
2.1 bash常用快捷键
ctrl+c ---终止当前任务
ctrl+l ---清屏 == clear
ctrl+w ---按单词或空格进行向前删除
ctrl+a ---光标移动到行首
ctrl+e ---光标移动到行尾
ctrl+z ---暂停当前任务,暂时放入后台
ctrl+u ---删除光标位置以前的所有内容
ctrl+k ---删除光标位置以后的所有内容
ctrl+r ---搜索历史命令
alt+b ---光标前移一位
alt+f ---光标后移一位
esc+. ---复制上一条命令的结尾
2.2 常见的bash特性有哪些?
- tab键:可以补全命令丶路径和选项(输入错误无法补全)
- 命令快捷键
- history历史命令:查找执行命令的历史记录
4.命令别名 --alias
2.3 什么是GNU,什么是GPL
GNU:1984年斯托曼创立自由软件基金会和GNU组织。GNU:“gnu‘s not unix”又称为“革奴计划”是为了替代unix操作系统,研发一个能自由传播的操作系统。
GPL协议:开源协议,GPL协议的软件任何人可以任意修改,任意发布。但修改后必须开放源代码。
2.4 以下目录的作用
/bin: 二进制可执行文件的保存目录,普通用户命令保存目录(软链接,指向/usr/bin)
/sbin: 管理员可用的系统相关命令存储目录(软链接,指向/usr/sbin)
/lib: 系统启动与运行时所需的库文件(软链接,指向/usr/lib)
/usr: 系统文件目录
/boot: 存放系统启动的相关文件
/dev: 设备文件的保存目录,比如硬盘分区 光驱等
/etc: 配置文件的保存目录
/home: 普通用户的家目录
/mnt: 临时挂载点
/opt: 第三方软件程序存储目录
/proc: 存放系统正在运行的程序 进程信息
/root : 管理员家目录
/run: 正在运行的程序的pid和锁文件存储目录
/tmp: 临时文件存储目录
/var: 存放系统执行过程中经常变化的文件,如日志和邮件等
2.5 简述命令执行的流程
1.判断命令是否是绝对路径
2.判断命令是否有别名
3.判断命令是内置命令还是外置命令
4.bash的内部命令直接执行,外部命令检查是否有缓存
5.通过$PATH变量查找命令,有命令执行,没有命令报错'command not found'
2.6 什么是绝对路径,什么是相对路径
绝对路径:从根开始的就是绝对路径
相对路径:从当前目录开始的就是相对路径
2.7 简述软连接与硬连接的区别
1.ln 命令创建硬链接;ln -s 创建软链接
2.目录不能创建硬链接,硬链接不能跨越分区
3.目录软链接特别常用,软链接支持跨分区
4.硬链接文件与源文件inode相同,软链接文件与源文件inode不同
5.删除软链接对源文件及硬链接文件无影响
6.删除硬链接对源文件及链接文件无影响
7.删除源文件,对硬链接无影响,会导致软链接失效
8.删除源文件及其所有硬链接,文件会被真正删除
2.8 vim的几种模式,每种模式都是做什么的
- 普通模式:复制,粘贴,删除,替换,撤销
- 编辑模式:编辑文件内容
- 命令模式:保存,退出,替换
- 视图模式:批量操作
2.9 写出15个学过的命令
awk ---取列,取行
grep ---筛选
sed ---取行,替换
head ---查看文件前多少行,默认十行
tail ---查看文件后多少行,默认十行
ls ---查看文件
cat ---查看文件内容
mkdir ---创建目录
touch ---创建文件
cp (copy) ---复制 拷贝
mv ---移动
rm(remove) ---删除文件或目录
man ---命令功能,参数等帮助信息工具
help ---查看内置命令
Pwd ---显示当前路径
history ---查看执行命令的历史记录
which ---显示命令对应文件所在路径
Wherwis ---显示命令路径信息和相关其他文件(帮助手册文件)路径信息
file ---查看文件类型
2.10 以下特殊符号所代表的含义
. :表示当前目录
.. :表示当前目录的上一级目录
/ :表示根
:表示注释,也是管理员命令提示符
$ :以什么结束,也是普通用户命令提示符
三、命令题
3.1 创建目录/old/boy/
mkdir /old/boy/ -p
3.2 使用一条命令在/old/boy/目录下创建bgx1.txt、bgx2.txt、 bgx3.txt三个文件
touch /old/boy/bgx{1..3}.txt
3.3 将/old/boy/目录下所有内容复制到/root/目录下
cp /old/boy/* /root
3.4 将/old目录移动到/tmp/下
mv /old /tmp
3.5 将I am student输入到/root/bgx1.txt中
1. cat >> /root/bgx1.txt<<EOF
I am student
EOF
2. echo I am student >> bgx1.txt
3.6 查看/root/bgx1.txt文件的内容(四种方法)
less /root/bgx1.txt
more /root/bgx1.txt
cat /root/bgx1.txt
vim /root/bgx1.txt
3.7 查看/tmp/old/属于哪种文件类型
file /tmp/old/
3.8 删除/tmp目录下所有内容
rm -fr /tmp/*
3.9 删除/root下所有a开头的文件
rm -f /root/a*
3.10 查看/etc/passwd文件的第7、8行
head -8 /etc/passwd | tail -2
3.11 清除命令历史记录
history -c
3.12 将文件从Windows上传到centos系统中使用什么命令
rz
3.13 如何将/root/bgx1.txt文件下载到windows系统中
sz
3.14 如何比较两个文件内容有什么区别(2种方式,并简述2种方式 的区别)
diff 文件对比
vimdiff 以vim方式打开两个文件对比,高亮显示不同的内容
3.15 已知阿里源地址为http://mirrors.aliyun.com/repo/Centos-7.repo将其下载到 etc/yum.repos.d目录下并命名为Centos-7.repo
wget -O /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.r epo
3.16 如何安装vim
yum install -y vim
3.17 在/tmp/目录下面创建一个etc的软连接etc-test
ln -s /etc /tmp/etc-test
3.18 如何查看家目录下的所有文件
ll -a ~/
3.19 给hello设置别名,使每次使用hello就输出“你好”
alias hello ='echo 你好'
3.20 取消hello命令的别名
unalias hello
四、面试题
4.1 显示1.txt文件第3到第10行的内容?
awk 'NR==3,NR==10' 1.txt
head 1.txt | tail -8
4.2 写出查询file.txt以abc结尾的行
grep 'abc$' file.txt
4.3 删除file.txt文件中的空行
grep -v '^$' file.txt > file1.txt
4.4 找出ifconfig命令结果中的1-255之间的数值;
ifconfig | grep -E "<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])>"
4.5 统计出apache的access.log 中访问最多的5个ip(IP为第一列)
awk '{print $1}' apache/access.log | sort |uniq -c | sort -n| tail -5
4.6 在/var/ sync/log/cef_watchd-20080424.1og文件中查找大小 写不敏感“mysql"字符串中的命令是
grep -i 'mysql' /var/ sync/log/cef_watchd-20080424.1og
**4.7 用命令行更改config.txt文件,把里面所有的"name"更改 为"address" **
sed -i 's#name#address#g' config.txt
4.8 用awk获取文件中第三行的倒数第二列字段
awk 'NR==3 {print $(NF-1)}'
4.9 显示file文件里匹配foo字串那行及前后五行;前5行、匹配foo及后5行
上下五行:grep -C 5 'foo' file
上五行grep -B 5 'foo' file
下五行grep -A 5 'foo' file
4.10 查找file.log文件中的包含关键字“helloworld”的内容,及其上 下两行的内容从定向保存到1.txt。请写出命令
grep -C2 'helloworld' file.log | > 1.txt