首页 > 系统相关 >Linux基础笔试练习题笔记(1)

Linux基础笔试练习题笔记(1)

时间:2024-11-13 19:49:20浏览次数:3  
标签:练习题 文件 txt log 笔试 命令 Linux var 权限

Linux系统中建立一个新文件可以使用的命令为?
A.chmod
B.more
C.cp
D.touch

答案解析:

chmod 命令是控制用户对文件的权限的命令;
more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读;
cp(copy file)命令主要用于复制文件或目录;
touch 命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。


Samba 服务器的配置文件是
A.httpd.conf
B.inetd.conf
C.rc.samba
D.smb.conf

答案解析:

WEB服务器配置文件  http.conf

启动脚本配置文件   initd.conf

samba脚本          rc.samba

samba服务配置文件  smb.conf


在 RHEL5 系统中, vi 编辑器的末行模式中,若需要将文件中每一行的第一个 “Linux” 替换为 “RHEL5”,可以使用(  )
A.:s/Linux/RHEL5
B.:s/Linux/RHEL5/g
C.:%s/Linux/RHEL5
D.:%s/Linux/RHEL5/g

答案解析:

:s/old/new 将当前行中查找到的第一个字符 “old” 串替换为 “new”
:s/old/new/g 将当前行中查找到的所有字符串 “old” 替换为 “new”
:#,#s/old/new/g 在行号 “#,#” 范围内替换所有的字符串 “old” 为 “new”
:%s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new


关于linux文件系统权限中的SUID,描述正确的是()
A.当一个设置了SUID 位的可执行文件被执行时,无论谁来执行这个文件,他都暂时拥有文件所有者的权限
B.可以通过chmod u+s 命令设置SUID属性
C.passwd命令就是通过SUID机制,在任何用户修改密码时,有权限访问密码存储文件
D.其他选项均不正确

答案解析:

SUID 是 Set User ID, SGID 是 Set Group ID的意思。

SUID的作用就是:让本来没有相应权限的用户运行这个程序时,可以访问没有权限访问的资源。


以下哪个是日志文件系统()
A.ext2
B.fat32
C.ntfs
D.ext3
E.ext4

答案解析:

1.基本的linux操作系统:ext文件系统,ext2文件系统

2.日志文件系统:ext3文件系统,ext4文件系统,Reiser文件系统,JFS文件系统,XFS文件系统

3.写时复制文件系统:ZFS文件系统,Btrf文件系统


下面对www 和ftp的端口描述正确的是
A.20 21
B.80 20
C.80 21
D.80,20和21

答案解析:www 80 ,ftp  20 ,21,书上一般写ftp端口21,对应两种模式,应该是主动20,被动模式20


vi 编辑器里面如何删除最后一行()
A.先输入G,再输入 d
B.先输入G,再输入 dd
C.先输入 A,再输入 dd
D.先输入 A,再输入 d

答案解析:

H:光标移动到屏幕最上方那一行的第一个字符;
M:光标移动到屏幕最上方那一行的第一个字符;

L:光标移动到屏幕中间那一行的第一个字符;

G:光标移动到该文件最下方那一行的第一个字符;

dd:删除(或剪切)光标所在行(前面加数字表示删除连续的行)

yy:复制光标所在行(前面加数字表示复制连续的行)

dG:删除(或剪切)光标所在行到最后一行的数据


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

答案解析:转为二进制比较好记或者直接记数字,从左到右是:4,2,1对应rwx.


POSIX线程中如果数据被其他线程修改,则应把数据声明为:(      )
A.const
B.private
C.public
D.volatile

答案解析:volatile告诉编译器,变量的值可能在执行过程中被其他进程修改,告诉编译器不要优化该变量的值,不要从缓存中读取该变量的值,而每次都要从内存中直接读取该变量的值


以下哪几种属于Linux操作系统的发行版?
A.CentOS
B.Ubuntu
C.macOS
D.Redhat

答案解析:inux发行版本: RedHat,ubuntu,CentOS, Debian,slackware等


