Skip to content

一,特殊符号解释(共22分)

bash
|:管道符。或者
>:清空追加重定向(1:正确、2:错误、&:正确或者错误都重定向)
>>:追加输出重定向(1:正确、2:错误、&:正确或者错误都重定向)
<:标准输入重定向
<<:标准追加输入重定向
~:家目录
$():优先执行还有``
$:普通用户标识。正则中以...结尾
^:正则中以...开头
^$:匹配空行
*:任意,正则中匹配0到无限次
?:任意一个字符,正则中匹配0或1次
+:正则中匹配1到无限次
&&:并且,前面的命令执行成功才执行后面的
||:或者,前面的命令执行失败才执行后面的
.(点):当前目录。正则中表示任意一个字符
..(双点):上级路径
[0-9]:匹配0-9任意数字
[A-F]:匹配A-F任意大写字母
[^a-z]:不匹配a-z小写字母
[!abc]:不匹配字母abc
{1..5}:1-5序列数

二,命令整体作用解释(共25分)

bash
find /data/ -type f -size +10M -size -100M:匹配/data/目录下大于10M并且小于100M的文件
grep -n:过滤字符显示行号
grep -w:精准匹配字符
grep -o:仅显示匹配内容
grep -l:显示过滤内容的文件名
grep -E:开启扩展正则
grep -i:忽略大小写
|xargs:将左侧命令结果转换成横向命令行格式
|xargs -i:将左侧命令结果传递到右侧{}占位符中
cp /root/yunjisuan.txt{,.bak}:文件备份
rpm -ivh:手动安装程序包,显示安装过程并以#显示进度
rpm -e:卸载程序
rpm -q:查看安装包
rpm -ql:查看软件安装路径
rpm -qf:通过命令路径查看所属程序包
rpm -qa:查看所有安装程序包
yum -y install:yum安装-y非交互式
yum -y remove:yum卸载,-y非交互式
yum history:yum历史操作记录
yum search:查看命令所属软件包
yum provides *bin/bash:查看命令bash所属软件包
wc -l:统计行数
df -h:以人性化可读方式查看挂载情况
   -T:查看挂载类型
   -i:查看inode号使用情况

三,特殊路径解答(共22分)

  1. yum仓库的安装目录绝对路径:/etc/yum.repos.d/
  2. 光盘设备的绝对路径(非挂载目录):/dev/sr0
  3. /root目录的作用:超级用户家目录
  4. /home目录的作用:普通用户家目录宿主目录
  5. /boot目录的作用:启动程序文件系统
  6. /dev目录的作用:设备文件系统
  7. /etc目录的作用:全局配置文件系统
  8. /usr目录的作用:第三方软件安装位置
  9. /var目录的作用:可变文件和临时文件存储
  10. 保存用户账户信息的两个文件绝对路径:/etc/passwd,/etc/shadow
  11. 保存组账户信息的两个文件的绝对路径:/etc/group,/etc/gshadow

四,命令练习(共26分)

1、已知根下的data目录里有若干文件和目录。将所有小于50M,文件名中包含yunjisuan的所有文件,

移动到/tmp目录下。(一条命令实现,至少两种方法)

bash
第一种:find /data/ -type f -size -50M -name "*yunjisuan*" -exec mv {} /tmp/ \;

第二种:mv `find /data/ -type f -size -50M -name "*yunjisuan*"` /tmp

第三种:find /data/ -type f -size -50M -name "*yunjisuan*" | xargs -I{} mv {} /tmp

2、用编译的方式安装apache的四个步骤

源码包为:httpd-2.2.17.tar.gz(存放于当前目录下)

第一步:将源码包解压到/usr/src目录下

用命令作答:

bash
tar xvf httpd-2.2.17.tar.gz -C /usr/src

第二步:预配置apache的安装目录为/usr/local/apache(目的是设置软件的安装目录及各个

待安装的功能模块,这里我们只设置路径)

用命令作答:

bash
/usr/src/httpd-2.2.17/configure --prefix=/usr/local/apache && echo $?

第三步:源码包开始编译文件(刚开发出来的文件,是人类能看懂的,编译的作用是转换成二

进制格式,如此计算机才能看懂)

用命令作答:

bash
make -j$(nproc) && echo $?

第四步:源码包开始安装

用命令作答:

bash
make install

3、创建一个用户叫做yunjisuan,不创建它的家目录,并且不能登陆Linux

bash
useradd -Ms /sbin/nolong yunjisuan

4、创建用户user1,user2,use3,创建user3的时候指定附加组user1,创建user3后,将user2的附加组指

定成user3

bash
# 创建用户user1
useradd user1
# 创建用户user2
useradd user2
# 创建用户user3并指定附加组user1
useradd -G user1 user3
# 将user2的附加组指定user3
gpasswd -a user2 user3 usermod -aG user3 user2

5、创建一个用户tom指定用户有效期是30天

bash
useradd -e 30day tom

6、企业面试题:请问如下登陆故障的原理及解决方法

bash
bash-4.2#
bash-4.2#
bash-4.2#

①请用文字的方式清晰回答故障的发生原因(原理):

bash
用户家目录基础配置信息被删除

②请用文字或命令的方式解答此类故障如何恢复(关键的目录必须写出绝对路径):

bash
将/etc/skel中用户配置模板文件复制到用户工作目录下
cp /etc/skel/.bash* /home/test && bash

7、将当前目录下的data子目录整体打包,但是排除一个叫做yunjisuan.txt的文件。

bash
tar -zxvf data.tar.gz --exclude="./data/yunjisuan.txt" data

五、实验题(共5分)

构建一个本地yum源,将光盘挂载到/media/cdrom。写出构建过程和yum源文件

①构建过程(3分)

bash
1、创建挂载目录:mkdir -p /media/cdrom
2、挂载光盘:mount /dev/sr0 /media/cdrom
3、查看挂载情况:df -Th
4、备份旧yum源文件:mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d.*.repo /etc/yum.repos.d/bak
5、创建新的yum源文件
6、清除就缓存并生成新的:dnf clean all && dnf makecache

②yum源文件内容(2分)

bash
[media]
name=local
baseuel=file:///media/cdrom
gpgcheck=0
enabled=1

`