当前位置: 代码迷 >> 综合 >> (秋招/春招)软件开发/软件测试面试题——LINUX命令行部分
  详细解决方案

(秋招/春招)软件开发/软件测试面试题——LINUX命令行部分

热度:96   发布时间:2023-12-13 00:42:48.0

1.Linux目录结构

\boot:启动目录,内核存放地

\etc:配置文件存放地

\tmp:程序产生的临时文件

\home:用户的目录,用户的家的目录都存放在此目录

\lib:库文件,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
\bin:可执行文件和常用的linux命令

\sbin:系统管理员的命令和工具

\usr:应用程序和文件的安装地

\mnt:挂接其他文件系统

\root:root账户的home目录

\dev:存放linux系统下的设备文件

2.说出五个以上Linux指令

1) 系统安全

sudo // 超级用户

su // 用于切换当前用户身份到其他身份,变更时需输入所要变更的用户账号与密码。

setfacl // 设置文件访问控制列表

2) 进程管理

w // 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。

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

ps // 用于报告当前系统的进程状态。

kill // 用来删除执行中的程序或工作。

pkill // 可以按照进程名杀死进程。

pstree // 以树状图的方式展现进程之间的派生关系,显示效果比较直观。

killall // 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。

3) 用户管理

id // 可以显示真实有效的用户ID(UID)和组ID(GID)。

usermod // 用于修改用户的基本信息。

useradd // 用于 Linux中创建的新的系统用户。

groupadd // 用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

userdel // 用户删除给定的用户,以及与用户相关的文件。若不加选型,则进删除用户账号,而不删除相关文件。

4) 文件系统

mount // 用户加载文件系统到指定的加载点。

umount // 用于卸载已经加载的文件。

fsck // 用于检查并且试图修复文件系统中的错误。

df // 用于显示磁盘分区上的可使用的磁盘空间。

du // 对文件和目录磁盘使用的空间的查看。

5) 系统关机和重启

shutdown // 关机

reboot // 重启

6) 网络应用

curl // 是一个利用URL规则在命令行下工作的文件传输工具。

telnet // 用于登录远程主机,对远程主机进行管理。

mail // 命令行的电子邮件发送和接收工具。

elinks // 能实现一个纯文本界面的WWW浏览器,操作方式与"lynx"类似。

7) 网络测试

ping // 用于测试主机之间网络的连通性。

netstat // 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

host // 常用的分析域名查询工具,可以用来测试域名系统工作是否正常。

8) 网络配置

hostname // 用于显示和设置系统的主机名称。

ifconfig // 被用于配置和显示Linux内核中网络接口的网络参数。

9) 常用工具

ssh // 时openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。

screen // 是一款由GNU计划开发的用于命令行终端切换的自由软件。

clear // 用于清除当前屏幕终端上的任何信息。

who // 显示当前登录系统的用户信息。

date // 显示或设置系统时间与日期。

10) 软件包管理

yum // 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

rpm // rpm软件包的管理工具。

apt-get // Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体如同 Windows上的安装文件。

11) 文件查找和比较

locate // 用来查找文件或目录。Locate test:使用数据库来定位带有test这个词的文件或目录

find // 用来在指定目录下查找文件。

Man//用来查询和解释一个命令的使用方法和这个命令的注意事项,退出按下q;

Whatis//从来查询某个命令的含义。

12) 文件内容查看
head // 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。Head -15 test:查询test文件前15行内容

tail // 用于输入文件中的尾部内容。tail命名默认在屏幕上显示指定文件的末尾10行。

Tail -20 test:查询文件后20行内容

more //按页来查看文件的内容(只能向前浏览)。

less // 用来浏览文字档案的内容,允许用户向前或向后浏览文件。使用该命令时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

13) 文件处理

unlink // 用于系统调用函数 unlink去删除指定的文件。

rename // 用字符串替换的方式批量改变文件名。

cat // cat经常用来显示文件的内容。

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

ln // 用来为文件创建连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项(注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限时没有意义的)

14) 目录操作

cd // 用来切换工作目录至dirname。

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

rm // 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。

pwd // 以绝对路径的方式显示用户当前工作目录。

tree // 以树状图列出目录的内容。

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

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

mkdir// 创建目录

rmdir// 删除空目录

15) 文件权限属性

setfacl // 用来变更文件或目录的权限。

chmod // 用来设定文件的权限。

chgrp // 用来改变文件或目录所属的用户组。

chown // 改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者。或者改变所属的组。(用户可以是用户或者是用户ID,用户组可以是组名或组ID。文件可以是由空格分开的文件列表,在文件名中可以包含通配符)【只有文件主和超级用户才可以使用该命令】

16) 文件传输

ftp // 用来设置文件系统相关功能。

scp // 用于在Linux下远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system 时,用 scp 可以帮你把文件移出来。另外,scp还非常节省资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync 比 scp 会快一点,但当小文件众多的情况下,rsync 会导致硬盘 I/O 非常高,而 scp 基本不影响系统正常使用。

17) 文件压缩命令

Bzip2//来压缩文件,后缀名为.bz2,原文件压缩后被删除

Bunzip2 filename.bz2//解压文件

Gzip//压缩文件,后缀名为.gz

Gunzip//解压缩文件

Tar//将文件或目录进行打包或者解压缩,压缩后原文件还在。压缩 tar cvf name.tar name;解压缩 tar xvf name.tar

3.Linux查找进程,怎么读日志后几行

?查找进程:ps命令

输入下面的ps命令,显示所有运行中的进程:

ps aux | less

其中,-A:显示所有进程

a:显示终端中包括其它用户的所有进程

x:显示无控制终端的进程

任务:查看系统中的每个进程。

#ps -A # ps -e

任务:查看非root运行的进程

#ps -U root -u root -N

任务:查看用户vivek运行的进程

#ps -u vivek

任务:top命令

top命令提供了运行中系统的动态实时视图。在命令提示行中输入top:
#top

?查看日志最后几行 “tail -n 行数”

tail -n 50 wx.log

示例:查看/var/log/boot.log,只显示最后一行。

则执行 tail -n 1 /var/log/boot.log

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的

head -n 1000:显示前面1000行