Unix面试题Top50
[TOC]
1)什么是UNIX?
它是一种便携式操作系统,专为高效的多任务和多用户功能而设计。它的可移植性允许它在不同的硬件平台上运行。它写的是C,让用户在shell下进行处理和控制。
2)什么是过滤器?
术语过滤器通常用于表示可以从标准输入获取输入,对该输入执行某些操作以及将结果写入标准输出的任何程序。过滤器也是可以在管道中的两个其他程序之间使用的任何程序。
3)在shell中发出命令时遵循的典型语法是什么?
UNIX shell下的典型命令语法遵循以下格式:
命令[-argument] [-argument] [--argument] [file]
4)有没有办法只使用一个命令擦除当前目录中的所有文件,包括其所有子目录?
是的,这是可能的。为此目的使用rm -r *
。
rm命令用于删除文件。
-r选项将擦除目录和子目录,包括其中的文件。
星号表示所有条目。
5)要设置的-v和-x选项之间的主要区别是什么?
-v选项在替换参数和变量之前回显每个命令;
-x选项在替换发生后回显命令。
6)什么是内核?
内核是UNIX操作系统是主程序,它控制计算机的资源,将它们分配给不同的用户并执行不同的任务。但是,内核不直接处理用户。相反,它会在每个用户登录时为每个用户启动一个单独的交互式程序,称为shell。
7)什么是Shell?
shell充当用户和系统之间的接口。作为命令解释器,shell接受命令并将其设置为执行。
8)Korn Shell的主要特点是什么?
- 具有模拟emacs或vi的内置编辑器的历史机制
- 内置整数运算
- 字符串操作功能
- 命令别名
- 阵列
- 工作控制
9)常见的Shell,它们的指标是什么?
- sh - Bourne shell
- csh - C SHell
- bash - Bourne Again Shell
- tcsh - 增强的C Shell
- zsh - Z SHell
- ksh - Korn SHell
10)区分多用户与多任务。
多用户意味着不止一个人可以同时使用计算机。多任务意味着即使是单个用户也可以让计算机同时处理多个任务或程序。
11)什么是命令替换?
命令替换是每次shell处理命令时执行的步骤之一。shell只执行反引号中包含的那些命令。然后,它将替换命令的标准输出并显示在命令行上。
12)什么是目录?
每个文件都分配给一个目录。目录是文件的一种特殊形式,用于维护其中所有文件的列表。
13)什么是inode?
inode是在为文件系统预留的磁盘部分上创建的条目。inode包含有关文件的几乎所有信息。它包括磁盘上文件启动的位置,文件大小,上次更改文件时最后一次使用文件的时间,各种读取,写入和执行权限,拥有文件的人员以及其他信息。
14)你在honky目录中有一个名为tonky的文件。之后你将新材料添加到tonky。目录,inode和文件中发生了哪些更改?
目录条目保持不变,因为名称和inode编号保持不变。在inode文件中,更新文件大小,上次访问时间和上次修改时间。在文件本身中,添加了新材料。
15)描述UNIX中的文件系统
img了解UNIX中的文件系统与知道文件和索引节点如何存储在系统上有关。发生的事情是磁盘或磁盘的一部分留出来存储文件和inode条目。整个功能单元称为文件系统。
16)区分绝对路径和相对路径。
相对路径是指相对于当前路径的路径。另一方面,绝对路径是指从根目录引用的确切路径。
17)解释UNIX系统中目录的重要性
目录中的文件可以是目录本身; 它将被称为原始的子目录。此功能可以开发目录和文件的树状结构,这对于维护组织方案至关重要。
18)简要介绍Shell的责任
- 程序执行
- 变量和文件名替换
- I / O重定向
- 管道连接
- 环境控制
- 解释编程语言
19)什么是shell变量?
Shell变量是名称(标识符)和指定值的组合,它存在于shell中。这些变量可能具有默认值,或者可以使用适当的赋值命令手动设置其值。shell变量的示例是PATH,TERM和HOME。
20)系统调用,库函数和UNIX命令之间有什么区别?
系统调用是内核编程的一部分。库函数是一个程序,它不是内核的一部分,但可供系统用户使用。但是,UNIX命令是独立程序; 它们可以在编程中包含系统调用和库函数。
21)什么是Bash Shell?
它是一个免费的shell,设计用于UNIX系统。作为大多数基于UNIX的系统的默认shell,它结合了C和Korn Shell中可用的功能。
22)枚举UNIX中一些最常用的网络命令
- telnet - 用于远程登录
- ping - 用于测试连接的echo请求
- su - 用户切换命令
- ftp - 用于复制文件的文件传输协议
- finger- 信息收集命令
23)区分cmp命令和diff命令。
cmp命令主要用于逐字节比较两个文件,之后显示第一个遇到的不匹配。
另一方面,diff命令用于指示为使两个文件彼此相同而要进行的更改。
24)列出目录时-l的用途是什么?
-l,通常用于列表命令,如ls,用于以长格式显示文件,每行一个文件。
长格式是指与文件关联的其他信息,例如所有权,权限,数据和文件大小。
25)什么是管道?
管道字符“|”表示的管道用于将两个或多个命令组合在一起。第一个命令的输出用作下一个命令的输入,依此类推。
26)什么是超级用户?
超级用户是一种特殊类型用户,可以对系统上的所有文件和命令进行开放访问。请注意,超级用户的登录通常是root,并受所谓的root密码保护。
27)如何在UNIX中确定和设置路径?
每次输入命令时,名为PATH或路径的变量将定义shell将在哪个目录中搜索该命令。在返回错误消息的情况下,原因可能是命令不在您的路径中,或者命令本身不存在。您也可以使用“set path = [directory path]”命令手动设置路径。
28)是否有可能在执行过程中查看有关进程的信息?
每个进程都由进程标识符唯一标识。可以使用ps命令查看有关进程的详细信息和状态。
29)在UNIX中命名文件时遵循的标准约定是什么?
命名文件时的一个重要规则是不允许具有特殊含义的字符,例如* /&和%。作为特殊类型文件的目录遵循与文件相同的命名约定。使用字母和数字,以及下划线和点字符等字符。
30)为什么不建议使用root作为默认登录?
root帐户非常重要,滥用,很容易导致系统损坏。这是因为通常适用于用户帐户的安全措施不适用于root帐户。
31)tee命令的用途是什么?
tee命令执行两项操作:一种是从标准输入获取数据并将其发送到标准输出; 第二个是它将该输入数据的副本重定向到指定的文件。
32)区分cat命令和更多命令。
当使用cat命令显示文件内容时,不适合屏幕的大数据将在不暂停的情况下滚动,因此难以查看。另一方面,在这种情况下使用more命令更合适,因为它将一次显示一个屏幕页面的文件内容。
33)什么是解析?
解析是将命令行分解为单词的过程。这可以通过使用分隔符和空格来实现。如果选项卡或多个空格是命令的一部分,则最终将这些空格替换为单个空格。
34)什么是pid?
Pid是Process ID的缩写。它主要用于标识在UNIX系统上运行的每个进程,无论它是在前台运行还是在后台运行。每个pid都被认为是独特的。
35)系统如何知道一个命令结束而另一个命令何处开始?
通常,由ENTER或RETURN键生成的换行符充当路标。但是,分号和&符号也可以用作命令终止符。
37)什么是外卡解释?
命令行包含诸如“*”或“?”之类的通配符时。它们被shell替换为具有模式匹配输入命令的文件的排序列表。通配符用于设置要处理的文件列表,而不是一次指定一个。
38)这个命令的输出是什么?$ who | sort -logfile> newfile
在此命令中,命令“who”的输出成为“sort”命令的输入。同时,“sort”打开logfile,将其与命令“who”的输出一起排列,并将最终排序的输出放到文件newfile中。
39)如何从任何用户类型切换到超级用户类型?
要从任何用户类型切换到超级用户,请使用su命令。但是,在授予您完全访问权限之前,系统会要求您键入正确的超级用户密码。
40)将PATH的值更改为:。:/ usr / della / bin:/ bin:/ usr / bin会产生什么影响
这将导致shell在查找当前目录之后以及在搜索命令文件时查看/ bin目录之前查看/ usr / della / bin目录。
41)编写一个命令,以彩色长格式显示当前目录中的文件。
答案:ls -l --color
42)编写一个命令,找到目录中的所有文本文件,使其不包含任何形式的“惊人”一词(也就是说,它必须包含单词Amazing,AMAZING或aMAZINg)
回答:
grep -vi amazing * .txt
43)编写一个命令,输出名为IN.TXT的文件的已排序内容,并将输出放在另一个名为OUT.TXT的文件中,同时排除重复的条目。
sort IN.TXT | uniq > OUT.TXT
44)编写一个允许UNIX系统在15分钟内关闭的命令,之后它将执行重启。
/ sbin / shutdown -r +15
45)什么命令会改变你对MYPROMPT的提示?
要更改提示,我们使用PS1命令,例如:
PS1 ='MYPROMPT:'
46)这个命令有什么作用?
cat food 1 > kitty
答:它将猫粮的输出重定向到文件小猫; 命令与:cat food> kitty相同
47)这个交互式shell脚本有什么问题?
echo这个月是什么时候?阅读月和任何一个月一样好。
答:最初,问号应该被转义(\?),以便它不被解释为shell元字符。其次,它应该是月读,而不是读月。
48)编写一个shell脚本,请求用户的年龄,然后回复它,以及一些合适的注释。
echo Hello! What\'s your age\?
read age
echo $age! I\'ll be obsolete by that age!
49)编写一个脚本,按此顺序打印日期信息:时间,星期几,日期编号,月份,年份(样本输出:2012年2月12日太平洋时间17:34:51)
set 'date'
echo $4 $5 $1 $3 $2 $6
50)编写一个脚本,显示以下输出:
Give me a U!
U!
Give ma a N!
N!
Give me a I!
I!
Give me a X!
X!
echo Give me a $i!
echo $i!
done
网友评论