专栏首页小麦苗的DB宝专栏【DB笔试面试807】 与Linux相关的一些笔试面试题(目前64道,后续持续更新)

【DB笔试面试807】 与Linux相关的一些笔试面试题(目前64道,后续持续更新)

和shell脚本相关的面试题可以参考如下连接:

本文收集了一些和Linux简单常用的命令相关的面试题目。

真题1、Linux中使用哪个命令来查找文件?

答案:使用find命令,如下所示:

 find / -name filename.txt

根据名称查找/目录下的filename.txt文件。

真题2、Linux中使用哪个命令来查看一个程序是否正在运行?

答案:使用ps命令,如下所示:

ps –ef|grep tomcat

查看所有有关tomcat的进程。

真题3、Linux中使用哪个命令来终止线程?

答案:使用kill命令,命令格式:

kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

示例如下所示:

kill -9 19979

终止线程号为19979的线程。

真题4、Linux中使用哪个命令来查看文件,包含隐藏文件?

答案:使用ls命令,如下所示:

ls -al

真题5、Linux中使用哪个命令来当前工作目录?

答案:使用pwd命令。

真题6、Linux中使用哪个命令来复制文件包括其子文件到自定目录?

答案:使用cp命令,如下所示:

cp -r sourceFolder targetFolder

真题7、Linux中使用哪个命令来创建目录?

答案:使用mkdir命令,如下所示:

mkdir newfolder

真题8、Linux中使用哪个命令来删除目录(此目录是空目录)?

答案:使用rmdir命令,如下所示:

rmdir deleteEmptyFolder

真题9、Linux中使用哪个命令来删除文件包括其子文件?

答案:使用rm命令,如下所示:

rm -rf deleteFile

真题10、Linux中使用哪个命令来移动文件?

答案:使用mv命令,如下所示:

mv /temp/movefile /targetFolder

重命名:mv oldNameFile newNameFile

真题11、Linux中使用哪个命令来切换用户?

答案:使用su命令,如下所示:

su - username

真题12、Linux中使用哪个命令来修改文件权限?

答案:使用chmod命令,如下所示:

chmod 777 file.java

file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行。

真题13、Linux中使用哪个命令来压缩文件?

答案:使用tar命令,如下所示:

tar -czf test.tar.gz /test1 /test2

真题14、Linux中使用哪个命令来列出压缩文件列表?

答案:使用tar命令,如下所示:

tar -tzf test.tar.gz

真题15、Linux中使用哪个命令来解压文件?

答案:使用tar命令,如下所示:

tar -xvzf test.tar.gz

真题16、Linux中使用哪个命令来查看文件头10行?

答案:使用head命令,如下所示:

head -n 10 example.txt

真题17、Linux中使用哪个命令来查看文件尾10行?

答案:使用tail命令,如下所示:

tail -n 10 example.txt

真题18、Linux中使用哪个命令来查看日志文件?

答案:使用tail命令,如下所示:

tail -f exmaple.log

这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。

真题19、Linux中使用哪个命令来启动Vi编辑器?

答案:使用vi命令。

真题20、Linux中使用哪个命令来查看系统当前时间?

答案:使用date命令,命令会输出周几、几月、几日、时间和时间显示格式和年份

Sat Jan 20 04:39:49 CST 2020
date +"%Y-%m-%d"

显示如下:

[root@ming xxx]# date +"%Y-%m-%d" 2020-01-20

真题21、Linux中使用哪个命令来解压zip文件?

答案:使用unzip命令,如下所示:

unzip -oq

真题22、Linux中使用哪个命令来查看线程个数?

答案:使用ps和wc命令,如下所示:

ps -Lf 端口号|wc -l

真题23、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?

答案:

l 绝对路径:如/etc/init.d

l 当前目录和上层目录:./ ../

l 主目录:~/

l 切换目录:cd

真题24、怎么查看当前进程?怎么执行退出?怎么查看当前路径?

答案:

l 查看当前进程:ps

l 执行退出:exit

l 查看当前路径:pwd

真题25、问怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?

答案:

l 清屏:clear

l 退出当前命令:ctrl+c 彻底退出

l 执行睡眠 :ctrl+z 挂起当前进程fg 恢复后台

l 查看当前用户 id:”id“:查看显示目前登陆账户的 uid 和 gid 及所属分组及用户名

