面试题首页 > Linux面试题

Linux面试题

001什么是Linux?

Linux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署都是放在Linux操作系统上面。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

002Windows和Linux的区别?

Windows是微软开发的操作系统,民用操作系统,可用于娱乐、影音、上网。 Windows操作系统具有强大的日志记录系统和强大的桌面应用。好处是它可以帮我们实现非常多绚丽多彩的效果,可以非常方便去进行娱乐、影音、上网。
Linux的应用相对单纯很多,没有什么绚丽多彩的效果,因此Linux的性能是非常出色的,可以完全针对机器的配置有针对性的优化,
简单来说Windows适合普通用户进行娱乐办公使用,Linux适合软件开发部署。

003Linux和Unix有什么区别?

Linux Unix系统
提供付费和免费分发。 不同级别的Unix使用不同的付费结构。
Linux主要使用带有可选命令行界面的GUI Unix使用命令行界面
Linux OS是便携式的,可以在不同的硬盘中执行 Unix OS不可移植。
Linux由全球Linux社区开发。 Unix由AT&T开发人员开发。
Linux是免费的。它是在GNU许可下通过互联网下载的。 大多数类似Unix的操作系统不是免费的。
Linux用于家用PC,电话等。 Unix用于服务器系统。

004什么是BASH?

Bash是Brian Fox为GNU项目编写的Unix shell和命令处理器。它是免费软件,可以代替Bourne Shell。这是一个解释后的未编译过程,也可以在终端窗口中运行。这使用户可以编写命令并引起动作。Bash能够从Shell脚本读取命令。

005BASH 和 DOS 之间的基本区别是什么?

1)BASH 命令区分大小写,而 DOS 命令则不区分;
2)在 BASH 下,/ character 是目录分隔符,\作为转义字符。在 DOS 下,/用作命令参数分隔符,\是目录分隔符
3)DOS 遵循命名文件中的约定,即 8 个字符的文件名后跟一个点,扩展名为 3 个字符。BASH 没有遵循这样的惯例。

006什么是GUI?

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。

007什么是CLI?

CLI是命令行界面(英语**:command-line interface**,缩写]),是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标。用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)。
通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。所以,图形用户界面的操作系统中,都保留着可选的命令行界面。

008开源的优势是什么?

开源允许你将软件(包括源代码)免费分发给任何感兴趣的人。然后,人们可以添加功能,甚至可以调试和更正源代码中的错误。它们甚至可以让它运行得更好,然后再次自由地重新分配这些增强的源代码。这最终使社区中的每个人受益。

009Linux的基本组件是什么?

内核:内核是操作系统的心脏。它充当软件和硬件之间的桥梁。如果软件请求硬件,则内核将在软件和硬件之间传递数据。例如,如果您想播放一首歌曲,则应启动默认播放器,它会请求内核播放一首歌曲。大多数Android手机使用Linux内核。
Shell:Shell是一个计算机程序,充当用户和内核之间的接口。用户可以通过在Shell上编写程序,命令和脚本来与内核进行通信。它接受人类可读的命令,并将其转换为内核可理解的语言。
GUI: 表示图形用户界面。它是一种人机界面,使用可以通过鼠标操作的窗口,图像,图标和菜单。电子产品中的大多数现代应用程序都通过GUI与用户通信。GUI是使用按钮,菜单,消息框等的图形和文本交互的组合。
系统实用程序:这些是允许用户管理计算机的软件功能。
应用程序:旨在执行一组任务的一组功能。

010解释Linux中的文件权限类型?

每个文件或目录都具有3个权限
Read--它是指只有他们可以读取该文件。
Write--这是指他们可以写入文件或修改目录的文件。
Execute--影响用户执行文件或查看目录文件的能力。

011解释Linux中的文件权限组?

每个文件和目录都有三个基于用户的权限组。
所有者:所有者只需要访问文件或目录,就不会影响其他用户的操作。
组:这些权限仅适用于已分配给文件或目录的组。它们不会影响其他用户的操作。
所有用户:这些权限适用于系统上的所有用户。

012解释Linux中不同的文件系统类型吗?

ext,ext2,ext3,ext4,jfs,xfs,btrfs,ufs,autofs,devpts,ntfs和交换。

