Linux 第一阶段试题详解(一)

#试题包含:Linux 基础知识,Linux 基础命令,(文件、用户、权限、进程、磁盘、软件包、计划任务与日志管理)管理,文件查找、打包和压缩,mysql数据库和DNS解析,web服务器和文件服务器

一、单选题

1.1Linux 基础命令

1. 下面哪个Linux命令可以一次显示一页内容? 

A. pause 

B. cat 

C. more 

D. grep

#解析:

A. pause  暂停函数,非命令,配合ctrl+c或ctrl+z使用

B. cat 连接多个文件并打印文件内容到标准输出

C. more 显示文件内容,每次显示一屏(即一页),该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)

[root@nginx etc]# more passwd
--More--(50%)
  • 按 Space 键:显示文本的下一屏内容
  • 按 Enter 键:只显示文本的下一行内容
  • 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式
  • 按H键:显示帮助屏,该屏上有相关的帮助信息
  • 按B键:显示上一屏内容
  • 按Q键:退出more命令

D. grep grep命令 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能配合多种命令使用,使用上十分灵活

2. 怎样更改一个文件的权限设置? 

A. attrib 

B. chmod 

C. change 

D. file 

#解析:

A. attrib命令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.

  • 只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
  • 存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
  • 隐藏属性顾名思义即为隐藏文件.在通常情况下.在资源管理器中不显示带有隐藏属性的文件.
  • 系统属性是指标注文件为系统文件.是系统需要调用的文件

语法:

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]

  • + 设置属性
  • - 清除属性
  • R 只读文件属性
  • A 存档文件属性
  • S 系统文件属性
  • H 隐藏文件属性

B. chmod 用来变更文件或目录的权限

C. change 此命令是更改用户密码过期信息,它的命令格式为:chage [选项] 登录用户

D. file 

file命令 用于辨识文件类型

[root@nginx etc]# file passwd
passwd: ASCII text
[root@nginx etc]# ll passwd
-rw-r--r--. 1 root root 2357 Sep 13 05:46 passwd

3.下面哪个参数可以删除一个用户并同时删除用户的主目录?

A. rmuser -r

B. deluser -r

C. userdel -r

D. usermgr -r

#解析

A. rmuser -r 不存在这条命令

 B. deluser -r 

deluser命令 用于删除用户。将一个用户从一个组中删除(即退出用户组)

 C. userdel -r 用于删除给定的用户以及与用户相关的文件

  -r, --remove                  remove home directory and mail spool

 D. usermgr -r 没有这条命令

4.下面哪条命令可以把f1.txt复制为f2.txt?

A. cp f1.txt | f2.txt

B. cat f1.txt | f2.txt

C. cat f1.txt > f2.txt

D. copy f1.txt | f2.txt

#解析 

 A. cp f1.txt | f2.txt 

cp命令 用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

语法:cp [源文件] [目标文件]

此处语法错误,“|”为管道符,效果为将前面命令的打印结果作为后面命令的输入

 B. cat f1.txt | f2.txt

cat命令 为查看文件内容命令,此选项语法错误

 C. cat f1.txt > f2.txt 

“>”为输出重定向符,正确

[root@nginx srv]# ls
test1  test3
[root@nginx srv]# cat test1
111 
[root@nginx srv]# cat test1 > test2
[root@nginx srv]# cat test2
111 

D. copy f1.txt | f2.txt 没有这个命令

5.显示一个文件最后几行的命令是:

A. tac

B. tail

C. rear

D. last

#解析 

A. tac 此命令本质上是cat命令,但其目的是反向连接文件。

[root@nginx srv]# cat test3
111
222
333
111
333
111
222
111
[root@nginx srv]# tac test3
111
222
111
333
111
333
222
111

B. tail 在屏幕上显示指定文件的末尾若干行

 C. rear 开源裸机灾难恢复和系统迁移工具

D. last 用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来

6.如何快速切换到用户John的主目录下?

A. cd @John

B. cd #John

C. cd &John

D. cd ~John

#解析 

A. cd @John 没有这条命令

B. cd #John

cd命令 为切换目录命令,cd  #+任何用户,都会进入当前用户家目录,#注释

