Linux和Shell常见⾯试题
参考博客:
linux系统下可以在命令⾏进⾏操作,⽽shell是linux命令集的概称,是属于命令⾏的⼈机界⾯。
Shell 是⼀个⽤C语⾔编写的程序,它是⽤户使⽤Linux的桥梁。Shell既是⼀种命令语⾔,⼜是⼀种程序设计语⾔。Shell 是指⼀种应⽤程序,这个应⽤程序提供了⼀个界⾯,⽤户通过这个界⾯访问操作系统内核的服务。通常我们说的Shell都是Shell Script也就是Shell脚本(.sh ⽂件)。
Shell相当于经过装饰的命令⾏,和命令⾏⼀样,都能操作linux。但是shell是⾯向过程的,相当于有了⼀定的逻辑和过程,⽽命令⾏只是单⼀的操作。
Linux常⽤命令:
cd:切换⽬录
ls:显⽰指定⼯作⽬录下的内容,列出⽂件系统中的所有⽂件和⽬录
rm:删除
mv:移动⽂件
pwd:查看当前⼯作⽬录的完整路径
ps:显⽰命令运⾏的进程,并显⽰进程ID和其他⼀些相关数据
top:来查看系统进程,top也能显⽰系统内存。
free:查看系统内存
linux系统vim编辑器
kill:终⽌进程
sudo:已其他⾝份来执⾏,预设的⾝份是root
vi/vim:使⽤vi编辑器
touch: 如果⽂件不存在的话,将会创建⼀个 0KB 的空⽂件
mkdir xxx:创建⼀个名为xxx的⽂件夹
cat:连接⽂件或标准输⼊并打印
grep:是⼀个过滤器,⽤于全局搜索正则表达式(在⽂件中查字符串)
find:查位置 ⽂件名或⽬录名
env: 允许⽤户设置或打印环境变量
常见⾯试题:
1.什么是BASH?
回答: Bash是Unix shell和命令处理器。它是免费软件,可以代替Bourne Shell。这是⼀个解释后的未编译过程,也可以在终端窗⼝中运⾏。这使⽤户可以编写命令并引起动作。Bash能够从Shell脚本读取命令。
2.什么是Shell?
回答: Shell是⼀个命令解释器,充当⽤户和内核之间的接⼝。⽤户可以通过在Shell上编写程序,命令和脚本来与内核进⾏通信。它接受⼈类可读的命令,并将其转换为内核可理解的语⾔。
3. Linux中有⼏种类型的Shell?
回答:Shell脚本语⾔是弱类型语⾔(⽆需定义变量即可使⽤),Linux中主要有两⼤类shell:
⼀类是Bourne shell,另⼀类是C shell:
1. Bourne shell包括Bourne shell(sh)、Korn shell(ksh)、Bourne Again Shell三种类型
2. C shell包括csh、tcsh两种类型
补充:
查看系统默认的shell:echo $SHELL
查看系统⽀持的shell:cat/etc/shells
⼀个规范的Shell脚本在第⼀⾏会指出由哪个程序(解释器)来执⾏脚本中的内容,这⼀⾏内容在Linux bash的编程⼀般为:#!/bin/bash
或 #! /bin/sh 。
bash 与 sh 的区别 :sh 为 bash的软连接,⼤多数情况下,脚本使⽤#!/bin/bash和#!/bin/sh是没有区别的,但更规范的写法是在脚本的开头使⽤ #!/bin/bash 。
2、在shell脚本中,跟在 # 后⾯的内容表⽰注释
4.发出命令时如何打开命令提⽰符?
回答:通过按CTRL + ALT + T或在菜单搜索栏中提供终端来启动终端。
5.解释Linux中的⽂件权限类型?
回答:每个⽂件或⽬录都具有3个权限:
Read 只可以读取该⽂件。
Write 可以写⼊⽂件或修改⽬录的⽂件。
Execute 影响⽤户执⾏⽂件或查看⽬录⽂件的能⼒。
6. Linux中的进程状态是什么?
回答: Linux中的五个过程状态。
新建/就绪:已创建⼀个新进程并准备运⾏。
正在运⾏:正在执⾏该进程。
阻⽌/等待:进程正在等待⽤户输⼊。
终⽌/完成:进程已完成执⾏或被操作系统终⽌。
僵⼫:进程已删除,但仍在进程表中存在有关该进程的信息。
7. 解释Linux中的流程管理系统调⽤吗?
回答: Linux中的流程管理系统调⽤:
fork():⽤于创建新进程。
exec():执⾏新进程。
wait():等到进程执⾏。
exit():退出进程。
系统调⽤以获取进程ID:
getpid():查唯⼀的进程ID。
getppid():查唯⼀的⽗进程ID。
8为什么我们使⽤LINUX?
回答:
⾼稳定性:⾮常稳定,不会导致崩溃,它可以像⾸次安装时⼀样快速运⾏。
安全性:这是⼀台可靠的服务器,可以为⽤户提供⾼安全性。在系统上使⽤Linux很容易避免病毒和恶意软件。攻击者⽆法更改系统中的任何更改,除⾮该⽤户以root⽤户⾝份登录。
易于操作: Linux易于操作,并且我们可以轻松地安装到系统上,因为Linux的所有变体都有⾃⼰的软件存储库。您可以单击⼏次以定期更新系统,也可以设置⾃动更新。
硬件兼容性: Linux可以在任何硬件上使⽤,它没有任何硬件限制。它有效地使⽤了所有系统资源。
开源:源代码可⽤,因为它位于免费和开源软件(FOSS)下。
9. 描述⽗⼦进程如何相互通信?
回答: ⽗进程通过使⽤管道,套接字,消息队列等与⼦进程进⾏通信。
10.什么是僵⼫进程?
回答: 这是⼀个执⾏已完成但进程表中甚⾄存在信息的进程。由于⼦进程需要读取⼦进程的状态,因此发⽣在⼦进程中。⼀旦使⽤wait系统调⽤完成了该任务,则僵⼫进程将从进程表中删除。这被称为僵⼫进程。
11.什么是Linux中的top命令?
回答: top命令显⽰和更新排序的过程信息。使⽤此top命令来确定正在运⾏的进程以及它们消耗了多少内存和CPU。
12. Linux中的netstat命令是什么?
回答: Linux中的netstat命令显⽰⽹络状态。此netstat命令显⽰正在使⽤的⽹络端⼝及其传⼊连接。
13.在Linux中,lsof命令是什么?
回答:命令ls列出了与您的应⽤程序关联的打开⽂件。
14.在Linux中df命令是什么?
回答: ⽤户可以使⽤df命令对磁盘空间问题进⾏故障排除。此处df表⽰显⽰可⽤磁盘空间。
df命令⽰例:
df -h
15.在Linux中du命令是什么?
Linux中的Ans: du命令⽤于检索有关哪些⽂件使⽤⽬录中磁盘空间的更多详细信息。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。