l 查看指定帮助:如 man adduser 这个很全 而且有例子;adduser --help 这个可以查询一些常用参数;info adduser;

真题26、ls 命令执行什么功能?可以带哪些参数,有什么区别?

答案:

l ls 执行的功能:列出指定目录中的目录,以及文件

l 哪些参数以及区别:a 所有文件l 详细信息,包括大小字节数,可读可写可执行的权限等

真题27、建立软链接(快捷方式),以及硬链接的命令。

答案:

l 软链接:ln -s slink source

l 硬链接:ln link source

真题28、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?

答案:

l 创建目录:mkdir

l 创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件

l 复制文件:cp

真题29、文件权限修改用什么命令?格式是怎么样的?

l 文件权限修改:chmod

格式如下:

$ chmod u+x file 给 file 的属主增加执行权限
$ chmod 751 file 给 file 的属主分配读、写、执行(7)的权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file 上例的另一种形式
$ chmod =r file 为所有用户分配读权限
$ chmod 444 file 同上例
$ chmod a-wx,a+r file同上例
$ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限

真题30、查看文件内容有哪些命令可以使用?

答案:

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

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

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

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

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

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

真题31、编辑文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?

答案:

l 编辑文件命令:vi

l 向屏幕输出带空格的字符串:echo hello world

真题32、终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?

答案:

l 终端 /dev/tty

l 黑洞文件 /dev/null

真题33、移动文件用哪个命令?改名用哪个命令?

答案:都使用mv命令。

真题34、复制文件用哪个命令?如果需要连同文件夹一块复制呢?

答案:复制文件用cp命令,如果需要连同文件夹一块复制,那么需要加上-r参数。

真题35、删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?

答案:

l 删除文件用rm命令。

l 如果需要连目录及目录下文件一块删除或删除空文件夹,那么用rm -r rmdir

真题36、Linux下命令有哪几种可使用的通配符?分别代表什么含义?

答案:

l “?”可替代单个字符。

l “*”可替代任意多个字符。

l 方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC]

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

答案:使用wc命令,其中参数-c表示统计字节数,-l表示统计行数,-w表示统计字数。

真题38、grep 命令有什么用?如何忽略大小写?如何查找不含该串的行?

答案:grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep [stringSTRING] filename grep [^string] filename

如果想展示匹配的行的前几行和后几行,那么可以分别使用-B和-A参数。例如:

[root@rhel6lhr ~]$ grep "new" check.pl
my $inst= ExtUtils::Installed->new();
[root@rhel6lhr ~]$ grep "new" check.pl  -A 2 -B 1
use ExtUtils::Installed;
my $inst= ExtUtils::Installed->new();
my @modules = $inst->modules();
foreach(@modules)

真题39、Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

答案:Linux中进程有以下几种状态:

(1)、不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,指进程不响应异步信号。

(2)、暂停状态/跟踪状态:向进程发送一个SIGSTOP信号,它就会因响应该信号而进入TASK_STOPPED状态;当进程正在被跟踪时,它处于TASK_TRACED这个特殊的状态。

“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。

(3)、就绪状态:在run_queue队列里的状态

(4)、运行状态:在run_queue队列里的状态

(5)、可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待socket连接、等待信号量),而被挂起

(6)、zombie状态(僵尸):父亲没有通过wait系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉

(7)、退出状态

在ps显示出来的信息中,分别用以下符号表示:

l D 不可中断 Uninterruptible(usually IO)

l R 正在运行,或在队列中的进程

l S 处于休眠状态

l T 停止或被追踪

l Z 僵尸进程

l W 进入内存交换(从内核 2.6 开始无效)

l X 死掉的进程

真题40、怎么使一个命令在后台运行?

答案:一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)

真题41、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?

答案:

l ps -ef (system v 输出)

l ps -aux bsd 格式输出

l ps -ef | grep pid

真题42、哪个命令专门用来查看后台任务?

答案:job -l

真题43、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?

答案:把后台任务调到前台执行 fg,把停下的后台任务在后台执行起来 bg。

真题44、怎么查看系统支持的所有信号?

答案:kill -l

真题45、搜索文件用什么命令? 格式是怎么样的?

答案:

l find <指定目录> <指定条件> <指定动作>

l whereis 加参数与文件名

l locate 只加文件名

l find 直接搜索磁盘,较慢。

l find / -name "string*"

真题46、查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?

答案:

l 查找自己所在的终端信息:who am i

