2022最全软件测试Linux面试题(含答案)

软件测试被问到的Linux命令知识点,90%都在这里了!

一、文件和目录

查看路径

pwd

显示当前目录的路径

which

查看命令的可执行文件所在路径, Linux 下,每一条命令其实都对应一个可执行程序,在终端中输入命令,按回车的时候,就是执行了对应的那个程序, which 命令本身对应的程序也存在于 Linux 中。

总的来说一个命令就是一个可执行程序。

浏览和切换目录

ls

列出文件和目录,它是 Linux 最常用的命令之一。

【常用参数】

-a 显示所有文件和目录包括隐藏的
-l 显示详细列表
-h 适合人类阅读的
-t 按文件最近一次修改时间排序
-i 显示文件的 inode ( inode 是文件内容的标识)

cd

cd 是英语 change directory 的缩写,表示切换目录。

cd / –> 跳转到根目录
cd ~ –> 跳转到家目录
cd … –> 跳转到上级目录
cd ./home –> 跳转到当前目录的home目录下
cd /home/lion –> 跳转到根目录下的home目录下的lion目录
cd –> 不添加任何参数,也是回到家目录

[注意] 输入cd /ho + 单次 tab 键会自动补全路径 + 两次 tab 键会列出所有可能的目录列表。

du

列举目录大小信息。

【常用参数】

-h 适合人类阅读的;
-a 同时列举出目录下文件的大小信息;
-s 只显示总计大小,不显示具体信息。

浏览和创建文件

cat

一次性显示文件所有内容,更适合查看小的文件。

【常用参数】

-n 显示行号。
less
分页显示文件内容,更适合查看大的文件。

【快捷操作】

空格键:前进一页(一个屏幕);
b 键:后退一页;
回车键:前进一行;
y 键:后退一行;
上下键:回退或前进一行;
d 键:前进半页;
u 键:后退半页;
q 键:停止读取文件,中止 less 命令;
= 键:显示当前页面的内容是文件中的第几行到第几行以及一些其它关于本页内容的详细信息;
h 键:显示帮助文档;
/ 键:进入搜索模式后,按 n 键跳到一个符合项目,按 N 键跳到上一个符合项目,同时也可以输入正则表达式匹配。

head

显示文件的开头几行(默认是10行)

【参数】

-n 指定行数 head cloud-init.log -n 2

tail

显示文件的结尾几行(默认是10行)

tail cloud-init.log复制代码
【参数】

-n 指定行数 tail cloud-init.log -n 2
-f 会每过1秒检查下文件是否有更新内容,也可以用 -s 参数指定间隔时间 tail -f -s 4 xxx.log

touch

创建一个文件

touch new_file复制代码

mkdir

创建一个目录

mkdir new_folder复制代码
【常用参数】

-p 递归的创建目录结构 mkdir -p one/two/three
文件的复制和移动

cp

拷贝文件和目录

cp file file_copy –> file 是目标文件,file_copy 是拷贝出来的文件cp file one –> 把 file 文件拷贝到 one 目录下,并且文件名依然为 file

cp file one/file_copy –> 把 file 文件拷贝到 one 目录下,文件名为file_copy

cp *.txt folder –> 把当前目录下所有 txt 文件拷贝到 folder 目录下

【常用参数】

-r 递归的拷贝,常用来拷贝一整个目录

mv

移动(重命名)文件或目录,与cp命令用法相似。

mv file one –> 将 file 文件移动到 one 目录下

mv new_folder one –> 将 new_folder 文件夹移动到one目录下mv *.txt folder –> 把当前目录下所有 txt 文件移动到 folder 目录下mv file new_file –> file 文件重命名为 new_file

文件的删除和链接

rm

删除文件和目录,由于 Linux 下没有回收站,一旦删除非常难恢复,因此需要谨慎操作

rm new_file –> 删除 new_file 文件

rm f1 f2 f3 –> 同时删除 f1 f2 f3 3个文件

【常用参数】

-i 向用户确认是否删除;
-f 文件强制删除;
-r 递归删除文件夹,著名的删除操作 rm -rf 。

ln

英文 Link 的缩写,表示创建链接。

学习创建链接之前,首先要理解链接是什么,我们先来看看 Linux 的文件是如何存储的:

Linux 文件的存储方式分为3个部分,文件名、文件内容以及权限,其中文件名的列表是存储在硬盘的其它地方和文件内容是分开存放的,每个文件名通过 inode 标识绑定到文件内容。

