Linux基础命令练习题附答案解析(一)

1.在 Linux 系统的 vi 编辑器中,如果不保存对文件进行的修改,强制退出 vi 编辑器的命令是()
A. :q
B. :wq
C. :q!
D. :!q

: 表示切换到命令模式,以在最底一行输入命令;
q(quit)表示退出 vi;
w(write)表示保存文件;
! 表示强制,q! 表示强制退出不保存,w! 表示强制保存。

2.在Linux中,对file.sh文件执行#chmod 645 file.sh中,该文件的权限是()
A. -rw-r–r–
B. -rw-r–rx-
C. -rw-r–rw-
D. -rw-r–r-x

rwx权限
· r 对应4 —— 2^2
· w 对应2 —— 2^1
· x 对应1 —— 2^0
题目中数字为 645110100101 —— rw-r--r-x)
拥有权限和操作动作之间的关系

对文件来讲
· r 读取文件内容
· w 修改文件内容
· x 假如文件为可执行文件(程序或脚本),那么可以执行该文件

对目录来讲
· r 读取目录下的文件列表
· w 在该目录下创建、删除文件
· x 可以 cd 进入该目录下
一般对于目录来讲,rx权限基本都是成对出现
删除一个文件的前提是用户或者用户所在的组在该文件所在的目录有 w 权限

3.以下命令可以用于获取本机cpu使用率的是:
A. ifconfig
B. uptime
C. top
D. netstat

ifconfig 是linux中用于显示或配置网络设备(网络接口卡)的命令
uptime 显示开机时间
top 显示当前系统资源使用情况,相当于任务管理器
netstat 命令用于显示与IPTCPUDPICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

4.如何获取上一条命令执行的返回码()
A. $!
B. $0
C. $?
D. $#

$0      脚本启动名(包括路径)
$n      第n个参数,n=1,2,9
$*      所有参数列表(不包括脚本本身)
$@      所有参数列表(独立字符串)
$#      参数个数(不包括脚本本身)
$$      当前程式的PID
$!      执行上一个指令的PID
$?      执行上一个指令的返回值

$? 最后一次执行命令的返回状态:
如果这个变量的值为0,证明上一个命令正确执行;
如果这个变量的值为非0(具体是哪个数,由命令自己决定),则证明上一个命令执行不正确。

4.为脚本程序指定执行权限命令的参数为
A. chmod +x filename.sh
B. chown +x filename.sh
C. chmod +w filename.sh
D. chown +r filename.sh

chmod: 拆开是ch modify是修改之意
chown: 拆开是ch own是修改拥有者之意
r ->, w ->, x -> 执行

5.下列提法中,不属于ifconfig命令作用范围的是 。
A. 配置本地回环地址
B. 配置网卡的IP地址
C. 激活网络适配器
D. 加载网卡到内核中

· ifconfig作用:ifconfig用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。
主要为配置本地回环地址、配置网卡的IP地址、激活网络适配器
· 格式: ifconfig -interface [options] address
· 主要参数如下:
-interface:指定的网络接口名,如eth0和eth1。
up:激活指定的网络接口卡。
down:关闭指定的网络接口。
broadcast address:设置接口的广播地址。
pointopoint:启用点对点方式。
address:设置指定接口设备的IP地址。
netmask address:设置接口的子网掩码

6.关于 Linux 系统上同一个程序的多个进程实例共享一个 TCP 监听端口的说法, 哪个不正确?
A. 每个进程都使用 SO_REUSEPORT 选项,然后绑定同一个地址和端口
B. 每个进程分别绑定不同的网卡地址的同一端口
C. 第一个进程先绑定到监听地址端口, 然后 fork 子进程共享使用
D. 每个进程分别绑定一次, 但只有最后一个调用的进程才能收到数据

只有一个进程收到数据,但是是多个进程竞争连接请求