013使用vi编辑器时有哪些不同的模式?

vi编辑器中有三种模式。他们是
● 命令模式/常规模式
● 插入模式/编辑模式。
● 防爆模式/更换模式。

014Linux中的进程状态是什么?

Linux中的五个过程状态。他们是
新建/就绪:已创建一个新进程并准备运行。
正在运行:正在执行该进程。
阻止/等待:进程正在等待用户输入。
终止/完成:进程已完成执行或被操作系统终止。
僵尸:进程已删除,但仍在进程表中存在有关该进程的信息。

015Linux 使用的进程间通信方式?

管道(pipe)、流管道(s_pipe)、有名管道(FIFO)
信号(signal)
消息队列
共享内存
信号量
套接字(socket)

016什么是 root 帐户?

root 帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户帐户,为每个帐户分配不同的权限。每次安装 Linux 时都是默认帐户。

017Linux 的目录结构是怎样的?

● /bin:存放二进制可执行文件(ls,cat,mkdir 等),常用命令一般都在这里;
● /boot:存放用于系统引导时使用的各种文件;
● /dev:用于存放设备文件;
● /etc:存放系统管理和配置文件;
● /home:存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是/home/user,可以用~user 表示;
● /lib :存放着和系统运行相关的库文件 ;
● /lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里。
● /mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
● /proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
● /root:超级用户(系统管理员)的主目录(特权阶级 o);
● /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;
● /tmp:用于存放各种临时文件,是公用的临时文件存储点;
● /usr:用于存放系统应用程序/opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;
● /var:用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;

018pwd命令。

功能:显示用户当前所在的目录
格式:pwd

019ls 命令

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
格式:ls [选项] [目录或文件]
常用选项表:

选项   说明
-a 查看当前目录下的文件,包括隐藏文件
-l 长格式显示文件
-lh 以方便阅读的长格式显示

020cd 命令

功能:改变工作目录。将当前工作目录改变到指定的目录下
格式:cd 目录名
常用命令:

命令 说明
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd ~ 切换到家目录
cd / 切换到根目录
cd /home/lx/linux1/  绝对路径:从家目录出发,直到想要去的目录
cd …/lx/     相对路径:从当前目录出发,直到想去的目录

021man 命令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
格式:man 其他命令

022grep 命令

功能:用于查找文件里符合条件的字符串
格式:grep [选项] '查找字符串' 文件名
常用选项:

选项 说明
-a 将binary文件以text文件的方式查找数据
-c 计算找到 ‘查找字符串’ 的次数
-i 忽略大小写的区别,即把大小写视为相同
-v 反向选择,即显示出没有 ‘查找字符串’ 内容的那一行

023find 命令

功能:用来在指定目录下查找文件
格式:find [路径] [选项] 操作
常用选项:

选项 说明
-name test  查询指定目录下,命名为test的文件
-size +100k  查询指定目录下,文件大于100K的文件
-ctime n   查询指定目录下,在过去n天内被修改过的文件

024ps 命令

功能:用来列出系统中当前正在运行的那些进程,类似于 windows 的任务管理器。
格式:ps [选项]
常用选项:

选项 说明
-A 列出所有的进程 (重要)
-ef 查看全格式的全部进程 (重要)
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux  显示所有包含其他使用者的行程

025kill 命令

功能:用于删除执行中的程序或工作
格式:kill [选项]/[信号] 进程号
常用选项:

选项 说明
-l force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-s 若目标文件 (destination) 已经存在时,就会询问是否覆盖

常用信号:

信号 说明
-1(HUP)  重新加载进程
-9(KILL)  杀死一个进程。(重点)
-15(TERM)  正常停止一个进程。

026tail 命令

功能:查看测试项目的日志
说明:一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志
格式:tail [选项] 文件名
常用选项:

选项 说明
-f 实时读取
-1000 查看最近1000行日志

027netstat 命令

功能:查看端口
格式:netstat -anp | grep 端口号

028ifconfig命令

功能:用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。

029ping命令

功能:检测是否与主机连通
格式:ping 地址

030解压命令。

tar -zxvf redis-3.2.8.tar.gz ;解压到当前文件夹
tar -zxvf redis-3.2.8.tar.gz -C /opt/java/ ;-C指解压到指定目录