[root@nginx ~]# cd /
[root@nginx /]# id kkk
id: kkk: no such user
[root@nginx /]# cd #kkk
[root@nginx ~]# 

C. cd &John 

a.&后为普通用户,且名称不为进程名

[root@nginx srv]# cd &god
[1] 7785
bash: god: command not found...
[1]+  Done                    cd

b.&后为普通用户,且名称为进程名

[root@nginx srv]# cd &nginx
[1] 7661
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[1]+  Done                    cd

 D. cd ~John 

root用户,cd ~ 相当于 cd /root
普通用户,cd ~ 相当于cd /home/当前用户名

[root@nginx srv]# cd /
[root@nginx /]# id god
uid=1001(god) gid=1001(god) groups=1001(god)
[root@nginx /]# cd ~god
[root@nginx god]# 

7.如何在文件中查找显示所有以"*"打头的行?

A. find \* file

B. wc -l * < file

C. grep -n * file

D. grep ‘^\*’ file

#解析 

A. find \* file 

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

语法:find [目标路径] [参数]

Linux 中路径没有“\”正斜杠这种路径

B. wc -l * < file 

wc命令统计指定文件中的字节数、字数、行数,并将统计结果显示输出 

 -c, --bytes            print the byte counts
  -m, --chars            print the character counts
  -l, --lines            print the newline counts
      --files0-from=F    read input from the files specified by
                           NUL-terminated names in file F;
                           If F is - then read names from standard input
  -L, --max-line-length  print the length of the longest line
  -w, --words            print the word counts
      --help     display this help and exit
      --version  output version information and exit

“<”为输入重定向

语法:cmommand < file

这样,本来需要从键盘获取输入的命令会转移到文件读取内容

[root@nginx srv]# ls
test1  test2  test3
[root@nginx srv]# wc -l * < test3
 1 test1
 1 test2
 9 test3
11 total

C. grep -n * file  

* 匹配任意项

 -n, --line-number         print line number with output lines
      --line-buffered       flush output on every line
   *      The preceding item will be matched zero or more times.

 D. grep ‘^\*’ file 

man grep (“^”)解释

Anchoring
       The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the
       beginning and end of a line.

   The Backslash Character and Special Expressions
       The  symbols  \<  and \> respectively match the empty string at the beginning and end of a word.  The
       symbol \b matches the empty string at the edge of a word, and \B matches the  empty  string  provided
       it's  not at the edge of a word.  The symbol \w is a synonym for [_[:alnum:]] and \W is a synonym for
       [^_[:alnum:]].

“\”反斜杠,转义字符,用于去除一个单个字符的特殊意义,它保留了跟随在之后的字符的字面值,除了换行符

[root@nginx srv]# ls
test1  test2  test3
[root@nginx srv]# grep '^\*' test3
*

8.在ps命令中什么参数是用来显示所有用户的进程的?

A. a

B. b

C. u

D. x

#解析 

ps命令 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的

-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
-A:显示所有程序。

没有-b这个参数

u:显示进程的用户及内存等信息
x:显示没有控制终端的进程

9.如何删除一个非空子目录/tmp?