Linux 下有两种链接类型:硬链接和软链接。

硬链接

使链接的两个文件共享同样文件内容,就是同样的 inode ,一旦文件1和文件2之间有了硬链接,那么修改任何一个文件,修改的都是同一块内容,它的缺点是,只能创建指向文件的硬链接,不能创建指向目录的(其实也可以,但比较复杂)而软链接都可以,因此软链接使用更加广泛。

这个部分暂时不展开。

二、用户与权限

用户

Linux 是一个多用户的操作系统。在 Linux 中,理论上来说,我们可以创建无数个用户,但是这些用户是被划分到不同的群组里面的,有一个用户,名叫 root ,是一个很特殊的用户,它是超级用户,拥有最高权限。

sudo

以 root 身份运行命令

useradd + passwd
useradd 添加新用户
passwd 修改用户密码
这两个命令需要 root 用户权限

userdel
删除用户,需要 root 用户权限

su

切换用户,需要 root 用户权限

群组的管理

Linux 中每个用户都属于一个特定的群组,如果你不设置用户的群组,默认会创建一个和它的用户名一样的群组,并且把用户划归到这个群组。

groupadd

创建群组,用法和 useradd 类似

groupdel

删除一个已存在的群组

groups

查看用户所在群组

usermod

用于修改用户的账户。

【常用参数】

-l 对用户重命名。需要注意的是 /home 中的用户家目录的名字不会改变,需要手动修改。
-g 修改用户所在的群组,例如 usermod -g friends lion修改 lion 用户的群组为 friends 。
-G 一次性让用户添加多个群组,例如 usermod -G friends,foo,bar lion 。
-a -G 会让你离开原先的群组,如果你不想这样做的话,就得再添加 -a 参数,意味着append 追加的意思。

chgrp

用于修改文件的群组。

chown

改变文件的所有者,需要 root 身份才能运行。

【常用参数】

-R 递归设置子目录和子文件, chown -R lion:lion /home/frank 把 frank 文件夹的用户和群组都改为 lion 。

文件权限管理

chmod

修改访问权限。

【常用参数】

-R 可以递归地修改文件访问权限,例如 chmod -R 777 /home/lion

其中 drwxr-xr-x 表示文件或目录的权限。让我们一起来解读它具体代表什么/p>

d :表示目录,就是说这是一个目录,普通文件是 – ,链接是 l 。
r :read 表示文件可读。
w :write 表示文件可写,一般有写的权限,就有删除的权限。
x :execute 表示文件可执行。

  • :表示没有相应权限。

现在再来理解这句权限 drwxr-xr-x 的意思:

它是一个文件夹;
它的所有者具有:读、写、执行权限;
它的群组用户具有:读、执行的权限,没有写的权限;
它的其它用户具有:读、执行的权限,没有写的权限。
现在理解了权限,我们使用 chmod 来尝试修改权限。chmod 它不需要是 root 用户才能运行的,只要你是此文件所有者,就可以用 chmod 来修改文件的访问权限。

2022最全软件测试Linux面试题(含答案)
我们可以使程序在后台运行,成为后台进程,这样在当前终端中我们就可以做其他事情了,而不必等待此进程运行结束。

八、文件压缩解压

打包:是将多个文件变成一个总的文件,它的学名叫存档、归档。
压缩:是将一个大文件(通常指归档)压缩变成一个小文件。
我们常常使用 tar 将多个文件归档为一个总的文件,称为 archive 。然后用 gzip 或 bzip2 命令将 archive 压缩为更小的文件。

tar

创建一个 tar 归档。

基础用法

tar -cvf sort.tar sort/

将sort文件夹归档为sort.tar

tar -cvf archive.tar file1 file2 file3

将 file1 file2 file3 归档为archive.tar复制代码

常用参数

-cvf 表示 create(创建)+ verbose(细节)+ file(文件),创建归档文件并显示操作细节;
-tf 显示归档里的内容,并不解开归档;
-rvf 追加文件到归档, tar -rvf archive.tar file.txt ;
-xvf 解开归档, tar -xvf archive.tar 。

gzip / gunzip

“压缩/解压”归档,默认用 gzip 命令,压缩后的文件后缀名为 .tar.gz 。

gzip archive.tar # 压缩gunzip archive.tar.gz # 解压

tar 归档+压缩

