1、Debian GNU/Linux与Ubuntu有何不同?请列举两个方面。
对初学者的适用性
Ubuntu因易于使用而推荐给初学者,Debian则推荐给更高级的用户,Ubuntu在安装过程中不需要复杂的用户配置。
稳定性
Debian比Ubuntu更稳定,因为Debian更新较少且经过详细测试,整个操作系统更稳定;而Ubuntu使用户能够使用软件的最新版本和所有新技术。
2、列举除智能手机外,安卓操作系统可运行的三种设备。
电视、手表、游戏机
3、考虑成本和性能,对于一家旨在降低许可成本,同时保持最高性能的企业来说,哪些发行版最合适?请说明原因。
最适合企业使用的发行版之一是CentOS。因为它整合了红帽的所有产品,这些产品被用于其商业操作系统中,且可以免费使用。同样,Ubuntu LTS版本能保证更长时间的支持。Debian GNU/Linux的稳定版本也常用于企业环境。
4、树莓派(Raspberry Pi)的主要优势是什么,它在商业中可以发挥哪些功能?
以下是调整为 Markdown 格式的文本内容:
树莓派体积小,能像普通计算机一样工作,成本低,可处理网络流量和许多其他功能。它可以用作服务器、防火墙,还能作为机器人和许多其他小型设备的主板。
5、亚马逊云服务和谷歌云提供哪些范围的发行版?至少列出三个常见的和两个不同的。
以下是调整为 Markdown 格式的文本内容:
亚马逊云服务和谷歌云常见的发行版有 Ubuntu、CentOS 和红帽企业 Linux。
不同的发行版中,亚马逊有亚马逊 Linux,谷歌提供 FreeBSD。
需要说明的是,Kali Linux 不是亚马逊云特有的发行版,它是一个独立的开源渗透测试发行版;Windows 服务器也并非谷歌云特有的典型不同发行版,在很多云服务中都可使用。
6、对于以下每个命令,确定它与 Debian 包管理系统还是 Red Hat 包管理系统相关:dpkg、rpm、apt – get、yum、dnf
:Debian 包管理系统
dpkg
:Red Hat 包管理系统
rpm
:Debian 包管理系统
apt-get
:Red Hat 包管理系统
yum
:Red Hat 包管理系统
dnf
7、在Ubuntu上可以使用哪个命令来安装Blender?安装后,如何执行该程序?
可以使用命令
来安装,包名需用小写。安装后,可以在终端中直接使用命令
apt-get install blender
来执行该程序,也可以在应用程序菜单中选择它来执行。
blender
8、LibreOffice套件中哪个应用程序可用于处理电子表格?
Calc
9、谷歌浏览器的开发基于哪个开源网络浏览器?
Chromium(铬浏览器)
10、SVG是矢量图形的开放标准。在Linux系统中,编辑SVG文件最流行的应用程序是哪个?
Inkscape
11、哪个软件包允许 Linux 和 Windows 机器通过本地网络进行文件共享?
Samba
12、你知道即使关联的软件包从系统中移除,配置文件仍会保留。如何在基于DEB的系统中自动移除名为cups的软件包及其配置文件?
使用命令 apt-get purge cups
13、假设你有许多TIFF图像文件,想将它们转换为JPEG格式。可以使用哪个软件包直接在命令行进行文件转换?
ImageMagick
14、为了能够打开Windows用户发送给你的Microsoft Word文档,你需要安装哪个软件包?
LibreOffice或OpenOffice
15、对于以下每个命令,确定它与 Debian 包管理系统还是 Red Hat 包管理系统相关:dpkg、rpm、apt – get、yum、dnf
:Debian 包管理系统
dpkg
:Red Hat 包管理系统
rpm
:Debian 包管理系统
apt-get
:Red Hat 包管理系统
yum
:Red Hat 包管理系统
dnf
16、简而言之,理查德·斯托曼和自由软件基金会所定义的“四项自由”是什么?
自由0:运行软件;自由1:研究和修改软件(源代码);自由2:分发软件;自由3:分发修改后的软件
17、缩写 FLOSS 代表什么?
自由/开源软件(Free/Libre Open Source Software)
18、你开发了自由软件,并希望确保该软件本身以及基于它的所有后续作品也保持自由。你会选择哪种许可证?CC BY、GPL version 3、2 – Clause BSD License、LGPL
GPL version 3
19、以下哪些许可证属于宽松许可证(permissive),哪些属于著佐权许可证(copyleft)?简化BSD许可证、GPL版本3、CC BY、CC BY – SA
简化BSD许可证、CC BY属于宽松许可证;GPL版本3、CC BY – SA属于著佐权许可证。
20、你编写了一个 Web 应用程序,并以自由许可证发布。你如何通过你的产品赚钱?请列举三种可能性。
双重许可,例如提供收费的“企业版”;2. 提供托管、服务和支持;3. 为客户开发专有扩展。
21、你想在GNU GPL v3许可下发布你的软件。你应该遵循哪些步骤?
如有必要,通过版权弃权声明等方式确保自己能指定许可,以防雇主干涉。 为每个文件添加版权声明。 在你的软件中添加一个名为
的文件,包含完整的许可文本。 在每个文件中添加对许可的引用。
COPYING
22、你编写了专有软件,并想将其与遵循 GPL 版本 3 的自由软件相结合。你是否被允许这样做,或者你必须考虑什么?
自由软件基金会的常见问题解答提供了相关信息
只要你的专有软件和自由软件保持相互独立,这种结合是可行的。但是,你必须确保这种分离在技术上得到保证,并且对用户来说是可识别的。
如果你以某种方式集成自由软件,使其成为你产品的一部分,根据版权共享原则,你也必须以 GPL 许可发布该产品。
23、为什么自由软件基金会发布GNU Affero通用公共许可证(GNU AGPL)作为GNU GPL的补充?
GNU AGPL填补了一个在服务器上托管自由软件时出现的许可证漏洞:如果开发者对软件进行了更改,根据GPL,他没有义务让这些更改可被访问,因为他允许对程序进行访问,但并没有以GPL意义上的方式“重新分发”该程序。而GNU AGPL规定,软件必须连同所有更改一并提供下载。
24、你开发了自由软件,并希望确保该软件本身以及基于它的所有未来成果也保持自由。你会选择哪个许可证?知识共享署名许可协议(CC BY)、GNU通用公共许可证第3版(GPL version 3)、X、双条款BSD许可证(2 – Clause BSD License)、GNU宽通用公共许可证(LGPL)
GPL version 3
25、以下哪些许可证属于宽松许可,哪些属于Copyleft许可?简化BSD许可证、GPL 3.0版本、CC BY、CC BY – SA
- 简化BSD许可证:宽松许可
- GPL 3.0版本:Copyleft许可
- CC BY:宽松许可
- CC BY - SA:Copyleft许可
26、如果你想实现以下哪种情况,应该在浏览器中使用“隐私窗口”:在互联网上完全匿名浏览;在你使用的计算机上不留下任何痕迹;激活TLS以避免cookie跟踪;使用“请勿跟踪”(DNT)功能;在数据传输过程中使用加密技术
在你使用的计算机上不留下任何痕迹
27、什么是OpenStack?是一个允许创建私有基础设施即服务(IaaS)的项目;一个允许创建私有平台即服务(PaaS)的项目;一个允许创建私有软件即服务(SaaS)的项目;一个虚拟机管理程序;一个开源密码管理器
一个允许创建私有基础设施即服务(IaaS)的项目
28、以下哪些选项是有效的磁盘加密软件?RevealJS、EncFS 和 dm – crypt;dm – crypt 和 KeePass;EncFS 和 Bitwarden;EncFS 和 dm – crypt;TLS 和 dm – crypt
EncFS 和 dm – crypt
29、Beamer是以下哪一项:一种加密机制;一个管理程序;一款虚拟化软件;一个OpenStack组件;一个LaTeX演示工具
一个LaTeX演示工具
30、大多数发行版默认安装了Firefox(如果你的发行版没有安装,你必须先安装它)。请说明如何安装名为Lightbeam的Firefox扩展,以及安装完成后要进行什么操作?
大多数发行版默认预装了Firefox(若未预装则需先安装)。要安装名为Lightbeam的Firefox扩展,可按 `Ctrl + Shift + A`,在打开的标签页搜索框中搜“Lightbeam”,或者用Firefox访问扩展页面([https://addons.mozilla.org/en-GB/firefox/addon/lightbeam-3-0/](https://addons.mozilla.org/en-GB/firefox/addon/lightbeam-3-0/))并点击“安装”按钮。
安装后,点击其图标启动扩展,再到其他标签页访问网页查看效果。
31、使用密码管理器时最重要的事情是什么?
为每个不同的服务创建随机密码,因为使用密码管理器存储重复或易猜的密码是没有价值的。
32、使用你的网络浏览器访问https://haveibeenpwned.com/。了解该网站的用途,并检查你的电子邮件地址是否包含在某些数据泄露事件中。
该网站维护了一个受密码泄露影响的登录信息数据库,允许用户搜索电子邮件地址,显示该地址是否包含在被盗凭证的公共数据库中。
若你的邮箱地址受影响,要确保近期更新了密码;
若未使用密码管理器,可查看本课程推荐的管理器。
33、如何在Firefox浏览器中安装并启动名为Lightbeam的扩展程序,安装后要进行什么操作?
大多数发行版默认会安装 Firefox(若未安装则需先安装)。
要安装名为 Lightbeam 的 Firefox 扩展,可按
,在打开标签页的搜索框中搜“Lightbeam”,或用 Firefox 访问扩展页面:
Ctrl + Shift + A
https://addons.mozilla.org/en-GB/firefox/addon/lightbeam-3-0/
点击“安装”按钮。
安装后,点击其图标启动扩展,在其他标签页访问网页查看效果。
34、什么是OpenStack?一个允许创建私有基础设施即服务(IaaS)的项目;一个允许创建平台即服务(PaaS)的项目;一个允许创建软件即服务(SaaS)的项目;一个虚拟机管理程序;一个开源密码管理器
一个允许创建私有基础设施即服务(IaaS)的项目
35、如何在 Firefox 浏览器中安装并启动 Lightbeam 扩展,然后测试其效果?
大多数发行版默认预装了火狐浏览器(若你的没有,需先安装)。
我们要安装一个名为 Lightbeam 的火狐浏览器扩展。你可以通过以下两种方式之一进行安装:
按下快捷键
,在打开的标签页中的搜索框中搜索 “Lightbeam”,然后进行安装。
Ctrl + Shift + A
或者,使用 Firefox 访问扩展页面:
https://addons.mozilla.org/en-US/firefox/addon/lightbeam
点击 “安装” 按钮进行安装。
安装完成后,点击浏览器工具栏上的 Lightbeam 扩展图标 启动它。然后在其他标签页访问一些网页,观察 Lightbeam 会显示什么内容。
36、安装一个名为Lightbeam的Firefox扩展。你可以通过按下Ctrl + Shift + A,在打开的标签页上显示的搜索字段中搜索“Lightbeam”来完成,或者使用Firefox访问扩展页面并点击“安装”按钮:https://addons.mozilla.org/en – US/firefox/addon/lightbeam。完成此操作后,点击其图标启动扩展,然后在其他标签页上访问一些网页,看看会发生什么。
安装 Lightbeam 扩展的方法
安装名为 Lightbeam 的 Firefox 扩展可通过以下两种方式:
通过快捷键安装
按下快捷键
,在打开的标签页中的搜索框内输入 “Lightbeam”。
Ctrl + Shift + A
通过链接安装
使用 Firefox 访问以下网址:
https://addons.mozilla.org/en-US/firefox/addon/lightbeam
然后点击 “安装” 按钮。
启动与使用
安装完成后:
点击浏览器工具栏中的 Lightbeam 图标 ,启动该扩展。 随后,前往其他标签页访问网页即可查看效果。
37、将以下命令行拆分为命令、选项/参数和参数部分:示例:cat -n /etc/passwd 命令:cat 选项:-n 参数:/etc/passwd ◦ls -l /etc 命令: 选项: 参数: ◦ls -l -a 命令: 选项: 参数: ◦cd /home/user 命令: 选项: 参数:
命令:
ls -l /etc
选项:
ls
-l
参数:
/etc
ls -l -a
命令:
选项:
ls
-l -a
参数:无
cd /home/user
命令:
选项:无 参数:
cd
/home/user
38、找出以下命令的类型:cd、cat、exit ,示例:pwd 是内置 shell 命令;mv 是外部命令。
cd:内置 shell 命令;cat:外部命令;exit:内置 shell 命令
39、解析以下使用引号的命令:示例:echo “$HOME is my home directory” 输出 /home/user is my home directory;touch “$USER”;touch ‘touch’
:创建一个以当前用户名为文件名的文件;
touch "$USER"
:创建一个名为
touch 'touch'
的文件
touch
40、使用Bash中的花括号扩展,通过一条命令创建5个以“game”为前缀、编号从1到5的文件(即game1、game2等)。
可使用如下命令:$ touch game{1..5}
41、使用一个命令并借助不同的特殊字符,删除刚刚创建的所有文件名以game开头且文件名长度为5个字符(前四个字符为game,最后一个字符为任意单个字符)的5个文件。
由于所有文件都以
开头,且最后一个字符是单个字符,可以使用
game
作为文件名中最后一个字符的特殊字符:
?
$ rm game?
42、是否有其他方法让两个命令相互交互?有哪些方法?
有,例如一个命令可以将数据写入文件,然后由另一个命令处理该文件。Linux 还可以收集一个命令的输出,并将其用作另一个命令的输入,这称为管道,未来课程会详细介绍。
43、将以下命令拆分为命令、选项/参数和参数三个部分:ls -l /etc;ls -l -a;cd /home/user
- `ls -l /etc`
- 命令:`ls`
- 选项:`-l`
- 参数:`/etc`
- `ls -l -a`
- 命令:`ls`
- 选项:`-l -a`
- 参数:无
- `cd /home/user`
- 命令:`cd`
- 选项:无
- 参数:`/home/user`
44、找出以下命令的类型:cd、cat、exit
cd:Shell内置命令;cat:外部命令;exit:Shell内置命令
45、解析以下使用引号的命令:touch “$USER” touch ‘touch’
:创建一个以当前用户名为名称的文件,如用户名为
touch "$USER"
,则创建名为
tom
的文件;
tom
:创建一个名为
touch 'touch'
的文件。
touch
46、创建一个局部变量 number。
$number = 5
47、使用合适方法创建一个环境变量 ORDER
$ export ORDER=desc
48、显示变量名及其内容。
在 Bash 中,可以使用
命令结合变量名前加
echo
符号来显示变量内容,使用
$
命令显示变量名和内容。
declare -p
例如,对于变量
、
username
、
x
、
y
,可以使用以下命令:
z
显示变量内容:
bash echo $username echo $x echo $y echo $z
若要同时显示变量名和内容,可使用:
bash declare -p username x y z
对于本地变量
和环境变量
number
:
ORDER
显示变量内容可使用:
bash echo $number echo $ORDER
显示变量名和内容可使用:
bash declare -p number export -p | grep ORDER
49、之前创建的变量的作用域是什么?
本地变量
的作用域仅为当前 shell。 环境变量
number
的作用域是当前 shell 及其生成的所有子 shell。
ORDER
50、创建一个环境变量 ME,并将 USER 变量的值赋给它。
可以使用以下命令来创建环境变量
并将
ME
变量的值赋给它:
USER
export ME=$USER
51、创建一个名为 today 的变量,并为其赋值某个时区的日期。
以下使用 GMT 和 EST 时区作为示例,但选择任何时区都是有效的。
$ today=$(TZ=GMT date)
$ echo $today
Thu 31 Jan 15:07:35 GMT 2019
或
$ today=$(TZ=EST date)
$ echo $today
Thu 31 Jan 10:07:35 EST 2019
52、创建另一个名为 today1 的变量,并将系统日期赋值给它。
可以使用以下命令:
$ today1=$(date)
若要查看该变量的值,可使用命令:
$ echo $today1
53、创建一个环境变量 ME,并赋予其 USER 变量的值。
可以使用以下命令来完成该操作:
export ME=$USER
54、使用冒号分隔符,将
HOME
变量的值追加到
ME
变量后面,然后显示
ME
变量的内容。
HOME
ME
ME
可以使用以下命令完成操作:“`bash
ME=$ME:$HOME
echo $ME
##55、使用man命令查询以下每个命令的作用:ls、cat、cut、cd、cp、mv、mkdir、touch、wc、passwd、rm、rmdir、more、less、whereis、head、tail、sort、tr、chmod、grep
# 常用命令列表
- **ls**:显示目录内容
- **cat**:连接或查看文本文件
- **cut**:从文本文件中删除部分内容
- **cd**:切换到不同的目录
- **cp**:复制文件
- **mv**:移动文件(也可用于重命名)
- **mkdir**:创建新目录
- **touch**:创建文件或修改现有文件的最后修改时间和日期
- **wc**:统计文件的单词、行数或字节数
- **passwd**:更改用户密码
- **rm**:删除文件
- **rmdir**:删除目录
- **more**:一次一屏地查看文本文件
- **less**:查看文本文件,允许逐行或逐页上下滚动
- **whereis**:显示指定程序的文件路径和相关手册文件
- **head**:显示文件的前几行
- **tail**:显示文件的最后几行
- **sort**:对文件进行数字或字母排序
- **tr**:转换或删除文件中的字符
- **chmod**:更改文件的权限
- **grep**:在文件中进行搜索
##56、打开ls信息页面并识别菜单。你有哪些选项?找出允许按修改时间对输出进行排序的选项。
## 选项说明
- 列出哪些文件
- 列出哪些信息
- 对输出进行排序
- 版本排序的详细信息
- 常规输出格式
- 格式化文件时间戳
- 格式化文件名
### 按修改时间排序的选项
-t 或 –sort=time
##57、显示前3个README文件的路径。使用man命令确定locate的正确选项。
使用命令 `$ locate -l 3 README`,路径为:
- `/etc/alternatives/README`
- `/etc/init.d/README`
- `/etc/rc0.d/README`
##58、在你的主目录下创建一个名为 test 的文件。使用 locate 命令查找它的绝对路径。
使用命令 `$ touch ~/test` 创建文件,再用 `$ locate test` 查找,结果可能为 `/home/user/test`。若无法立即找到,需执行 `$ sudo updatedb` 更新数据库。
##59、你是否立即找到了它?为了让locate找到它,你必须做什么?
不能立即找到。需要执行sudo updatedb命令,因为文件是新创建的,数据库中没有它的记录。
##60、使用find命令搜索之前创建的test文件。请写出使用的语法,并假设该文件在用户主目录下,给出其绝对路径。
语法示例:find ~ -name test ;绝对路径:/home/user/test
##61、有一个命令没有手册页。是哪一个,你认为该命令为什么没有手册页?
cd 命令。它没有手册页是因为它是一个内置的 shell 命令。
##62、在屏幕上显示当前工作目录,包括子文件夹。
可以使用 `pwd` 命令来显示当前工作目录的路径,使用 `ls -a` 命令列出当前目录下包括子文件夹在内的所有文件和目录。
##63、在目录树中搜索所有以数字结尾的文件。
可以使用 `find` 命令结合正则表达式来实现。例如,在当前目录及其子目录下搜索所有以数字结尾的文件,命令为:
```bash
find . -regextype posix-extended -regex '.*[0-9]$'
其中:
表示当前目录
.
指定正则表达式类型为扩展的 POSIX 正则表达式
-regextype posix-extended
表示匹配以任意字符开头,以数字结尾的文件名
-regex '.*[0-9]$'
64、使用单个命令删除整个目录树。
可以使用
命令来删除整个目录树,例如
rm -r
,此命令会删除指定目录及其包含的所有子目录和内容。
rm -r deleting
65、使用 man 命令查询以下命令的作用:ls、cat、cut、cd、cp、mv、mkdir、touch、wc、passwd、rm、rmdir、more、less、whereis、head、tail、sort、tr、chmod、grep
以下是调整为 Markdown 格式的内容:
- `ls`:显示目录内容
- `cat`:连接或查看文本文件
- `cut`:从文本文件中提取部分内容
- `cd`:切换到不同目录
- `cp`:复制文件
- `mv`:移动文件(也可用于重命名)
- `mkdir`:创建新目录
- `touch`:创建文件或修改现有文件的最后修改时间和日期
- `wc`:统计文件的单词、行数或字节数
- `passwd`:更改用户密码
- `rm`:删除文件
- `rmdir`:删除目录
- `more`:一次一屏查看文本文件
- `less`:查看文本文件,允许逐行或逐页上下滚动
- `whereis`:显示指定程序的文件路径和相关手册文件
- `head`:显示文件的前几行
- `tail`:显示文件的最后几行
- `sort`:对文件进行数字或字母排序
- `tr`:转换或删除文件中的字符
- `chmod`:更改文件权限
- `grep`:在文件中搜索指定模式的行
66、打开ls信息页面并识别菜单,有以下选项:列出了哪些文件;列出了哪些信息;对输出进行排序;版本排序的详细信息;常规输出格式;文件时间戳格式;文件名格式。找出允许按修改时间对输出进行排序的选项。
-t 或 –sort=time
67、判断以下每个路径是绝对路径还是相对路径:/home/user/Downloads、../Reports、/var、docs、/
下面是给定的【文本内容】:
- `/home/user/Downloads`:绝对路径
- `../Reports`:相对路径
- `/var`:绝对路径
- `docs`:相对路径
- `/`:绝对路径