l 查看当前谁在使用该主机:who

真题47、使用什么命令查看用过的命令列表?

答案:history

真题48、使用什么命令查看磁盘使用空间?空闲空间呢?

答案:df -h,例如:

Filesystem                                Size  Used Avail Use% Mounted on
/dev/sda2                                  48G   21G   26G  45% /
tmpfs                                     2.0G  324K  2.0G   1% /dev/shm
/dev/sda1                                 283M   58M  210M  22% /boot
/dev/sr0                                  3.6G  3.6G     0 100% /media/lhr/cdrom
/dev/mapper/vg_orasoft-lv_orasoft_u01      49G   36G   11G  78% /u01
/dev/mapper/vg_orasoft-lv_orasoft_u02     7.3G  4.8G  2.2G  69% /u02
/dev/mapper/vg_orasoft-lv_orasoft_u03     6.8G  4.2G  2.4G  65% /u03
/dev/mapper/vg_oradata-lv_oradata_u04      40G   20G   18G  52% /u04
/dev/mapper/vg_oradata-lv_oradata_u05      40G   25G   14G  65% /u05
/dev/mapper/vg_orasoft-lv_orasoft_mysql   976M  323M  603M  35% /var/lib/mysql
/dev/mapper/vg_orasoft-lv_orasoft_u06      11G  5.5G  4.7G  54% /u06
/dev/mapper/vg_orasoft-lv_orasoft_u07      14G  8.2G  4.8G  64% /u07
/dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55  2.9G  817M  2.0G  30% /usr/local/mysql55
/dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56  2.9G  1.4G  1.4G  50% /usr/local/mysql56
/dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  9.8G  7.6G  1.7G  82% /usr/local/mysql57
/dev/mapper/vg_mysqlsoft-lv_mysqlsoft_80  5.8G  3.2G  2.4G  57% /usr/local/mysql80
/dev/mapper/vg_mysqlsoft-lv_MariaDB_104   4.9G  3.5G  1.2G  75% /usr/local/MariaDB_104

真题49、使用什么命令查看网络是否连通?

答案:ping或telnet。

真题50、使用什么命令查看 ip 地址及接口信息?

答案:ifconfig

真题51、查看各类环境变量用什么命令?

答案:

l 查看所有 env

l 查看某个,如 home:env $HOME

真题52、通过什么命令指定命令提示符?

答案:

l \u:显示当前用户账号

l \h:显示当前主机名

l \W:只显示当前路径最后一个目录

l \w:显示当前绝对路径(当前用户目录会以~代替)

l $PWD:显示当前全路径

l \:显示命令行''或者'#'符号

l \#:下达的第几个命令

l \d:代表日期,格式为week day month date,例如:"MonAug1"

l \t:显示时间为24小时格式,如:HH:MM:SS

l \T:显示时间为12小时格式

l \A:显示时间为24小时格式:HH:MM

l \v:BASH的版本信息 如export PS1='[\u@\h\w\#]\$ '

真题53、查找命令的可执行文件是去哪查找的? 怎么对其进行设置及添加?

答案:whereis指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,说明文档或是帮助文件。

whereis[-bfmsu][-B<目录>...][-M<目录>...][-S<目录>...][文件...]

l -b只查找二进制文件。

l -B<目录>只在设置的目录下查找二进制文件。-f不显示文件名前的路径名称。

l -m只查找说明文件。

l -M<目录>只在设置的目录下查找说明文件。-s只查找原始代码文件。

l -S<目录>只在设置的目录下查找原始代码文件。-u查找不包含指定类型的文件。

which只能查可执行文件,which会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

l -n指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

l -p与-n参数相同,但此处的包括了文件的路径。-w指定输出时栏位的宽度。

l -V显示版本信息

真题54、怎么对命令进行取别名?

答案:

真题55、du和df的定义,以及区别?

答案:

l du可以显示目录或文件的大小。

l df可以显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。(文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。)

du命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Data。df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。

真题56、当需要给命令绑定一个宏或者按键的时候,应该怎么做呢?

答案:可以使用bind命令,bind可以很方便地在shell中实现宏或按键的绑定。在进行按键绑定的时候,需要先获取到绑定按键对应的字符序列。