7.RHEL5系统中,下面关于shell环境变量配置文件的描述,正确的是( )
A. 用户登录系统时,bash首先执行/etc/profile配置文件和/etc/profile.d/目录下的配置文件,这些配置文件对所有用户都有效
B. 用户登录系统时,bash首先执行.bash_profile文件和.bashrc文件,这些配置文件对所有用户都有效
C. 用户主目录下的.bashrc设置为每次登录时执行,而.bash_profile则为每次打开新的终端时执行
D. 执行用户主目录下的环境变量配置文件时,不可以重复设置用户登录时配置文件中已经设置的选项

/ect/profile
此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从 /etc/profile.d 目录的配置文件中搜集shell的设置.
/etc/bashrc
为每一个 运行bash shell 的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile
每个用户都可使用该文件输入 专用于 自己使用的shell信息, 当用户登录时,该文件仅仅执行一次 !默认情况下,他设置一些环境变量,执行~/.bashrc文件.
~/.bashrc
该文件包含专用于用户的bash shell的bash信息 ,当登录时以及每次打开新的shell时,该该文件被读取 .
~/.bash_logout
当每次退出系统(退出bash shell),执行该文件.

8.Linux 修改路由的命令是()
A. route
B. tracert
C. ping
D. netstat

route 命令用于显示和操作IP路由表;
tracert 为 Windows 路由跟踪实用程序,可以用于确定 IP 数据包访问目标时所选择的路径;
ping 命令用于检测主机;
netstat 命令用于显示网络状态,利用 netstat 指令可以得知整个 Linux 系统的网络情况。

9.Linux系统中网络管理员对WWW服务器进行访问、控制存取和运行等控制,这些控制可在下面什么文件中体现?
A. httpd.conf
B. lilo.conf
C. inetd.conf
D. resolv.conf

httpd.conf: 网络服务器软件的配置文件,WWW服务器进行访问、控制存取和运行等控制 。
lilo.conf: 由引导管理程序 lilo 读取的文件 
inetd.conf: 保存了系统提供internet服务的数据库并对其进行控制,如打开/关闭某项服务。 
resolv.conf: 域名解析器使用的配置文件

10.64位Linux系统里,下面几个sizeof的运行结果是( )

int intValue = 1024;
char str[] = “Tencent”;
const char*ch = str;
sizeof(intValue) = __a__;
sizeof(str) = ___b__;
sizeof(ch)
= __c___;

A. a=1,b=1,c=1
B. a=4,b=4,c=4
C. a=4,b=8,c=4
D. a=4,b=8,c=8

int在32位和64位系统中都是32位,4字节,sizeof=4 
字符串末尾为\0,sizeof获得其长度为8 
指针大小在32位系统为4字节,64位系统为8字节

11.在 Linux 系统中,对命令“In file1 file2”描述正确的是()
A. 建立软链接 file1,并指向 file2
B. 建立硬链接 file1,并指向 file2
C. 建立软链接 file2,并指向 file1
D. 建立硬链接 file2,并指向 file1

ln 的功能是为某一个文件在另外一个位置建立一个同不的链接,最常用的参数是 -s
具体用法是:ln -s 源文件 目标文件。
参数 -s 表示创建的是软链接,默认创建硬链接。

12.在Linux系统下,你用vi编辑器对文本文件test.txt进行了修改,想保存对该文件所做的修改并正常退出vi编辑器,可以( )。
A. 在命令模式下执行ZZ命令
B. 在命令模式下执行WQ命令
C. 在末行模式下执行:q!
D. 在末行模式下执行:wq

vi三种模式详解:命令行模式、文本模式、末行模式
这里解释末行模式:在命令模式下,用户按“:” 键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令

13.find . -newer file1 ! ( -newer file2 ) 该命令的意思是()
A. 查找更改时间比文件 file1 新但比文件 file2 旧的文件
B. 查找更改时间比文件 file1 旧但比文件 file2 新的文件
C. 查找更改时间比文件 file1 旧且比文件 file2 旧的文件
D. 查找更改时间比文件 file1 新且比文件 file2 新的文件

