一
Linux基础以及文件目录等试题
1.简述企业磁盘分区规则。
/boot 系统引导分区 一般大小为200 除特殊情况不会增加
/swap 交换分区 系统内存不足时 充当临时内存
在工作中:物理内存小于8G swap就给物理内存的1.8倍
物理内存大于8G swap就给8G
/ 根分区 存放系统相关软件
在工作中:数据重要时,创建date分区,将剩余的空间划给date分区。
数据不重要时,将剩余空间划分给/分区。
不知道数据重不重要时,使用多少划分多少。
2.简述centos开机启动流程。
centos6:
①按下电源;
②开机自检BIOS;
③MBR引导;
④GRUB菜单;
⑤加载内核;
⑥启动init进程(centos第一个启动的进程);
⑦读取/etc/inittab centos6运行级别;
⑧读取 /etc/rc.sysinit初始化系统,设置主机名ip地址;
⑨根据运行级别运行/etc/rc数字.d下面的脚本,开机自启动;
⑩启动mingetty,显示登录界面,运行login。
centos7:
①按下电源;
②开机自检BIOS;
③MBR引导;
④GRUB菜单;
⑤加载内核;
⑥systemd;
⑦启动运行级别 target(7) multi-user.target /etc/systemd/system/default.target;
⑧并行启动各种服务 /usr/lib/systemd/system /etc/systemd/system/服务;
⑨启动login 显示登录界面。
3.简述常见运行级别
centos6:①0 关机;②1 单用户模式;③2 多用户模式;④3 完全多用户模式;⑤4 待开发;⑥5 图形化界面,桌面模式;⑦6 关机。
centos7:①poweroff.target;②rescue.target;③multi-user.target;④multi-user.target;⑤multi-user.target;⑥multi-user.target;⑦graphical.target;⑧reboot.target。
4.简述软硬连接的区别
定义:Linux系统中,软连接相当于Windows中的快捷方式;硬链接与源文件有相同的inode号,可以指向block。
创建方式:软连接ln -s 硬链接ln
创建对象:软连接可以跨文件系统,可以对目录创建;硬链接不能跨文件系统,只能对文件创建。
删除:删除源文件对硬链接不会造成影响。会导致软连接失效。
5.简述什么是inode,什么是block
inode:inode是索引节点,相当于身份证,在文件系统中是唯一的,大小为256个字节,在inode中存放了文件属性以及block;
block:数据块 大小为4k,当数据很小为1k时,其余3k也会被占用,当数据很大为8G时,会占用很多block。
6.简述什么是buffer,什么是cache
buffer:写buffer 写缓冲 将数据写入到内存中去;
cache:读cache 读缓存 将数据从内存中读取出来。
7.说出Linux下常用的快捷键
Ctrl c 取消当前的操作 Ctrl r 查找(历史命令)
Ctrl l 清空屏幕 Ctrl d 退出当前用户
Ctrl a 把光标移动到行首 Ctrl e 把光标移动到行尾
Ctrl u 把光标到行首的内容剪切 Ctrl y 粘贴
Ctrl s 锁屏 Ctrl q 解锁
Ctrl H 删除光标前 Ctrl D 删除光标后
8.vim编辑器中所有快捷操作的使用
gg 把光标移动到文件的第一行
G 把光标移动到文件的最后一行
100gg 把光标移动到文件的100行
o 在当前行下面插入一行并进入编辑模式
O 在当前行上面插入一行并进入编辑模式
C 删除光标所在位置到行尾的内容并进入编辑模式
D 删除光标所在位置待行尾的内容
A 快速到达行尾并进入编辑模式
zz 快速保存并退出
p 粘贴 多次粘贴 数字+p
dd 删除粘贴一整行
n 查找下一个
N 查找上一个
9.查找根下所有名中带有apple的文件与目录(不区分大小写)
[root@apple ~]#find / -iname '*apple*'
/boot/grub2/i386-pc/part_apple.mod
/sys/bus/hid/drivers/apple
/sys/module/hid_apple
/sys/module/hid_apple/drivers/hid:apple
/root/apple
/root/apple.txt.bak
10.查找根下以.txt结尾、最近一天修改过、大于1M的文件
[root@apple ~]#find / -type f -ctime +1 -name '*.txt'-size +1M
11.将/etc/目录压缩到/tmp/目录下,压缩包名为etc.tar.gz
[root@apple ~]#tar zcf /tmp/etc.tar.gz /etc/
tar: Removing leading `/' from member names
12.查看/tmp/etc.tar.gz这个压缩包中有什么文件
[root@apple ~]#tar -tf /tmp/etc.tar.gz
13.将/tmp/etc.tar.gz目录解压到/root/目录下(不显示过程)
[root@apple ~]#tar -xf /tmp/etc.tar.gz -C /root/
14.筛选出网卡配置文件中带有a的行(不区分大小写)
15.将网卡配置文件中所有的小写字母替换成大写字母
[root@apple ~]#tr 'a-z' 'A-Z'
16.将文本文件a.txt名称改为txt.a
[root@apple ~]#mv a.txt txt.a
[root@apple ~]#ll a.txt
ls: cannot access a.txt: No such file or directory
[root@apple ~]#ll txt.a
-rw-r--r-- 1 root root 0 Apr 29 20:32 txt.a
17.在/tmp目录下创建名为etc.soft的/etc的软连接
[root@apple ~]#ln -s /etc /tmp/etc.soft
18.报错翻译
1.Could not connect to '10.0.0.200' (port 233): Connection failed.
不能连接到这个ip 连接失败
2.mkdir: cannot create directory ‘/lidao’: File exists
不能创建目录,因为这个目录已经存在
3.tar: Removing leading `/' from member names
在压缩时不要使用绝对路径
4.ping: baidu.com: Name or service not known
ping不到这个名字或服务
5.tree: Invalid level, must be greater than 0.
不能使用的级别,必须大于1层
6.You have mail in /var/spool/mail/root你收到了一封邮件
你收到了一封邮件,定时任务没有追加重定向就会显示提示
7.Can't open file for writing
这个文件不能打开
8.descend into directory
不能进入这个目录
9.Nothing to do
不能进行这个操作
10.Could not resolve host
无法配置dns服务
19.目录下的重要文件
/etc/sysconfig/netwprk-scripts/ifcfg/-eth0 网卡配置文件
/etc/resolv.conf 解析DNS
/etc/hostname 主机名配置文件
/etc/hosts 域名与IP地址解析关系 局域网、本地DNS /etc/fstab 配置开机设备自动挂载的列表(文件)
/etc/rc.local 存放开机自动程序命令的文件 命令、脚本(命令大礼包)
/etc/profile别名 环境变量配置文件
/etc/bashrc 环境变量配置文件
/etc/inittab 系统运行级别配置文件
20.扩展题目:
如何查看/etc目录所占容量
[root@apple ~]#du -h -s /etc |sort
32M /etc
21.筛选出网卡配置文件中所有带数字的行。
22.创建一个属于old用户组的用户boy
二
1.特殊符号:
引号系列:
单引号 '' 所见即所得
双引号""双引号里面的特殊符号会被执行
不加引号支持{}
反引号 相当于$() 解析里面的内容
2.基础正则符号:
(1)^尖角符号:以...开头的信息过滤出来
(2)尖角美元符号:取出文件中的空行信息
(4).点符号:表示匹配任意一个且只有一个字符
(5)星号:匹配前面的一个字符连续出现0次或者多次
(6).*点跟星号:匹配所有信息
(7)\转译字符:将一些有意义的符号进行转译,变为一个普通字符
(8)[]中括号:匹配括号中的每一个字符,并且匹配的关系是或者的关系
(9)[^]对中括号里面匹配的字符信息进行排除
(10)^[]以中括号里面匹配的字符作为一行开头的字符
3.扩展正则符号
(1)+加号符号:匹配加号前面一个字符连续出现1次或多次
(2)|竖线符号:或者关系符号
(3)()小括号符号:将多个字符信息汇总为一个整体
(4){}花括号符号:指定花括号前一个字符连续匹配多少次
{n,m}n表示最少连续匹配多少次,m表示最多连续匹配多少次 {n}表示只连续匹配n次。
(5)?问号符号:表示匹配问号前面一个字符出现0次或者1次。
3.找出/alex目录下以.txt结尾,修改实际是180天之前的,大于100k并小于10M的文件(3分)
[root@apple ~]#find /alex -type f -ctime 179 -name '*,txt'-size +1M -100k
4.找出/oldboy目录下以.log结尾的文件并把文件中的oldboy替换为oldgirl(至少2种方法)
find /oldboy -type f -name "*.log"|xargs sed 's#(oldboy)#(oldgirl)#g'
find /oldboy -type f -name "*.log" - - exec sed 's#(oldboy)#(oldgirl)#g' {} \:
sed 's#(oldboy)#(oldgirl)#g' `find /oldboy -type f -name "*.log"`
5.找出/oldboy下面以.conf结尾的文件打包备份到/tmp/下面(2种方法)
find /oldboy -type f -name "*.conf"|xargs tar zcf /tmp.tar.gz
tar zcf /tmp.tar.gz `find /oldboy -type f -name "*.conf"`
6.筛选出/etc/ssh/sshd.config文件中不是以#和D开头的行
egrep -v '^#|^D' /etc/ssh/sshd.config
7.查找出/etc/目录下以.txt结尾的,修改时间在最近三天的,内容中带有“PORT”的文件
find /etc/ -type f ctime +3 -name "*.txt"|xargs grep -w /etc/ "*PORT*"