比如获取F12的字符序列获取方法如下:先按下Ctrl+V,然后按下F12,就可以得到F12的字符序列 ^[[24~。

接着使用bind进行绑定。

[root@localhost ~]# bind ‘”\e[24~":"date"'

注意:相同的按键在不同的终端或终端模拟器下可能会产生不同的字符序列。

也可以使用showkey -a命令查看按键对应的字符序列。

真题57、如果一个linux新手想要知道当前系统支持的所有命令的列表,他需要怎么做?

答案:使用命令compgen -c,可以打印出所有支持的命令列表。

真题58、如果想要打印出当前的目录栈,改怎么做?

答案:使用Linux命令dirs可以将当前的目录栈打印出来。

[root@localhost ~]# dirs

/usr/share/X11

目录栈通过pushd popd 来操作。

真题59、你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?

答案:使用linux命令“disown -r”可以将所有正在运行的进程移除。

真题60、bash shell 中的hash命令有什么作用?

答案:linux命令hash管理着一个内置的哈希表,记录了已执行过的命令的完整路径,用该命令可以打印出你所使用过的命令以及执行的次数。

[root@localhost ~]# hash

hits command

2 /bin/ls

2 /bin/su

真题61、哪一个bash内置命令能够进行数学运算。

答案:bash shell的内置命令let可以进行整型数的数学运算。

#! /bin/bash

…

…

let c=a+b

…

…

真题62、怎样一页一页地查看一个大文件的内容呢?

答案:通过管道将命令“cat file_name.txt”和more连接在一起可以实现这个功能:

[root@localhost ~]# cat file_name.txt | more

真题63、怎样查看一个linux命令的概要与用法?假设在/bin目录中偶然看到一个从没见过的的命令,怎样才能知道它的作用和用法呢?

答案:使用命令whatis可以先出显示出这个命令的用法简要,比如,可以使用whatis zcat去查看“zcat”的介绍以及使用简要。

[root@localhost ~]# whatis zcat

zcat [gzip] (1) – compress or expand files

真题64、使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?

答案:使用命令repquota能够显示出一个文件系统的配额信息。只有root用户才能够查看其它用户的配额。

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文分享自微信公众号 - DB宝(lhrdba),作者:小麦苗best

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【DB笔试面试705】在Oracle中,ASM磁盘有几种冗余方式?

    ASM使用独特的镜像算法,它不镜像磁盘而是镜像盘区。一个磁盘组可以由两个或多个故障组(FAILGROUP)组成,一个故障组由一个或多个ASM磁盘组成。故障组提供...

    小麦苗DBA宝典
  • 【DB笔试面试275】 与SHELL脚本相关的一些笔试面试题(目前36道,后续持续更新)

    本小节以几道真题为例,简单讲解与SHELL有关的面试题。在实际工作中,要写的SHELL脚本要复杂得多。

    小麦苗DBA宝典
  • 【DB笔试面试275】 与SHELL脚本相关的一些笔试面试题(目前37道,后续持续更新)

    本小节以几道真题为例,简单讲解与SHELL有关的面试题。在实际工作中,要写的SHELL脚本要复杂得多。

    小麦苗DBA宝典
  • IDC:2019年全球VR/AR头显出货量将达到890万

    根据IDC 3月28日的报告《Worldwide Quarterly Augmented and Virtual Reality Headset Tracker...

    VRPinea
  • Python内置函数sorted()和列表方法sort()排序规则不得不说的事

    Python内置函数sorted()和列表方法sort()可以使用key参数指定排序规则,并且都是稳定排序,也就是说,对于指定规则不能涵盖的元素,本来谁在前面,...

    Python小屋屋主
  • Linux磁盘和文件系统管理

    Theo Tsao
  • 19.5 忘记Admin密码如何做

    忘记Admin密码如何做 进入mysql命令行,选择zabbix库 mysql -uroot -p zabbix update users set passwd...

    运维小白
  • QJson第三方JSON处理库

    JSON(JavaScript对象表示法)是一种轻量级的数据交换格式。它可以表示整数,实数,字符串,值的有序序列以及名称/值对的集合。

    Qt君
  • spring 的工厂类

    现在一般使用 ApplicationContext,不建议使用 BeanFactory。

    希希里之海
  • C语言进阶内置函数补充

    1、如果有足够空间用于扩大mem_address指向的内存块,则分配额外内存,并返回mem_address 。这里说的是“扩大”,我们知道,realloc是从堆...

    老九学堂-小师弟

扫码关注云+社区

领取腾讯云代金券