A. del /tmp/*

B. rm -rf /tmp

C. rm -Ra /tmp/*

D. rm -rf /tmp/*

#解析 

A. del /tmp/*  没有del这个命令

B. rm -rf /tmp 

rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变

  -f, --force           ignore nonexistent files and arguments, never prompt
  -i                    prompt before every removal
  -I                    prompt once before removing more than three files, or
                          when removing recursively; less intrusive than -i,
                          while still giving protection against most mistakes
      --interactive[=WHEN]  prompt according to WHEN: never, once (-I), or
                          always (-i); without WHEN, prompt always
      --one-file-system         递归删除一个层级时,跳过所有不符合命令行参
                                数的文件系统上的文件
      --no-preserve-root  do not treat '/' specially
      --preserve-root   do not remove '/' (default)
  -r, -R, --recursive   remove directories and their contents recursively
  -d, --dir             remove empty directories
  -v, --verbose         explain what is being done
      --help            显示此帮助信息并退出
      --version         显示版本信息并退出

C. rm -Ra /tmp/* 没有这条命令

 D. rm -rf /tmp/* 

/tmp/* 是删除/tmp目录下的所有文件,不包含隐藏文件

10.对所有用户的变量设置,应当放在哪个文件下?

A. /etc/bashrc

B. /etc/profile

C. ~/.bash_profile

D. /etc/skel/.bashrc

#解析 

A. /etc/bashrc  为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取

B. /etc/profile 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取

C. ~/.bash_profile  每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取; 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件

 D. /etc/skel/.bashrc  Linux中的/etc/skel目录(skel是skeleton的缩写,意为骨骼、框架。)是用来存放新用户配置文件的目录,当我们添加新用户时,这个目录下的所有文件会自动被复制到新添加的用户的家目录下;默认情况下,/etc/skel目录下的所有文件都是隐藏文件(以.点开头的文件);通过修改、添加、删除/etc/skel目录下的文件,我们可为新创建的用户提供统一、标准的、初始化用户环境

11.在vi中退出不保存的命令是?

A. :q

B. :w

C. :wq

D. :q!

#解析 

 shift+:    #进入尾行模式(扩展命令模式)
 :10        #进入第10行 
 :w         #保存 
 :q         #退出 
 :wq        #保存并退出 
 :q!        #不保存并退出 
 :wq! 强制保存退出

:q 和 :q! 的区别在于文档是否被改动,被改动只能用:q!,无法动只查看可以用:q

12.使用什么命令检测基本网络连接?

A. ping

B. route

C. netstat

D. ifconfig

#解析 

A. ping 

ping命令 用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常

B. route 

route命令 用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。

在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效

C. netstat 

netstat命令 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况,主要用来查看进程和端口

 D. ifconfig 

ifconfig命令 被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

13.下面哪个命令可以压缩部分文件:

A. tar -dzvf filename.tgz *

B. tar -tzvf filename.tgz *

C. tar -czvf filename.tgz *

D. tar -xzvf filename.tgz *

#解析 

tar cvf xxxx.tar (xxxx=filename)  被打包的文件(源文件) 
Examples:
  tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
  tar -tvf archive.tar         # List all files in archive.tar verbosely.
  tar -xf archive.tar          # Extract all files from archive.tar.

-A, --catenate, --concatenate   追加 tar 文件至归档
-c, --create               创建一个新归档
-d, --diff, --compare      找出归档和文件系统的差异
    --delete               从归档(非磁带!)中删除
-r, --append               追加文件至归档结尾
-t, --list                 列出归档内容
    --test-label           测试归档卷标并退出
-u, --update               仅追加比归档中副本更新的文件
-x, --extract, --get       从归档中解出文件

z:表示gz压缩
j:表示bz2压缩
J:表示xzip压缩

14.什么命令解压缩tar文件?

A. tar -czvf filename.tgz

B. tar -xzvf filename.tgz

C. tar -tzvf filename.tgz

D. tar -dzvf filename.tgz

#解析 

同<13>题

15 Linux文件权限一共10位长度,分成四段,第三段表示的内容是

A 文件类型

B 文件所有者的权限 

C 文件所有者所在组的权限

D 其他用户的权限

 #解析 

  • -:普通文件类型

       Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]

  • d:目录文件

       就是目录,能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]

  • b:块设备文件

        块设备文件 :就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]

  • c:字符设备

       字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]

  • s:套接字文件

       这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型

  • p:管道文件

       FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]

  • l:链接文件

       类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]

16 删除文件命令为:

 A mkdir

 B rmdir

 C mv

 D rm

 #解析 

 A mkdir 

mkdir命令 用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名

#创建同名文件
[root@nginx srv]# mkdir dir.test
mkdir: cannot create directory ‘dir.test’: File exists

 B rmdir  

rmdir(英文全拼:remove directory)命令删除空的目录。

 C mv 

mv命令 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖


#语法: mv source target

​

 D rm 

rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变

17 改变文件所有者的命令为 :

A chmod

B touch

C chown

D cat

 #解析 

A chmod 

  • 通过符号组合的方式更改目标文件或目录的权限
  • 通过八进制数的方式更改目标文件或目录的权限
  • 通过参考文件的权限来更改目标文件或目录的权限

B touch 

touch命令 有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件

C chown 

chown命令 改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是uid,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符

D cat 

  • 显示文件内容,如果没有文件或文件为-则读取标准输入
  • 将多个文件的内容进行连接并打印到标准输出
  • 显示文件内容中的不可见字符(控制字符、换行符、制表符等)

18  在给定文件中查找与设定条件相符字符串的命令为

A grep

B gzip

C find

D sort

 #解析 

A grep 

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能配合多种命令使用,使用上十分灵活

B gzip 

gzip命令 用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名

gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间

C find 

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

 D sort 

  • 将所有输入文件的内容排序后并输出。
  • 当没有文件或文件为-时,读取标准输入
-b, --ignore-leading-blanks    忽略开头的空白
-d, --dictionary-order         仅考虑空白、字母、数字
-f, --ignore-case              将小写字母作为大写字母考虑
-g, --general-numeric-sort     根据数字排序
-i, --ignore-nonprinting       排除不可打印字符
-M, --month-sort               按照非月份、一月、十二月的顺序排序
-h, --human-numeric-sort       根据存储容量排序(注意使用大写字母,例如:2K 1G)
-n, --numeric-sort             根据数字排序
-R, --random-sort              随机排序,但分组相同的行
--random-source=FILE           从FILE中获取随机长度的字节
-r, --reverse                  将结果倒序排列
--sort=WORD                    根据WORD排序,其中: general-numeric 等价于 -g,human-numeric 等价于 -h,month 等价于 -M,numeric 等价于 -n,random 等价于 -R,version 等价于 -V
-V, --version-sort             文本中(版本)数字的自然排序

19 建立一个新文件可以使用的命令为

A chmod

B more

C cp

D touch

 #解析 

A chmod 

  • 通过符号组合的方式更改目标文件或目录的权限
  • 通过八进制数的方式更改目标文件或目录的权限
  • 通过参考文件的权限来更改目标文件或目录的权限

B more 

显示文件内容,每次显示一屏(即一页),该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)

[root@nginx etc]# more passwd
--More--(50%)

C cp 

cp命令 用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误

 D touch 

touch命令 有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件

20 在下列命令中,不能显示文本文件内容的命令是:

A more

B less

C tail

D join

 #解析 

A more 同上

B less 

less命令 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键

C tail 

  • 默认在屏幕上显示指定文件的末尾10行
  • 处理多个文件时会在各个文件之前附加含有文件名的行
  • 如果没有指定文件或者文件名为-,则读取标准输入
  • 如果表示字节或行数的NUM值之前有一个+号,则从文件开头的第NUM项开始显示,而不是显示文件的最后NUM

 D join 

join命令 用来将两个文件中,指定栏位内容相同的行连接起来。找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备

[root@localhost ~]# cat name 
1 xiaoming
2 xiaowang
3 xiaoliu
[root@localhost ~]# cat city 
1 beijing  beijing
2 hubei   wuhan 
3 hunan   changsha

# city文件在后,则拼接在后,如果city文件在前,则name文件拼接在后。
[root@localhost ~]# join  name  city 
1 xiaoming beijing beijing
2 xiaowang hubei wuhan 
3 xiaoliu hunan changsha

21   哪个目录存放着Linux的源代码

A /etc

B /usr/src

C /usr

D /home

 #解析 

A /etc 默认(大多数)配置文件

B /usr/src 系统级的源码目录

C /usr 系统级的目录,可以理解为C:/Windows/

D /home 系统用户的家目录

22 对top命令描述正确的是

A  用于实时动态显示 Linux进程 的动态信息

B  查看线程详情情况

C 查看进程名称

D 显示内存情况

 #解析 

top命令 可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具

top - 09:44:56 up 16 days, 21:23,  1 user,  load average: 9.59, 4.75, 1.92
Tasks: 145 total,   2 running, 143 sleeping,   0 stopped,   0 zombie
Cpu(s): 99.8%us,  0.1%sy,  0.0%ni,  0.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4147888k total,  2493092k used,  1654796k free,   158188k buffers
Swap:  5144568k total,       56k used,  5144512k free,  2013180k cached

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                 
   301 root      20   0       0      0      0 S   0.3  0.0   1:01.92 xfsaild/sda3                            
   732 root      20   0  303960  13696   3972 S   0.3  0.7   2:42.37 vmtoolsd                                
  7314 root      20   0       0      0      0 S   0.3  0.0   0:03.56 kworker/1:0                             
  7323 root      20   0       0      0      0 S   0.3  0.0   0:07.36 kworker/0:3                             
     1 root      20   0  191412   4400   2648 S   0.0  0.2   0:04.67 systemd                                 
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.04 kthreadd                                
     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                            
     6 root      20   0       0      0      0 S   0.0  0.0   0:02.02 ksoftirqd/0                             
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.22 migration/0                             
     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                  
     9 root      20   0       0      0      0 S   0.0  0.0   0:05.63 rcu_sched                               
    10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain                           
    11 root      rt   0       0      0      0 S   0.0  0.0   0:01.57 watchdog/0                              
    12 root      rt   0       0      0      0 S   0.0  0.0   0:01.51 watchdog/1                              
    13 root      rt   0       0      0      0 S   0.0  0.0   0:00.16 migration/1                             
    14 root      20   0       0      0      0 S   0.0  0.0   0:02.95 ksoftirqd/1                             
    16 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H    

top - 09:44:56[当前系统时间],
16 days[系统已经运行了16天],
1 user[几个用户当前登录],
load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
Tasks: 145 total[总进程数],
2 running[正在运行的进程数],
143 sleeping[睡眠的进程数],
0 stopped[停止的进程数],
0 zombie[冻结进程数],
Cpu(s): 99.8%us[用户空间占用CPU百分比],
0.1%sy[内核空间占用CPU百分比],
0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
0.0%hi[硬中断(Hardware IRQ)占用CPU的百分比],
0.0%si[硬中断(Hardware IRQ)占用CPU的百分比],
0.0%st[用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间],
Mem: 4147888k total[物理内存总量],
2493092k used[使用的物理内存总量],
1654796k free[空闲内存总量],
158188k buffers[用作内核缓存的内存量]
Swap:  5144568k total[交换区总量],
56k used[使用的交换区总量],
5144512k free[空闲交换区总量],
2013180k cached[缓冲的交换区总量],

23 Linux系统最少的挂载点有两个

A  一个是根挂载点home,另一个是swap

B  一个是根挂载点/,另一个是swap

C  一个是根挂载点boot,另一个是swap

 一个是根挂载点user,另一个是boot

 #解析 

 在linux系统中都有最少两个挂载点,分别是/ (根目录)及 swap(交换分区),其中,/ 是必须的

24 显示文件和目录由根目录开始的树形结构

A tree

B ls

C pwd

D ln

 #解析 

A tree 

tree命令 以树状图列出目录的内容

B ls

ls命令 就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件

C pwd

pwd(英文全拼:print working directory) 命令用于显示用户当前所在的工作目录(以绝对路径显示)

 D ln

ln命令 用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创建符号链接必须使用"-s"选项。

注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的

25  Linux 查看并对外开放端口

A vi /etc/profile 

B cat /etc/sysconfig/net-work

C  more /etc/sysconfig/iptables 

D ps  aux

 #解析 

A vi /etc/profile 

/etc/profile文件为系统的每个用户设置环境变量信息,此文件的修改会影响到所有用户

B cat /etc/sysconfig/net-work

/etc/sysconfig/network 本机网卡配置文件

C  more /etc/sysconfig/iptables 

/etc/sysconfig/iptables 是Linux操作系统上的一个防火墙工具的配置文件,它可以控制进入、离开、转发的数据流,是Linux服务器安全性的重要保障

iptables允许特定IP访问某一端口

 D ps  aux

ps aux 命令 列出目前所有的正在内存当中的程序

[root@nginx srv]# ps aux | head
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.2 191412  4400 ?        Ss   Sep20   0:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    Sep20   0:00 [kthreadd]
root          4  0.0  0.0      0     0 ?        S<   Sep20   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    Sep20   0:02 [ksoftirqd/0]
root          7  0.0  0.0      0     0 ?        S    Sep20   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    Sep20   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    Sep20   0:05 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S<   Sep20   0:00 [lru-add-drain]
root         11  0.0  0.0      0     0 ?        S    Sep20   0:01 [watchdog/0]

USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令
列出类似程序树的程序显示

二 填空题( 共15题  每题2分  共计30分)

 1  前台起动的进程使用 Ctrl c 终止

Ctrl + c 终止命令

 2  vi编辑器具有两种工作模式: 命令模式 和 输入模式

vi编辑器有两种模式:命令模式、输入模式(插入模式/编辑模式和尾行模式)

 3  可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占1位,表示文件类型 ,第二段占3 位 ,表示文件所有者 ,第三段占3位,表示其他组的其他用户所具有的权限.

drwxr-xr-x
---------- 
-          #该文件的类型  
 ---       #U:表示文件创建者/所有者对该文件所具有的权限
    ---    #G:表示创建者/所有者所在的组的其他用户所具有的权限
       --- #O:表示其他组的其他用户所具有的权限

 4  在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是 /etc .

/etc 这个目录一般用来存放程序所需的整个文件系统的配置文件

etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是等等的意思. 至于为什么在/etc下面存放配置文件,按照原始的UNIX的说法(Linux文件结构参考UNIX的教学实现MINIX) 这下面放的都是一堆零零碎碎的东西, 就叫etc, 这其实是个历史遗留

 5 在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是 ps -aux . 

ps命令 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的 

-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
-A:显示所有程序。
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系

 6  rm命令可删除文件或目录,其主要差别就是是否使用递归开关 -r或-R .

-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理

 7 mv 命令可以移动文件和目录,还可以为文件和目录重新命名.

mv命令 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中

 8 增加一个用户的命令是:adduser 或useradd .

创建用户有两条命令:adduer和useradd,对应着两条删除用户的命令:deluser和userdel。
这两种命令之间的区别:
adduser:会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本

 9 进行字符串查找,使用 grep 命令

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能配合多种命令使用,使用上十分灵活

10 查找文件的两种命令 locate  find

locate 命令 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行

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

11 当前目录  ./  上层目录用什么表示 ../   主目录用什么表示 ~/    切换目录用什么命令  cd

.    当前目录

cd usr 切换到该目录下usr目录
cd ../ 切换到上一层目录
cd / 切换到系统根目录
cd ~ 切换到用户主目录
cd - 切换到上一个所在目录

12  查看文件内容有哪些命令可以使用   

vi 文件名 #编辑方式查看,可修改

cat 文件名 #显示全部文件内容

more 文件名 #分页显示文件内容

less 文件名 #与 more 相似,更好的是可以往前翻页

tail 文件名 #仅查看尾部,还可以指定行数

head 文件名 #仅查看头部,还可以指定行数

详细同以上选项

13  用什么命令对一个文件的内容进行统计?(行号、单词数、字节数) wc

wc命令 统计指定文件中的字节数、字数、行数,并将统计结果显示输出。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。wc同时也给出所指定文件的总统计数

-c # 统计字节数,或--bytes:显示Bytes数
-l # 统计行数,或--lines:显示列数
-m # 统计字符数,或--chars:显示字符数
-w # 统计字数,或--words:显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
-L # 打印最长行的长度,或--max-line-length
-help     # 显示帮助信息
--version # 显示版本信息

14 怎么使一个命令在后台运行 &

& 后台工作

[root@localhost ~]# top &
[1] 2494
[root@localhost ~]# kill %1


[1]+  已停止               top

15 终止进程用什么命令? 带什么参数? kill-9 pid

kill 命令

  • 发送信号到作业或进程(可以为多个)
  • 列出信号
HUP     1    终端挂断
INT     2    中断(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
KILL    9    强制终止
TERM   15    终止
CONT   18    继续(与STOP相反,fg/bg命令)
STOP   19    暂停(同 Ctrl + Z)

 

 三、判断题(共10题,每题1分,共10分)

1、RedHat LINUX 安装时自动创建了根用户。 ( 正确 )

 Redhat Linux在安装时默认创建根用户是正确的。 根用户是操作系统的最高管理员,可以执行任意操作,包括安装软件、修改系统配置等。 因此,在使用根用户进行任何操作时,请非常谨慎,以免对系统造成不可撤销的影响

2、能改变用户工作目录到根目录的命令是 cd 。( 错误 )

[root@nginx /]# cd
[root@nginx ~]# cd

3、Linux 中的超级用户为root,登陆时不需要口令。 ( 错误 )

超级用户登录普通用户时不需要密码,登录自己时需要

4、cat filename.txt | more可实现分页地查看一个大文件的内容。 ( 正确 )

more命令 是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容

[root@nginx srv]# cat test1 | more
111
222
333
222
333
222
333
333

5、命令 # echo \$HOME 可以输出用户的家目录。 ( 错误 )

命令 echo $HOME 查看 home是用户的主目录

[root@nginx srv]#  echo $HOME 
/root

反斜杠"\":使反斜杠后面的一个变量变为单纯的字符串

[root@nginx srv]# echo \$HOME 
$HOME

6.、redhat 系统中,默认情况下根口令没有字符长短的的限制,但是必须把口令输入两次;如果两次输入的口令不一样,安装程序将会提示用户重新输入口令。 ( 错误 )

如果根口令没有被输入,安装程序将不允许你继续。 根口令必须至少包括六个字符;你键入的口令不会在屏幕上显示。 你必须把口令输入两次;如果两个口令不匹配,安装程序将会请你重新输入口令

7、pwd命令可用于确定当前目录。 ( 正确 )

pwd(英文全拼:print working directory) 命令用于显示用户当前所在的工作目录(以绝对路径显示)

[root@nginx srv]# pwd
/srv

8、find命令中可以复制查找到的文件到指定目录。 ( 正确 )

[root@nginx srv]# find /etc -name "*.conf" -type f -exec cp {} /srv/dir.test \;
[root@nginx dir.test]# ls
00-base.conf                             mailx_event.conf
00-dav.conf                              main.conf
00-keyboard.conf                         man_db.conf
00-lua.conf                              mantisbt.conf
00-mpm.conf                              mantisbt_format_analyzer_libreport.conf
00-proxy.conf                            mantisbt_format.conf
00-systemd.conf                          mantisbt_formatdup_analyzer_libreport.conf
01-cgi.conf                              mantisbt_formatdup.conf
20-nproc.conf                            mariadb-x86_64.conf
24-nfs-server.conf                       matsushita.conf
25-no-bitmap-fedora.conf                 mdadm_event.conf
99-nfs-client.conf                       microtek2.conf
99-pulseaudio-default.conf               microtek.conf
abaton.conf                              mke2fs.conf
abrt-action-save-package-data.conf       mlx4.conf
abrt.conf                                monitor.conf
abrt_event.conf                          mtools.conf
access.conf                              mustek.conf
af_unix.conf                             mustek_pp.conf
agfafocus.conf                           mustek_usb.conf
略

9、RedHat Linux 使用 ls -all 命令将列出当前目录中的文件和子目录名。 ( 错误 )

ls -all=ll -a
ll -a #长格式列表显示当前目录下包括隐藏文件在内的所有文件列表
[root@nginx /]# ll -a
total 32
dr-xr-xr-x.  17 root root  244 Sep 13 17:42 .
dr-xr-xr-x.  17 root root  244 Sep 13 17:42 ..
-rw-r--r--    1 root root    0 Sep 13 17:42 .autorelabel
lrwxrwxrwx.   1 root root    7 Sep 13 02:22 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Sep 19 07:02 boot
drwxr-xr-x   20 root root 3360 Sep 21 17:34 dev
drwxr-xr-x. 147 root root 8192 Sep 22 03:50 etc
drwxr-xr-x.   6 root root   56 Sep 22 02:18 home
lrwxrwxrwx.   1 root root    7 Sep 13 02:22 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Sep 13 02:22 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 10  2018 media
drwxr-xr-x.   3 root root   17 Sep 14 20:30 mnt
drwxr-xr-x.   3 root root   16 Sep 13 02:26 opt
dr-xr-xr-x  230 root root    0 Sep 21 17:33 proc
dr-xr-x---.  15 root root 4096 Sep 22 00:05 root
drwxr-xr-x   40 root root 1220 Sep 22 01:59 run
lrwxrwxrwx.   1 root root    8 Sep 13 02:22 sbin -> usr/sbin
drwxr-xr-x.   3 root root   78 Sep 22 04:25 srv
dr-xr-xr-x   13 root root    0 Sep 21 17:33 sys
drwxrwxrwt.  47 root root 4096 Sep 22 04:25 tmp
drwxr-xr-x.  13 root root  155 Sep 13 02:22 usr
drwxr-xr-x.  23 root root 4096 Sep 21 00:48 var
[root@nginx /]# ls -all
total 32
dr-xr-xr-x.  17 root root  244 Sep 13 17:42 .
dr-xr-xr-x.  17 root root  244 Sep 13 17:42 ..
-rw-r--r--    1 root root    0 Sep 13 17:42 .autorelabel
lrwxrwxrwx.   1 root root    7 Sep 13 02:22 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Sep 19 07:02 boot
drwxr-xr-x   20 root root 3360 Sep 21 17:34 dev
drwxr-xr-x. 147 root root 8192 Sep 22 03:50 etc
drwxr-xr-x.   6 root root   56 Sep 22 02:18 home
lrwxrwxrwx.   1 root root    7 Sep 13 02:22 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Sep 13 02:22 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 10  2018 media
drwxr-xr-x.   3 root root   17 Sep 14 20:30 mnt
drwxr-xr-x.   3 root root   16 Sep 13 02:26 opt
dr-xr-xr-x  230 root root    0 Sep 21 17:33 proc
dr-xr-x---.  15 root root 4096 Sep 22 00:05 root
drwxr-xr-x   40 root root 1220 Sep 22 01:59 run
lrwxrwxrwx.   1 root root    8 Sep 13 02:22 sbin -> usr/sbin
drwxr-xr-x.   3 root root   78 Sep 22 04:25 srv
dr-xr-xr-x   13 root root    0 Sep 22 04:38 sys
drwxrwxrwt.  47 root root 4096 Sep 22 04:25 tmp
drwxr-xr-x.  13 root root  155 Sep 13 02:22 usr
drwxr-xr-x.  23 root root 4096 Sep 21 00:48 var

10、Linux系统包括虚拟终端,图形界面终端有 6 个。 ( 正确 )

Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 控制台虚拟终端)来让用户登录。在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux设备驱动程序开发详解第2版》是一本针对Linux系统下设备驱动程序开发的重要参考书籍。下面给出对该书的详细回答。 《Linux设备驱动程序开发详解第2版》这本书的作者是Robert Love,它是一本权威的Linux设备驱动程序开发指南。该书首先介绍了设备驱动程序的基本概念和原理,包括设备文件、设备号、设备结构体等。然后,它详细讲解了Linux内核提供的设备驱动框架,包括字符设备驱动、块设备驱动和网络设备驱动。书中介绍了开发设备驱动程序的各种基本技术和工具,如模块管理、内存管理和中断处理等。 该书还通过大量的示例代码和实践案例,帮助读者深入理解设备驱动程序的开发过程。例如,它详细描述了如何编写一个字符设备驱动程序,并介绍了如何使用ioctl系统调用和proc文件系统来与设备进行通信。此外,书中还介绍了如何使用Linux内核提供的调试工具来调试设备驱动程序,以及如何编写可移植的驱动程序。 《Linux设备驱动程序开发详解第2版》在第一版的基础上进行了更新和扩充。它新增了对新版本Linux内核的支持,并添加了更多实例和案例。此外,该书还介绍了设备模型和总线驱动程序的概念,让读者了解如何开发可移植的设备驱动程序。 总之,《Linux设备驱动程序开发详解第2版》是一本非常有价值的书籍,对于想要深入了解和掌握Linux设备驱动程序开发的人来说,是一本必读的参考书。它全面而详细地介绍了设备驱动程序的开发原理、技术和工具,通过丰富的实例和案例,帮助读者更好地理解和掌握设备驱动程序开发的要点。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值