可以用 tar 命令同时完成归档和压缩的操作,就是给 tar 命令多加一个选项参数,使之完成归档操作后,还是调用 gzip 或 bzip2 命令来完成压缩操作。

tar -zcvf archive.tar.gz archive/ # 将archive文件夹归档并压缩

tar -zxvf archive.tar.gz # 将archive.tar.gz归档压缩文件解压

zcat、zless、zmore

之前讲过使用 cat less more 可以查看文件内容,但是压缩文件的内容是不能使用这些命令进行查看的,而要使用 zcat、zless、zmore 进行查看。

zcat archive.tar.gz

zip/unzip

“压缩/解压” zip 文件( zip 压缩文件一般来自 windows 操作系统)。

命令安装

Red Hat 一族中的安装方式yum install zip yum install unzip 复制代码

基础用法

unzip archive.zip

解压 .zip 文件

unzip -l archive.zip

不解开 .zip 文件,只看其中内容

zip -r sort.zip sort/

将sort文件夹压缩为 sort.zip,其中-r表示递归

编译安装

简单来说,编译就是将程序的源代码转换成可执行文件的过程。大多数 Linux 的程序都是开放源码的,可以编译成适合我们的电脑和操纵系统属性的可执行文件。

基本步骤如下:

下载源代码
解压压缩包
配置
编译
安装

实际案例

1、下载

我们来编译安装 htop 软件,首先在它的官网下载源码:http://bintray.com/htop/source…[1]

下载好的源码在本机电脑上使用如下命令同步到服务器上:

scp 文件名 用户名@服务器ip:目标路径

scp ~/Desktop/htop-3.0.0.tar.gz root@121.42.11.34:.

也可以使用 wegt 进行下载:

wegt+下载地址

wegt https://bintray.com/htop/source/download_fileile_path=htop-3.0.0.tar.gz

2、解压文件

tar -zxvf htop-3.0.0.tar.gz

解压cd htop-3.0.0 # 进入目录

3、配置

执行 ./configure ,它会分析你的电脑去确认编译所需的工具是否都已经安装了。

4、编译

执行 make 命令

5、安装

执行 make install 命令,安装完成后执行 ls /usr/local/bin/ 查看是否有 htop 命令。如果有就可以执行 htop 命令查看系统进程了。

九、网络

ifconfig

查看 ip 网络相关信息,如果命令不存在的话, 执行命令 yum install net-tools 安装。

参数解析:

eth0 对应有线连接(对应你的有线网卡),就是用网线来连接的上网。eth 是 Ethernet 的缩写,表示”以太网”。有些电脑可能同时有好几条网线连着,例如服务器,那么除了eht0 ,你还会看到 eth1 、 eth2 等。
lo 表示本地回环( Local Loopback 的缩写,对应一个虚拟网卡)可以看到它的 ip 地址是 127.0.0.1 。每台电脑都应该有这个接口,因为它对应着”连向自己的链接”。这也是被称之为”本地回环”的原因。所有经由这个接口发送的东西都会回到你自己的电脑。看起来好像并没有什么用,但有时为了某些缘故,我们需要连接自己。例如用来测试一个网络程序,但又不想让局域网或外网的用户查看,只能在此台主机上运行和查看所有的网络接口。例如在我们启动一个前端工程时,在浏览器输入 127.0.0.1:3000 启动项目就能查看到自己的 web 网站,并且它只有你能看到。
wlan0 表示无线局域网

host

ip 地址和主机名的互相转换。

ssh 连接远程服务器

通过非对称加密以及对称加密的方式(同 HTTPS 安全连接原理相似)连接到远端服务器。

***h

config 文件可以***h ,方便批量管理多个 ssh 连接。

配置文件分为以下几种:

全局 ssh 服务端的配置:/etc/ssh/sshd_config ;
全局 ssh 客户端的配置:/etc/ssh/ssh_config(很少修改);
当前用户 ssh 客户端的***h/config 。

2022最全软件测试Linux面试题(含答案)基本操作

打开 Vim

在终端命令行中输入 vim 回车后 Vim 就会被运行起来,也可以用 Vim 来打开一个文件,只需要在 vim 后面再加文件名。如 vim file.name ,如果文件不存在,那么会被创建。

插入

进入文件之后,此时处于交互模式,可以通过输入 i 进入插入模式

移动

在 Vim 的交互模式下,我们可以在文本中移动光标。

