logo资料库

Linux笔试面试题及答案解析(一).pdf

第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
资料共49页,剩余部分请下载后查看
1 错题
1.1 基础
1.2 Shell
2 概念
2.1 基础
2.1.1 引号规则
2.1.2 通配符
2.1.3 grep
2.1.4 sed
2.1.5 awk
2.1.6 shell中的特殊字符(以bash为例)
2.2 bash
2.2.1 eval
2.2.2 wc
2.2.3 ps
2.2.4 ls
2.3 文本读写
2.3.1 more
2.3.2 vi
2.3.3 less
2.3.4 tail
2.4 Shell
2.4.1 程序状态码
2.4.2 调用其它命令
2.4.3 多线程
2.4.4 Bash 变量
2.4.5 位置参数
2.4.6 命令行参数
2.4.7 函数
2.5 输入输出
2.5.1 重定向
2.5.2 管道
2.5.3 read
2.5.4 输出
2.6 数值运算
2.6.1 整数
2.6.2 浮点数
2.6.3 unset
2.7 $的作用有哪些?
2.8 括号
2.8.1 单括号():
2.8.2 双括号(()):
2.8.3 大括号{}:
2.8.3.1 特殊替换
2.8.3.2 模式匹配替换
2.8.3.3 字符串提取和替换
2.8.4 符号$后的括号
2.9 流程控制
2.9.1 条件测试
2.9.2 if
2.9.3 case
2.9.4 循环
2.10 常用
2.11 文件操作
2.11.1 ln,文件链接
2.12 Linux系统
2.12.1 超级块
2.13 网络
2.13.1 netstat 网络状态查询
2.13.2 nslookup
1 错题 1.1 基础 1) cron 后台常驻程序 (daemon) 用于: D A. 负责文件在网络中的共享 B. 管理打印子系统 C. 跟踪管理系统信息和错误 D. 管理系统日常任务的调度 计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。 在 Linux 中,我们经常用到 cron 服务器来完成这项工作。cron 服务器可以根据 配置文件约定的时间来执行特定的作务。 cron 是一个 linux 下的定时执行工具,可以在无需人工干预的情况下运行作 业。由于 Cron 是 Linux 的内置服务,但它不自动起来,可以用以下的方法启动、 关闭这个服务: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 2) 在大多数 Linux 发行版本中,以下哪个属于块设备 (block devices) ? B A. 串行口 B. 硬盘 C. 虚拟终端 D. 打印机 Linux 中 I/O 设备分为两类:字符设备和块设备。两种设备本身没有严格限 制,但是,基于不同的功能进行了分类。 (1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随 机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、 调制解调器都是典型的字符设备。 (2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的 位置。硬盘、软盘、CD-ROM 驱动器和闪存都是典型的块设备,应用程序可以 寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是
512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。 总结一下,这两种类型的设备的根本区别在于它们是否可以被随机访问。字 符设备只能顺序读取,块设备可以随机读取。 3) 怎样了解您在当前目录下还有多大空间? C A. Use df B. Use du / C. Use du . D. Use df . du 命令用于显示目录或文件的大小。du 会显示指定的目录或文件所占用的 磁盘空间。 df 命令用于显示目前在 Linux 系统上的文件系统的磁盘使用情况统计。 无法查看当前目录有多大空间,只可以查看当前分区有多大空间,不过要是 问目录的空间的话,其最大的剩余空间,也就是占用了其所在分区的空间而已。 查看目录所在分区的空间:df -h 查看当前目录目录已经占用了多大空间,进去此目录后:du -sh “.”表示当前目录。 4) 哪个命令用来显示系统中各个分区中 inode 的使用情况?A A. df -i B. df -H C. free -b D. du -a -c / Linux 文件系统中每个文件用 i 节点(inode)来标识. linux 中,文件查找不是通过文件名称来查找的。实际上是通过 i 节点来实现 文件的查找定位的。我们可以形象的将 i 节点看做是一个指针 fip。当文件存储 到磁盘上去的时候,文件肯定会存放到一个磁盘位置上,可以这样想象,既然文 件数据是存放在磁盘上的,如果我们知道这个文件数据的地址,当我们想要读写 文件的时候,我们是不是直接使用这个地址去找到文件就可以了呢? 是的,linux 下,i 节点其实就是可以这么认为,把 i 节点看作是一个指向磁 盘上该文件存储区的地址。只不过这个地址我们一般是没办法直接使用的,而是 通过文件名来间接使用的。事实上,i 节点不仅包含了文件数据存储区的地址, 还包含了很多信息,比如数据大小,等等文件信息。但是 i 节点是不保存文件名 的。文件名是保存在一个目录项中。每一个目录项中都包含了文件名和 i 节点。
df 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...) 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024 文件-i, --inodes 列出 inode 资讯,不列出已使用 block du -a 或-all 显示目录中个别文件的大小。 -c 或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件 的总和。 free free 命令用于显示内存状态。free 指令会显示内存的使用情况,包括实体内 存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 -b 以 Byte 为单位显示内存使用情况。 5) 假如您需要找出 /etc/my.conf 文件属于哪个包 (package) ,您可以执行: C A. rpm -q /etc/my.conf B. rpm -requires /etc/my.conf C. rpm -qf /etc/my.conf D. rpm -q | grep /etc/my.conf rpm(redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。 逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装, 升级,间接提升了 Linux 的适用度。 -f<文件>+ 查询拥有指定文件的套件。 -h 或--hash 套件安装时列出标记。 -i 显示套件的相关信息。 -i<套件档>或--install<套件档> 安装指定的套件档。 -q 使用询问模式,当遇到任何问题时,rpm 指令会先询问用户。 -v 显示指令执行过程。 --requires 查询该套件所需要的兼容度。 安装软件 # rpm -hvi dejagnu-1.4.2-10.noarch.rpm
显示软件安装信息 # rpm -qi dejagnu-1.4.2-10.noarch.rpm 6) 什么命令用来只更新已经安装过的 rpm 软件包?B A. rpm -U *.rpm B. rpm -F *.rpm C. rpm -e *.rpm D. rpm -q *.rpm -U<套件档>或--upgrade<套件档> 升级指定的套件档。表示升级或安装 -e<套件档>或--erase<套件档> 删除指定的套件。 -F:仅是升级 7) 如何查看一个 RPM 软件的配置文件的存放位置?A A. rpm -qc rpm1 B. rpm -Vc rpm1 C. rpm --config rpm1 D. rpm -qa --config rpm1 -c 只列出组态配置文件,本参数需配合"-l"参数使用。 -a 查询所有套件。 没有-V 和--config 8) 如何查看一个 RPM 软件的修改记录?D A. rpm -Vc postfix B. rpm -qpil postfix C. rpm --changelog postfix D. rpm -q --changelog postfix -p<套件档>+ 查询指定的 RPM 套件档。 -l 显示套件的文件列表。 --changelog 显示套件的更改记录。 9) 假如当前系统是在 level 3 运行,怎样不重启系统就可转换到 level 5 运行? B A. Set level = 5 B. init 5 C. run 5
D. ALT-F7-5 Linux 系统具有下面 7 种默认运行级别(※不同发行版不太一样): 运行级别 描述 0 关机,机器关闭 1 单用户模式 2 多用户,无网络连接 3 多用户,启动网络连接 4 用户自定义 5 多用户,具备图形界面 6 重启 10) 那个命令用于改变 IDE 硬盘的设置? C A. hdparam B. ideconfig C. hdparm D. hddparm IDE 即 Integrated Drive Electronics,它的本意是指把控制器与盘体集成在一 起的硬盘驱动器,IDE 是表示硬盘的传输接口。我们常说的 IDE 接口,也叫 ATA (Advanced Technology Attachment)接口,现在 PC 机使用的硬盘大多数都是 IDE 兼容的,只需用一根电缆将它们与主板或接口卡连起来就可以了。 hdparm 命令用于显示与设定硬盘的参数。 hdparm 可检测,显示与设定 IDE 或 SCSI 硬盘的参数。 显示硬盘的相关设置:# hdparm /dev/sda 显示硬盘的柱面、磁头、扇区数:# hdparm -g /dev/sda 评估硬盘的读取效率: hdparm -t /dev/sda 11) 下面哪个命令可以列出定义在以后特定时间运行一次的所有任务?A A. atq B. cron C. batch D. at 1.at 命令在指定时刻执行指定的命令序列 at [-V] [-q 队列] [-f 文档名] [-mldbv] 时间 2.atq 列出用户排在队列中的作业
atq [-V] [-q 队列] [-v] 3.atrm 删除队列中的作业(-d atrm 命令的一个别名。该命令用于删除指定 要执行的命令序列) atrm [-V] 作业 [作业...] 12) 使用什么命令可以在今天午夜运行命令 cmd1 ?D A. at midnight cmd1 B. cron -at "00:00" cmd1 C. batch -t "00:00" < cmd1 D. echo "cmd1" | at midnight 在未来的某个时间点执行一次某个任务,通过两个命令来实现 at 和 batch 在命令提示符下输入 at 时间,下面键入需要在那一刻执行的任务,并且可 以支持多条任务,输入完第一条以后按回车输入第二条任务即可,ctrl+d 即可提 交计划任务 时间指定方式: 绝对时间:HH:MM , DD.MM.YY , MM/DD/YY 相对时间:now+#单位即可 单位:minutes,hours,days,weeks 模糊时间:noon,midnight,teatime At 任务的执行结果将以邮件的形式发给安排任务的用户。 batch :跟 at 一样也是定期执行的命令,使用方法也跟 at 相同,但是不同的 是 batch 不需要指定时间,因为它会自动在系统负载比较低的时候执行(平均负 载小于 0.8 的时候) 13) 下面命令的作用是:set PS1="[\u\w\t]\\$" ; export PS1?B A. 改变错误信息提示 B. 改变命令提示符 C. 改变一些终端参数 D. 改变辅助命令提示符 PS1——默认提示符 PS2——再谈提示符(提示分行) PS3——Shell 脚本中使用 select 时的提示符 PS4——PS4-“set -x"用来修改跟踪输出的前缀(更明确的提示信息,可引 用一些标识性的变量内容)
export 命令用于设置或显示环境变量。在 shell 中执行程序时,shell 会提供 一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。 export 的效力仅及于该次登陆操作。 [taoge@localhost ~]$ echo $PS1 [\u@\h \W]\$ [taoge@localhost ~]$ export PS1='\d > ' Sat Nov 28 > export PS1='\H > ' localhost.localdomain > export PS1='\h > ' localhost > export PS1='\t > ' 08:52:10 > export PS1='\T > ' 08:52:22 > export PS1='\A > ' 08:52 > export PS1='\@ > ' 08:53 AM > export PS1='\u > ' taoge > export PS1='\v > ' 4.1 > export PS1='\w > ' ~ > export PS1='\W > ' ~ > export PS1='\$ > ' $ > export PS1='I love you\$ ' I love you$ 14) 在 bash 中,export 命令的作用是:C A. 在子 shell 中运行命令 B. 使在子 shell 中可以使用命令历史记录 C. 为其它应用程序设置环境变量 D. 提供 NFS 分区给网络中的其它系统使用 15) 作为一个管理员,你希望在每一个新用户的目录下放一个文件 .bashrc , 那么你应该在哪个目录下放这个文件,以便于新用户创建主目录时自动 将这个文件复制到自己的目录下。A A. /etc/skel/ B. /etc/default/ C. /etc/defaults/ D. /etc/profile.d/ /etc/skel 建立使用起来非常简单。它使所有在 LFS 系统上面的 新用户拥有 一样的初始设置。 /etc/skel 目录是被 /usr/sbin/useradd 使用的。
1.如果在新建用户时,没有自动建立用户根目录,则无法调用到此框架目录。 2.如果不想以默认的/etc/skel 目录作为框架目录,可以在运行 useradd 命令时 指定新的框架目录。例如:sudo useradd -d /home/chen -m -k /etc/my_skel chen 上述命令将新建用户 chen,设置用户根目录为/home/chen,并且此目录会自 动建立;同时指定框架目录为/etc/my_skel。 3.如果不想在每次新建用户时,都重新指定新的框架目录,可以通过修改 /etc/default/useradd 配置文件来改变默认的框架目录,方法如下: 查找 SKEL 变量的定义,如果此变量的定义已被注释掉,可以取消注释,然 后修改其值:SKEL=/etc/my_skel 1. 两个文件都是设置环境变量文件的,/etc/profile 是永久性的环境变量,是 全局变量,/etc/profile.d/设置所有用户生效 2. /etc/profile.d/比/etc/profile 好维护,不想要什么变量直接删除/etc/profile.d/ 下对应的 shell 脚本即可,不用像/etc/profile 需要改动此文件 16) 关于可装载的模块,装载时的参数,如 I/O 地址等的存放位置是:A A. /etc/conf.modules B. /etc/lilo.conf C. /boot/System.map D. /etc/sysconfig lilo(linux loader)是个 Linux 系统核心载入程序,同时具备管理开机的功能。 单独执行 lilo 指令,它会读取/etc/目录下的 lilo.conf 配置文件,然后根据其内容 安装 lilo。 /etc/sysconfig 目录下的文件几乎都是跟系统配置相关的文件 17) 下面哪个文件定义了网络服务的端口?B A. /etc/netport B. /etc/services C. /etc/server D. /etc/netconf /etc/services 文件是记录网络服务名和它们对应使用的端口号及协议。 其他文件没有 18) 下面哪个文件包含了供 NFS daemon 使用的目录列表?C A. /etc/nfs
分享到:
收藏