Linux 下给文件 start.sh 设置权限为自己可读可修改可执行,组内用户为可读可执行不可修改,其余用户没有任何权限,那么设置该文件权限的命令为()
A.chmod start.sh 706
B.chmod start.sh 750
C.chmod start.sh 705
D.chmod start.sh 777

答案解析:ugo(用户,组,其他人),r 表示可读,w 表示可写,x 表示可执行,- 表示没有权限。



在 RHEL5 系统中,小王希望将他执行 ls 命令的输出结果保存在当前目录下文件 output.ls 中,以供日后进行分析和使用,但要求不覆盖原文件的内容,他应该使用的命令是()
A.ls>output.ls
B.ls>>output.ls
C.ls<<output.ls
D.ls—output.ls

答案解析:

> 表示输出重定向,例如:

echo "123" > test.txt

表示将 123 输入到文件 test.txt 中

>> 输出重定向追加,例如:

echo "123" >> test.txt

表示将 123 追加到文件 test.txt 中


你被需要检查系统中的设备情况,需要检查哪个log日志?
A./var/log/tmp
B./var/log/lastlog
C./var/log/messages
D./var/log/utmp

答案解析:详细的介绍,大家可以记一下,会看日志很重要很方便。

  1. /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
  2. /var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
  3. /var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。
  4. /var/log/boot.log — 包含系统启动时的日志。
  5. /var/log/daemon.log — 包含各种系统后台守护进程日志信息。
  6. /var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。
  7. /var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。
  8. /var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
  9. /var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
  10. /var/log/user.log — 记录所有等级用户信息的日志。
  11. /var/log/Xorg.x.log — 来自X的日志信息。
  12. /var/log/alternatives.log – 更新替代信息都记录在这个文件中。
  13. /var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
  14. /var/log/cups — 涉及所有打印信息的日志。
  15. /var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。
  16. /var/log/yum.log — 包含使用yum安装的软件包信息。
  17. /var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
  18. /var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
  19. /var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
  20. /var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

除了上述Log文件以外, /var/log还基于系统的具体应用包含以下一些子目录:

  • /var/log/httpd/或/var/log/apache2 — 包含服务器access_log和error_log信息。
  • /var/log/lighttpd/ — 包含light HTTPD的access_log和error_log。
  • /var/log/mail/ –  这个子目录包含邮件服务器的额外日志。
  • /var/log/prelink/ — 包含.so文件被prelink修改的信息。
  • /var/log/audit/ — 包含被 Linux audit daemon储存的信息。
  • /var/log/samba/ – 包含由samba存储的信息。
  • /var/log/sa/ — 包含每日由sysstat软件包收集的sar文件。
  • /var/log/sssd/ – 用于守护进程安全服务

下面哪些是死锁的必要条件?
A.互斥
B.请求保持
C.不可剥夺
D.环路

答案解析:

产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。


在linux网络编程中,以下关于socket描述符正确的是:
A.socket存在两种模式:阻塞和非阻塞
B.系统调用read从socket中读取数据时,当read返回-1的时候,表示socket中数据读取完毕
C.如果socket设置成非阻塞模式,当socket的输入缓冲区没有可读数据时,read操作会返回错误
D.在阻塞socket上调用write函数发送数据,函数返回时,表示数据已经发送出去

答案解析:

A. 正确。socket 确实存在两种模式:阻塞模式和非阻塞模式。在阻塞模式下,如果 socket 上没有数据可读,read 调用会阻塞,直到有数据可读。在非阻塞模式下,如果 socket 上没有数据可读,read 调用会立即返回,通常返回 -1 并设置 errnoEAGAINEWOULDBLOCK

B. 错误。当 read 从 socket 返回 -1 时,并不一定表示 socket 中数据读取完毕。这可能是由于发生了错误,比如 errno 被设置为 EAGAINEWOULDBLOCK 表示非阻塞模式下没有数据可读,或者 errno 被设置为 ECONNRESET 表示连接被对方重置等。

C. 正确。如果 socket 设置成非阻塞模式,当 socket 的输入缓冲区没有可读数据时,read 操作会返回 -1 并设置 errnoEAGAINEWOULDBLOCK,表示没有数据可读。