031压缩命令

tar -zcvf redis-3.2.8.tar.gz  redis-3.2.8/  ;语法 tar -zcvf  压缩后的名称  要压缩的文件
tar -zcvf 压缩后的文件(可指定目录)  要压缩的文件(可指定目录) 

032遇到一个不认识的命令式怎么办?

1.man 命令名
2.命令名 – help
3.info cat 命令名 (查看命令的功能,来源,选项等)
4.whatis 命令名
5.通过网络途径

033机器的启动/关闭命令。

关机命令:shutdown -h 【now | 10(分钟) | 20:25】
重启命令:reboot

034列出已经安装的包?安装软件?更新软件?卸载?

列出已经安装的包: yum list installed
安装软件: yum install package_name
更新软件: yum update package_name
卸载软件:yum remove package_name //只删除软件包保留数据文件和配置文件
可以执行:yum erase package_name

035mkdir 命令

功能:创建空目录
格式:mkdir [选项] [路径] 文件名
常用选项表:

选项 说明
-p 层级创建
-v 显示创建顺序

036rmdir 命令

功能:删除空目录 不能删除非空目录,不能删除文件
格式:rmdir [-p] [路径] 目录名
常用选项表:

选项 说明
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

037touch 命令

功能:新建空文件
格式:touch [路径] 文件名 (可以多个)

038rm 命令

功能:删除文件或目录
格式:rm [选项] 文件名
常用选项表:

选项 说明
-f 强制删除
-r 多级删除
-rf 强制删除给定目录下所有文件和目录

rm 和 rmdir 的区别:
rm 有选项, rmdir 没有选项
rmdir 只能删除空目录,不能删文件
rm 带上选项-r可以删除非空目录

039mv 命令

功能:mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录。
格式:mv [选项] [路径] 旧文件名 [新路径][新文件名]
常用选项:

选项 说明
-f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i 若目标文件 (destination) 已经存在时,就会询问是否覆盖

注意:
如果只移动不改名字,新名字可以不写
如果移动的同时改名字,新名字一定要写

040cp 命令

功能: 复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
格式:cp [选项] [路径] 旧文件名 [新路径][新文件名]
常用选项表:

选项 说明
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive

覆盖文件之前先询问用户

-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理

041cat 命令

功能: 查看目标文件的内容
格式:cat [选项] 文件名
常用选项表:

选项 说明
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

042vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Lastline mode)。
常用的几个命令:
i 切换到输入模式,以输入字符。
: 切换到底线命令模式,以在最底一行输入命令。
ESC:退出输入模式,切换到命令模式
q 退出程序
w 保存文件

043文件权限修改用什么命令?

chmod命令主要用于修改、设置文件权限,chmod 修改文件权限主要有两种方式: 字母法与数字法
1)字母法
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其它用户组
a all 表示这三者皆是
-------------------------------
+增加权限
- 撤销权限
= 设定权限
-----------------------------
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
-------------------------
用法:chmod + 设置模式 + 文件名
中间的设置模式,要分别对u(user), g(group), o(other)设置权限。
chmod u+rwx, g+rwx, o+rwx filename 改命令说明对filename文件, 赋予user、group、other均有read、write、excute的权限。
2)数字法
数字法是基于字母法的表示,如果字母法懂了,数字法就好懂,并且易于使用。
r (read) ----------------> 4
w (write) ----------------> 2
x (excute) ----------------> 1
如:数字法:chmod 777 文件名 <-----------对应--------------> 字母法: chmod u+rwx, g+rwx, o+rwx 文件名
第一个数字7:代表用户 u 的权限 rwx, 4 ® + 2 (w) + 1 (x) = 7
第二个数字7:代表用户 g 的权限 rwx, 4 ® + 2 (w) + 1 (x) = 7
第三个数字7:代表用户 o 的权限 rwx, 4 ® + 2 (w) + 1 (x) = 7
再次举例说明:
数字法:chmod 755 filename 对应 字母法: chmod u+rwx, g+rx, o+rx filename
数字法:chmod 751 filename 对应 字母法: chmod u+rwx, g+rx, o+x filename
数字法:chmod 765 filename 对应 字母法: chmod u+rwx, g+rw, o+rx filename

目录

返回顶部