h 向左移动一个字符
j 向下移动一个字符
k 向上移动一个字符
i 向右移动一个字符
当然也可以使用四个方向键进行移动,效果是一样的。

跳至行首和行末

行首:在交互模式下,为了将光标定位到一行的开始位置,只需要按下数字键 0 即可,键盘上的 Home 键也有相同效果。
行末:在交互模式下,为了将光标定位到一行的末尾,只需要按下美元符号键 $ 即可,键盘上的 End 键也有相同效果。

按单词移动

在交互模式下,按字母键 w 可以一个单词一个单词的移动。

退出文件

在交互模式下,按下冒号键 : 进入命令模式,再按下 q 键,就可以退出了。

如果在退出之前又修改了文件,就直接想用 :q 退出 Vim ,那么 Vim 会显示一个红字标明错误信息。此时我们有两个选择:

保存并退出 :wq 或 :x ;
不保存且退出 :q! 。

标准操作

删除字符

在交互模式下,将光标定位到一个你想要删除的字符上,按下字母键 x 你会发现这个字符被删除了。

也可以一次性删除多个字符,只需要在按 x 键之前输入数字即可。

删除(剪切)单词,行

删除一行:连按两次 d 来删除光标所在的那一行。
删除多行:例如先输入数字 2 ,再按下 dd ,就会删除从光标所在行开始的两行。
删除一个单词:将光标置于一个单词的首字母处,然后按下 dw 。
删除多个单词:例如先按数字键 2 再按 dw 就可以删除两个单词了。
从光标所在位置删除至行首:d0 。
从光标所在位置删除至行末:d$ 。

复制单词,行

复制行:按两次 y 会把光标所在行复制到内存中,和 dd 类似, dd 用于”剪切”光标所在行。
复制单词:yw 会复制一个单词。
复制到行末:y$ 是复制从光标所在处到行末的所有字符。
复制到行首:y0 是复制光标所在处到行首的所有字符。

粘贴

如果之前用 dd 或者 yy 剪切复制过来的,可以使用 p 来粘贴。同样也可以使用 数字+p来表示复制多次。

替换一个字符

在交互模式下,将光标置于想要替换的字符上。按下 r 键,接着输入你要替换的字符即可。

撤销操作

如果要撤销最近的修改,只需要按下 u 键,如果想要撤销最近四次修改,可以按下4,再按下 u 。

重做

取消撤销,也就是重做之前的修改使用 ctrl + r 。

跳转到指定行

Vim 编辑的文件中,每一行都有一个行号,行号从1开始,逐一递增。

行号默认是不显示,如果需要它显示的话,可以进入命令模式,然后输入 set nu ,如果要隐藏行号的话,使用 set nonu 。

跳转到指定行:数字+gg ,例如 7gg ,表示跳转到第7行。
要跳转到最后一行,按下 G 。
要跳转到第一行,按下 gg 。

高级操作

查找

处于交互模式下,按下 / 键,那么就进入查找模式,输入你要查找的字符串,然后按下回车。光标就会跳转到文件中下一个查找到的匹配处。如果字符串不存在,那么会显示
“pattern not found” 。

n 跳转到下一个匹配项;

N 跳转到上一个匹配项。

[注意] 用斜杠来进行的查找是从当前光标处开始向文件尾搜索,如果你要从当前光标处开始,向文件头搜索则使用 ,当然也可以先按下 gg 跳转到第一行在进行全文搜索。

查找并替换

替换光标所在行第一个匹配的字符串:

语法:s/旧字符串/新字符串# 实例:s/one/two

替换光标所在行所有旧字符串为新字符串:

语法:s/旧字符串/新字符串/g

替换第几行到第几行中所有字符串:

语法:n,m s/旧字符串/新字符串/g

实例:2,4 s/one/two/g

最常用的就是全文替换了:

语法:%s/旧字符串/新字符串/g

合并文件
可以用冒号 +r ( :r ) 实现在光标处插入一个文件的内容。

:r filename # 可以用Tab键来自动补全另外一个文件的路径

学习安排上!

感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几个月时间整理的非常全面的,希望也能帮助到有需要的你!

2022最全软件测试Linux面试题(含答案) 软件测试资料分享,技术交流地 2022最全软件测试Linux面试题(含答案) QQ群名片 2022最全软件测试Linux面试题(含答案)

来源:代码小怡

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月11日
下一篇 2022年10月11日

相关推荐