find 命令用来在指定目录下查找文件。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。
并且将查找到的子目录和文件全部进行显示。
-newer file 表示查找修改比 file 文件更新的文件
!表示取反,所以整个的意思是:查找更改时间比文件 file1 新但比文件 file2 旧的文件。

14.Linux文件权限一共10位长度,分成四段,第三段表示的内容是_() __ 。
A. 文件类型
B. 文件所有者的权限
C. 文件所有者所在组的权限
D. 其他用户的权限

1: 类型,-代表普通的二进制文件,l 代表符号链接文件(软链接),d 代表目录文件
2-4:(根)用户权限,可读(r) 可写(w) 可执行(w)- 代表没有该项权限
5-7: 组内用户权限,可读(r) 可写(w) 可执行(w)- 代表没有该项权限
7-10: 其他用户权限,可读(r) 可写(w) 可执行(w)- 代表没有该项权限      

15.命令 01 07 * * 5 /usr/bash /usr/local/run.sh 的执行时间是()
A. 每周一 5:07 分
B. 每周一 07:05 分
C. 每周五 07:01 分
D. 每周五 01:07 分

crontab 命令用来定期执行程序。
时间配置段为 5 部分:f1 f2 f3 f4 f5,分别表示分钟(0-59),小时(0-23),日(1-31),月份(1-12),星期几(0-60是星期天,1是星期1)。
当 f1 为 * 时表示每分钟都要执行,f2 为 * 时表示每小时都要执行程序...
当 f1 为 a-b 时表示从第 a-b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行...
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次...
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行...
题中 01 07 * * 5 表示:0107时 每天 每月 每周五。

16.假如你想计划让系统自动在每个月的第一天早上4点钟执行一个维护工作,以下哪个cron是正确的?
A. 00 4 1 1-12 * /maintenance.pl
B. 4 1 * * ~/maintenance.pl
C. 0 4 31 /1 * * ~/maintenance.pl
D. 1 4 00 ~/maintenance.pl

与上一题知识点一致
每个月的第一天早上4点钟 ———— 04时 第一天 每月 星期* ———— 00 04 1 1-12 *

17.什么命令用来查看硬盘被占用了多少空间和剩余多少空间?
A. du
B. df
C. free
D. vmstat

du(disk usage) 命令功能说明:统计目录(或文件)所占磁盘空间的大小
df(disk file) 命令功能说明: 用于显示文件系统的磁盘使用情况
free 命令功能说明: 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区
vmstat 命令功能说明: 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息

18.下面有关孤儿进程和僵尸进程的描述,说法错误的是?
A. 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。
B. 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。
C. 孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
D. 孤儿进程和僵尸进程都可能使系统不能产生新的进程,都应该避免

孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。

僵尸进程的危害: 
如果进程不调用wait / waitpid的话,  那么保留的那段信息就不会释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的;
如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程,因此需要避免

孤儿进程是没有父进程的进程,孤儿进程这个重任就落到了init进程身上,因此孤儿进程并不会有什么危害。

19.创建用户时不指定用户主目录的参数( )
A. useradd -o
B. useradd -m
C. useradd -M
D. useradd -d

-o: 允许使用重复的 UID 创建用户
-m: 创建用户的主目录
-M: 不创建用户的主目录
-d: 新账户的主目录

20.可使用下列哪个工具将.o文件打包成静态库文件(.a)?
A. gcc
B. ar
C. readelf
D. objdump

readelf命令: 一般用于查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。
objdump命令: 是Linux下的反汇编目标文件或者可执行文件的命令,它以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。
ar命令: 可以用来创建、修改库,也可以从库中提出单个模块。
GCC: 是由GNU开发的编程语言译器,包括CC++、 Objective-C、 Fortran、Java、Ada和Go语言前端、libstdc++、libgcj等
  • 12
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值