D. 错误。在阻塞 socket 上调用 write 函数发送数据,函数返回时,通常表示数据已经被发送到 TCP 协议栈的发送缓冲区中,但并不意味着数据已经成功发送到网络上或对方已经接收到数据。TCP 是一个面向连接的、可靠的传输层协议,它确保数据的有序、可靠传输,但这需要时间,并且 write 调用返回时,数据可能还在 TCP 的重传队列中。


有一台系统为 Linux 的计算机,在其当前目录下有一个名为 test 的文本文件,管理员小张要用 vi 编辑器打开该文档以查看其中的内容,应使用的命令是()
A.opentest
B.vi read test
C.vi test
D.open vi

答案解析:vi 打开一个文件的命令为:vi filename


你通过编辑/etc/group文件来改变了sales group的GID,所有的组员都能成功的进行的转换,除了Jack,他甚至都无法登陆,其原因是什么?
A.Jack忘记了 group密码
B.Jack需要再次被加入到group
C.在/etc/passwd里指明了Jack的GID
D.Jack的账号需要被删除然后新建

答案解析:Jack 的主目录中的 GID 没有更新以匹配 /etc/group 文件中 sales 组的新 GID。为了解决这个问题,需要更新 /etc/passwd 文件中 Jack 的 GID,使其与 /etc/group 文件中 sales 组的新 GID 相匹配。


vivek希望将他的login ID从vivek改为viv,应该执行下列哪个命令?
A.usermod -l viv vivek
B.usermod -l vivek viv
C.usermod -m viv vivek
D.usermod -m vivek viv

答案解析:usermod -l 修改账号名称,使用格式:usermod -l  new_name  old_name

常用用户修改命令:

1. 修改用户名:usermod -l 新用户名 旧用户名
2. 修改用户ID:usermod -u 新用户ID 用户名
3. 修改用户组:usermod -g 新用户组 用户名
4. 添加用户到附加组:usermod -aG 附加组 用户名
5. 修改用户登录Shell:usermod -s 新Shell 用户名
6. 修改用户家目录:usermod -d 新家目录 用户名
7. 强制用户下次登录时修改密码:usermod -p "*" 用户名
8. 禁用用户账户:usermod -L 用户名
9. 启用用户账户:usermod -U 用户名
10. 修改用户过期时间:usermod -e YYYY-MM-DD 用户名


Linux系统上,下面哪些文件是与用户管理相关的配置文件()
A./etc/passwd
B./etc/shadow
C./etc/group
D./etc/password

答案解析:

/etc/passwd是记录用户信息的文件

/etc/shadows是记录用户组信息的文件

/etc/group是记录用户密码的文件,密码是经过md5加密的字符串

/etc/gshadow是记录用户组相关信息的加密文件


权限为 765 的文件,下列哪个是正确的权限位标记()
A.-rw-rw-r-x
B.-rw-r-xr-r
C.-rwxrw-r-x
D.-rwxr-xrwx

答案解析:

用二进制表示 rwx,r 代表可读,w 代表可写,x 代表可执行。
如果可读,权限二进制为 100,十进制是4;
如果可写,权限二进制为 010,十进制是2;

如果可执行,权限二进制为 001,十进制是1;


在某行 crontab 配置中,执行时间配置段为:*/30 * 3 * * ,表示什么意思()
A.每天的凌晨3点,每30分钟执行命令
B.每3个小时的第30分钟,执行命令
C.每周三,每30分钟执行命令
D.每月3号当天,每30分钟执行命令

答案解析:


如果想列出当前目录以及子目录下所有扩展名为“.txt”的文件,那么可以使用的命令是()
A.ls -d .txt
B.find ".txt"
C.find -name "*.txt"
D.ls *.txt

 答案解析:

s(list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

A.-d 参数表示只显示当前文件夹的信息,不显示它的内容;

B.表查找 ".txt" 目录,将查找到的子目录和文件全部进行显示;

C.-name表示查找文件名称符合 "*.txt" 的文件,其中 * 表示通配符,表示匹配任意个字符;

D.只能列出当前目录下扩展名为“.txt”的文件,子目录中的不能获取。


在bash中,在一条命令后加入“1>&2”的意义是
A.标准错误输出重定向到标准输入
B.标准输入重定向到标准错误输出
C.标准输出重定向到标准错误输出
D.标准输出重定向到标准输入

答案解析:

首先,bash中0,1,2三个数字分别代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO,即标准输入(一般是键盘),标准输出(一般是显示屏,准确的说是用户终端控制台),标准错误(出错信息输出)。

输入输出可以重定向,所谓重定向输入就是在命令中指定具体的输入来源,譬如 cat < test.c 将test.c重定向为cat命令的输入源。输出重定向是指定具体的输出目标以替换默认的标准输出,譬如ls > 1.txt将ls的结果从标准输出重定向为1.txt文本。有时候会看到如 ls >> 1.txt这类的写法,> 和 >> 的区别在于:> 用于新建而>>用于追加。即ls > 1.txt会新建一个1.txt文件并且将ls的内容输出到新建的1.txt中,而ls >> 1.txt则用在1.txt已经存在,而我们只是想将ls的内容追加到1.txt文本中的时候。

&就是为了让bash将2解释成标准错误而不是文件2


如果参数列表个数为 1 则执行$<1,如果参数列表个数为 2 则执行 $<2<$,其他情况则 ……,补充下面的命令
Case (  ) in
1>
   $<1
2>
   $<2<$1
Default > 
   echo ……
A.$$
B.$#
C.$@
D.$*

答案解析:

$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误


Linux 中哪个命令可以将普通用户转换成超级用户()
A.super
B.passwd
C.tar
D.su

答案解析:

Linux 中默认没有 super 命令;
passwd 命令用来更改使用者的密码;
tar(tape archive )命令用于备份文件,是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件;
su(switch user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。


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

答案解析:

Linux chmod(英文全拼:change mode)命令,是控制用户对文件的权限的命令

Linux chown(英文全拼:change owner)命令,是用于设置文件所有者和文件关联组的命令。

r读w写x执行

  1. SUID(Set User ID upon execution)

    • 用于可执行文件,允许执行该文件的用户暂时获得文件所有者(通常是 root)的权限。
    • 在文件权限中,SUID 用小写字母 s 表示,并且与所有者(user)的执行权限(x)位结合使用。例如,如果一个文件的权限是 -rwsr-xr-x,那么 s 就表示 SUID 权限。
  2. SGID(Set Group ID upon execution)

    • 用于可执行文件或目录,允许执行该文件的用户暂时获得文件所属组的权限。
    • 在文件权限中,SGID 用大写字母 s 表示,并且与所属组(group)的执行权限(x)位结合使用。例如,如果一个文件的权限是 -rwxr-sr-x,那么 s 就表示 SGID 权限。
  3. Sticky bit(sticky bit)

    • 用于目录,防止用户删除或重命名其他人在该目录下的文件。
    • 在文件权限中,sticky bit 用小写字母 t 表示,并且与其他人(others)的执行权限(x)位结合使用。例如,如果一个目录的权限是 drwxrwxrwt,那么 t 就表示 sticky bit 权限。

下列哪个git命令不是合并代码用的:
A.git pull --rebase
B.git merge
C.git cherry-pick
D.git blame

答案解析:

git命令合并代码:(1)git merge;(2)git pull;(3)git cherry-pick

git blame:执行该命令时,会逐行显示文件,并在每一行的行首显示commit号,提交者,最早的提交日期等


在OSI模型中,HTTP协议工作在第()层,交换机工作在第()层。
A.7/1
B.7/2
C.6/3
D.6/2

答案解析:


在RHEL5系统中使用vi编辑文件report.txt时,要自下而上查找字符串“2006”,应该在命令模式下使用(   )
A./2006
B.?2006
C.#2006
D.%2006

 答案解析:

从上往下查找,就像坐滑滑梯-------/

从下往上查找,就需要倒挂金钩了-------

其他:

n     继续搜索下一个匹配的单词

N    继续搜索上一个匹配的单词

*    在Normal下,正向搜索当前光标下的单词

#    在Normal下,反向搜索当前光标下的单词

g*    在Normal下,正向搜索包含当前单词的所有单词

g#    在Normal下,反向搜索包含当前单词的所有单词

标签:练习题,文件,txt,log,笔试,命令,Linux,var,权限
From: https://blog.csdn.net/weixin_62526393/article/details/143738812

相关文章

  • [ Linux 命令基础 ] Linux 命令大全-命令前置知识-系统管理-文件和目录管理-文本处理
    ......
  • vscode远程连接linux调试GUI程序
    参考:https://zhuanlan.zhihu.com/p/385276301其中遇到的坑:(是否必须这样值得研究,这是多次尝试成功的结果)安装VcXsrv启动时设置DISPLAY为10后面把禁止访问控制勾上VSCODE的SSH连接配置里设置:Host192.168.1.233HostName192.168.1.233UserhaosouForwardX11yes......
  • 管道符 (|) 是 Unix/Linux 系统中用于将一个命令的输出传递给另一个命令作为输入的符
    一、管道符管道符(|)是Unix/Linux 系统中用于将一个命令的输出传递给另一个命令作为输入的符号。它是命令行和shell脚本中非常常用的工具,允许你将多个命令链接在一起,形成数据处理管道。1、管道符的用法最基本的用法是将一个命令的输出传递给另一个命令。例如,以下命令将l......
  • linux 命令值xargs与tr
    管道符 | 允许将一个命令的输出作为另一个命令的输入。然而,管道符在处理某些类型的输入时存在局限性,特别是当需要将一系列输入项作为单个命令的多个参数时()。xargs 的出现正是为了解决这个问题。xargs 能够从标准输入(stdin)读取数据,并将这些数据转换为特定命令的参数列表。这......
  • Web服务器(Linux)
    www简介Web网络服务也叫WWW(WorldWideWeb全球信息广播)万维网服务,一般是指能够让用户通过浏览器访问到互联网中文档等资源的服务Web网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过HTTP(超......
  • Linux文件系统属性解读
    原文分享:https://bbs.deepin.org/post/281192一、ls-ihl 每一列的含义二、inode和block理解inode要从文件存储说起。文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector),每个扇区存储512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个扇区一个扇区地读取,这样效率太......
  • Linux CPU 拓扑结构之调度域 调度组 - 以8核ARM big.Little架构处理器为例
    CPU拓扑结构简介SMTLevel超线程处理器的一个核心MCLevel多核CPU的一个核心DIELevel一个物理CPU的晶片(注意不是package,package是封装好了的,肉眼看到的CPU处理器)(覆盖系统所有的CPU(CPU0~CPUN))cpu最小级别的就是超线程处理器的一个smt核,次小的一级就是一个多核cpu......
  • 2024 同一个网段,反弹shell四种方法【linux版本】bash、python、nc、villian反弹shell
    实验环境准备(同一个网段下,我是桥接的虚拟机)一、bash反弹shell二、python反弹shell三、nc反弹shell四、villain反弹shell实验环境准备(同一个网段下,我是桥接的虚拟机)      一台kali的linux(攻击者)        一台centos7/debian[另一个linux](受害者)一、b......
  • Foxit PDF Conversion SDK (C++, Linux ARM)-2.0.2
    FoxitPDFConversionSDKisaflexiblehigh-performancelibraryforconversionbetweenPDFfiles andMSOfficefileswhilemaintainingthelayoutandformatofyouroriginaldocuments.Itoffers advancedconversioncapabilitiesaswellasthesamequa......
  • 在 Windows 系统中,可以使用内置的命令行工具来分割和合并大文件,虽然没有专门的 split
    在Windows系统中,可以使用内置的命令行工具来分割和合并大文件,虽然没有专门的split命令(类似于Linux中的split命令),但可以通过一些其他方式实现这一功能。以下是一些常用方法:1.使用 fsutil 命令分割大文件fsutil是Windows提供的一个工具,可以用于管理文件系统,但并不直......