看完了,搞定完操作系统实验,快跑!
注意:我不可能把在互联网上随便找到的教程再写一遍,我觉得很啰嗦,所以请各位多多使用互联网。
如果你是大佬,好好沉下心来帮帮小白,行吗。
目录
- 虚拟机的相关
- 镜像使用
- 好奇怪的桌面
- 文件相关
- 命令行的基本使(chao)用(xi)
- 如何把Linux引进家
- Linux系统安全教育
- 还有没说到的,上网查资料/优雅地问问题
- 为什么我不推荐大家使用Linux
虚拟机相关
相信各位是被老师的某些需求,才知道有个操作系统叫Linux,才想安装的吧。而各位肯定不想在自己唯一的实机上安装,估计你们都连系统都没装过,会碰到一堆问题:-P
所以虚拟机是一个更好的选择,它是模拟了一个类似于你电脑的环境。你在里面怎么折腾,只要不出格,基本上不会对你电脑里的其他东西有影响。
这里我不会教大家如何设置一个虚拟机,我给大家一些便于使用的指南。
增强功能
一般安装完系统,你需要在虚拟机里的系统安装虚拟机的增强功能。安装完增强功能有啥好处呢?
- 窗口缩放自动化,你没有必要盯着640x480的上古分辨率了。
- 相当于给虚拟机里的系统打上了驱动。最直观的,画面更流畅了。
- 虚拟机和宿主机可以共享一个剪切板,抄点命令代码更方便了。
- 虚拟机和宿主机可以互相分享文件了。
这里,给VirtualBox用户来个建议,一定要装VirtualBox软件的增强模块!上网找一下Oracle Extension Pack了解一下吧。
好了,如何安装捏?我知道网上可以找到一大堆的安装教程,但我突然间想多写一些,想让大家少走不必要的弯路。
虚拟机软件 | 虚拟机里的系统 | 安装方式 |
---|---|---|
VMWare Workstation | Windows | 从VM选项找到”安装VMWare Tools”选项,然后安装 |
Linux | 从你系统的软件库中安装open-vm-tools | |
Oracle VirtualBox | Windows | 下载VBoxGuestAddtions.iso,虚拟机挂载安装 |
Red Hat系Linux发行版 | 同Windows安装方式 | |
其他的Linux发行版 | 从你系统的软件库中安装virtualbox-guest-utils |
顺便你还可以知道虚拟镜像挂载的知识呢。
硬件虚拟化
虚拟化毕竟是模拟了一个电脑环境,这就好比某些双面人一样,心累啊。不过电脑没心没肺,没有道德真空,这不挺好的吗:-)
话说现在的CPU,都支持辅助虚拟化技术。这玩意简单来说,可以让虚拟机直接调用CPU的某些指令,让电脑更加轻松地进行虚拟化。要是没有这个,就真的只能靠软件模拟运行了,效率能把你逼疯。就像某些双面人一样,表面装好人,不过要没人陪衬,迟早装不下去的。
这个特性,Intel的叫VT-x,AMD的叫AMD-V。相信我,没有开这个玩意,大概率你的虚拟机会很卡,甚至有你的虚拟机可能都无法启动:-P
所以在这里,我要给大家的建议是:
- 查看自己的BIOS设置,看看有没有开虚拟化设置(记住这个单词:Virtualization)
- 看看你的虚拟机CPU设置,有没有开虚拟化设置(一般选项里都有VM-T/AMD-V字符串)
共享文件夹
实际上前面我提到的增强工具,有一个文件互相拖拽功能,不过个人认为,超级难用。一般来说,虚拟机需要访问宿主机文件的话,我更倾向于使用共享文件夹功能。这个功能本质上,就是把宿主机的一个文件夹通过某种虚拟机内部的网络共享方式,让虚拟机访问。
至于怎么用,给你们一些指南,具体怎么做,请询问可爱的互联网姐姐:-)
设置的时候,尽量勾选上自动挂载/开机挂载,这样能省下很多的事情。
还有一件事,读写权限也要搞明白,我前面说不出格就没事,是因为虚拟机和宿主机本来是隔离的,现在有了一个口子互相通信了,万一你在虚拟机搞了危险操作,极有可能你那些珍贵的东西就要遭殃了。(实际上共享剪贴板也有风险,但比这个小多了)
系统快照功能
我先给大家讲两个案例,一个是电脑行装系统,一个是Windows的系统还原。
电脑行装系统,喜欢用Ghost。他们提前预制出一个系统环境,然后用Ghost软件保存下来。组装完电脑后,他们把这个模板“扣进”新机器,系统就装完了。
Windows有个功能,叫系统还原。当你的电脑出现问题的时候,还原一下就好了。
系统快照在某种意义上,就是上面那俩的集合。它的功能,就是把虚拟机的状态(包括磁盘状态,硬盘状态)保存下来,类似于一个模板环境。然后你在虚拟机里面操作,发现系统坏了,直接拿之前的快照还原一下就行了。这比Windows的系统还原还好用呢,真的是一键还原。
具体怎么用,互联网姐姐比我更清楚呢,我给你们俩地图吧:
既然我们的目的是为了一个干净的环境,方便还原。我建议各位存两个快照:一个在系统安装完成之后,一个是在你干活之前。
对了,快照本身也是需要更新的。因为虚拟机里面的系统是需要更新的,所以干活之前的快照一定要更新。至于最干净的,系统完成之后的镜像,一般是为了在虚拟机彻底没法用的时候,搞的救命稻草。
还有一件事,快照回退的时候,在快照生成时间之后的所有东西,设置都将消失!所以你有啥必须要保存的东西,看看上面的共享文件夹功能。
镜像使用
相信大家遇到过这样的情况:
- 需要下载一个软件,兴致冲冲跑到官网下载,结果发现下载速度好慢啊:-(
- 你需要用pip搞点数学计算,结果下载的时间够你出门晒太阳了
- 你想去搞点其他的资料,然而就是上不去
没关系,各大高校和互联网公司已经帮你下好了,你从他们那里取就行了。
先告知你
- 清华大学镜像站:https://mirrors.tuna.tsinghua.edu.cn
- 中科大镜像站:https://mirrors.ustc.edu.cn
- 如果你是我校友的话(仅校内服务):https://linux.xidian.edu.cn/mirrors
镜像站一般会给你很多的帮助指南,一定要充分利用。镜像站的用途还是很多的,以下只是一些示例。
加速Linux系统更新
鉴于这是Linux指南,不提Linux有点不太合适。
Linux系统的优点之一,就是软件更新比Windows舒服。但默认更新一般是很慢的,因为要走国外的服务器。所以说,更改系统的软件源地址就很有必要了。
- Ubuntu简便方法:设置里面有个选项,叫”软件与更新”,从那里修改。
- Fedora/CentOS简便方法:一般需要看镜像源的文档,开命令行复制粘贴命令。
- Arch Linux/Manjaro:编辑/etc/pacman.d/mirrorlist文件。
- Debian/Ubuntu:编辑/etc/apt/sources.list文件。
- Red Hat系列:编辑/etc/yum.repos.d下面的一堆repo文件。本人超级不建议编辑,能烦死。
对了,既然说到了软件源,这里预告一下,第五章讲命令行的时候我会细说这个的。
加速github的clone
也不知为何,我们要从github下面拉下一个文件,总是好慢啊。幸亏现在有很多的镜像站来帮助我们快速下载。
这个我就直接扔俩地址,以及一个命令:
镜像1:https://hub.fastgit.xyz
镜像2:https://github.com.cnpmjs.org
命令:这个命令能让git访问github的时候,访问镜像。
git config --global url."镜像网址".insteadOf https://github.com
加速下载软件
现在要下载啥软件,都喜欢找最近的镜像地点,加速你的下载。可就怕这玩意不好使用,你别说,我下载Eclipse IDE的时候就遇到过。
当然,幸运的话,镜像源都会给你备份好了。自己探索吧,我觉得没必要多说了233
好奇怪的桌面
如果安装完了系统,进去发现系统有点不一样,但感觉上还能用,那你们真幸运:-)我六年前开始用Linux的时候,还不是这样呢。
但如果你发现,电脑操作不太一样了,或者说,你的Linux和他的不一样。那么,你就要先了解以下东西了。
桌面居然是一个独立的软件?
这点和Windows很不一样,Windows的图形化功能是集成到内核的,Linux不是这样。这也解释了为啥Windows图形化一崩溃就蓝屏了。
具体来说,Linux本身只是一个内核,在其上运行着很多程序,图形化界面(桌面环境)只是其中一个。
要细说的话,我们得扯一下历史了(欢迎大家进入工程概论睡觉模式):
上世纪七八十年代的电脑,都是需要用终端机来使用的。终端机连接到远端的主机,并进行操作。现在有些东西,还有这个的影子呢,比如你远程你买的云服务器。插一句,C语言的stdio头文件,全称叫标准输入输出(STanDard Input Output),也是对应了这个结构。输入在当时,就是终端机的键盘,输出在当时,就是终端机的屏幕。当然现在,分别对应的是你的键盘和屏幕了。
Linux的图形化程序叫Xorg,也是这样的结构。这里给张图片。
你看,是不是有点终端机和主机的感觉呢?前面三个负责处理一些内部事情,比如接受进程状态,检测输入之类。然后XORG服务器将绘制信号传给XORG客户端,然后经由窗口管理器之类的东西,把窗口送到你的屏幕上。他的过程比Windows那样的直接绘制要复杂一些,但是十分灵活。
在Linux中,有很多的桌面环境。建议大家看一下自己系统使用的桌面环境,以后出现问题的话,会很有用。下面介绍一些著名的桌面环境,以及我认为的特点:
名称 | 官网 | 优点 | 缺点 |
---|---|---|---|
KDE | kde.org | 围绕KDE开发的软件很多,界面比Windows 11还好看,配置方便 | 体积庞大 |
Deepin | deepin.org | 界面华丽,使用简单,开发单位有国家赞助 | 3d加速之类的东西不太适合虚拟机使用 |
GNOME | gnome.org | 个性化能力强,围绕其生态的软件多 | 默认界面使用十分反人类,用起来十分不稳定 |
MATE | mate.org | 界面直观,软件丰富,基于GNOME还没反人类时期的代码 | 可能界面有点老土,默认上下都有任务栏 |
XFCE | xfce.org | 省资源,但是软件绝对够用,小耗子很可爱 | 界面十分老土,个人认为得自己配置一下 |
LXDE | lxde.org | 十分省资源 | 配置起来相当麻烦,软件之类得自己找 |
当然,听我的一家之词,肯定是不够的。建议各位上网找一下相关图片,了解一下。
我的中文输入法呢?
相信有人装完系统,发现你的系统没有中文输入法,中文输入不了。
Linux的输入法跟Windows是有区别的,Linux上的输入法是一个框架,在框架中,具体的输入法才能运行。Linux上面有两个框架,一个叫Fcitx,一个叫ibus。接下来,我会给大家一些关于输入法的提示。
首先是fcitx(小企鹅输入法)。这个输入法的用途还是很广泛的,而且插件功能强大。我用的最多,也最想给大家推荐。具体安装我这里不会细说,给点提示吧:
- 一般来说,你需要安装一些针对QT和GTK的相容性插件。如果你发现输入不了的话,可能这是你问题的一个切入点。
- 目前Fcitx分为两个版本,一个是第四版,一个是第五版。现在推荐大家使用第五版,功能更多,开发更活跃。
- 关于默认的拼音输入法,有两个插件一定要激活:一个是云拼音插件,一个是词库插件。云拼音插件可以从百度的服务器上面得到你输入拼音的预测,词库插件可以获取搜狗拼音的词库。
然后是ibus。这个是GNOME的默认输入框架,所以用GNOME的同志们,不要再装fcitx了。这个输入法我用的不多,所以这里谈的不多,请进入设置里的相关选项进行设置。
不过我必须插一句,不要使用默认的拼音输入法实现!去你的软件源找有没有ibus-libpinyin或者ibus-sunpinyin,这俩更好用。
Linux上面有Dev-C++吗?
没有,Dev-C++是纯Windows程序。但是Linux上面有更好用的。
- 小熊猫Dev-C++,QT版的Dev-C++,该怎么用不用我多说了吧。(这不是原版Dev-C++,不保证你的软件仓库有)
- Geany,用起来和Dev-C++差不多,构建单个文件的时候很舒服的。
- CodeBlock,我们CPP语言老师用的是这个IDE。
- Kate,KDE桌面环境默认编辑器,个人习惯使用这个编辑配置文件。OI-Wiki有个指南,可以看看。(这个软件有Windows版)
- Gedit,Gnome桌面环境的默认编辑器。稍微配置一下,就能一键编译了。CSDN上面一堆教程呢。
- VSCode,大名鼎鼎,无需多言。而且在Linux上配置更方便了呢。
插一句啊,在Linux编程前,一定要看看你的系统有没有编译器!你安装gcc或者clang了吗?
文件相关
粗略略用起来,好像没啥奇怪的。但当你想找C盘D盘的时候,诶,跑哪里去了?
你发现文件路径中,’/‘用的好多啊,而且有好多三个字母的目录,有点高大上。
你还发现文件属性里面没有"隐藏"了,这又是搞哪门子?
没有明显的分区概念
知道各位脑子里充满了C盘,D盘之类的。他们泾渭分明,基本上要没啥事的话,真的是鸡犬相闻,老死不相往来。但如果我告诉你,分区之间可以关系紧密,甚至成为了一棵树呢?
来看看这张图吧,这就是我电脑Linux的分区结构了。
你看到了吗,任何文件都是衍生自一棵树,他的名字叫做根,他的目的也是为了耕种这些文件。这些文件在这个根的勤劳耕种下,努力地繁育系统这个大家庭……(看不懂的去看《十日谈》或者去听Genesis的Cinema Show)
为什么说Linux的分区不明显呢?分区是硬件上的概念,客观存在的。但是Linux中,分区之间的关系是非常紧密的。即使/usr目录在一个分区,/boot在另一个分区,/单独一个分区,但只要有/维系这棵树,他们之间的互相访问,就好像在一个分区一样,这样,分区的概念就不明显了。
有心人注意到了,我写了一个"在内存中的文件"。这个是Linux内核把系统和硬件的信息,通过文件的形式给大家呈现了出来。这个方面,建议大家了解一下Linux/Unix下硬件映射为文件,“一切皆文件”的思想。
对于mac用户,你们可以打开终端,看看你们的根目录。
隐藏文件和配置文件
在Linux中,隐藏文件的标志和Windows的不一样。只要你在文件名前面搞个.
就行了,就这样。
那么,什么情况下我们会看到隐藏文件呢?来看看我的电脑吧。
好吧,你看到了很多的隐藏文件。这里面我先告诉你,大多数是配置文件。为啥要告诉你呢?要不然没法往下写了(尴尬)
Linux软件的配置文件,大多集中地放在以下目录中:
- /etc 这个是系统级别的软件配置文件所在
- $HOME/.config 这个是在你的家目录(/home/你的用户名)里面的软件配置文件所在
- $HOME/.vkquake 这个是在家目录里,雷神之锤游戏的配置文件和数据包相关(有其他程序是话,请类比)
配置文件有啥可说的呢?Linux大多数应用都是依靠配置文件,而不是图形化配置工具,来修改设定的。而且,一般通过配置文件,你可以对这个软件的使用有初步的印象,因为很多的配置文件都写满了注释。实际上,前面我们修改软件源的时候,我们就已经修改系统的配置文件了。
命令行的基本使(chao)用(xi)
在Linux,你要想玩的high,就得接触命令行。对于某些在Windows经常搞cmd的人,估计会更熟悉些吧。
但如果你不熟悉命令行,相信你的外语和程序上机都好好学了吧,这也不是难事。
而且大家不是更喜欢CyberPorn吗2333
程序设计课复习:程序与参数
各位应该在C语言程序设计中,学到了如何通过命令行输入参数,而不是先把程序执行了,再输入数据。你们当时肯定输入的是这个:
int main(int argc, char* argv[])
其中第一个参数argc(argument count),是你输入的参数数量。第二个参数argv(argument vector),存放的是你输入的参数字符串。举个例子,前面我们提到要搞软件包管理。在Ubuntu下,你搜索软件包(举个例子,gcc编译器)的时候,你输入的是:
apt search gcc
这样,你输入了三个参数,一个是apt,一个是search,一个是gcc。这样的话,argc的数值是3,而argv里面存储的,则是那三个参数的字符串了。这里我建议各位自己编写一个和下面程序类似的程序。看看输出结果。
#include<stdio.h>
int main(int argc, char* argv[]){
for (int i = 0; i < argc; ++i){
printf("%s\n",argv[i]);
}
return 0;
}
命令行程序举例:一句话编译C语言单文件
各位目前编程,除了某些大佬之外,肯定是依靠Dev-Cpp之类的程序来编译运行吧。这里我想给大家把那些程序的外表给去掉,给大家看看如何编译一个程序吧。
像Dev-Cpp那样的,可以编辑代码并编译执行的程序,叫做集成开发环境(IDE)。IDE要想编译程序,需要编译器,这个配置过vscode的人会更清楚。接下来,我们只依靠编译器,编译上面的示例程序。
这里我使用gcc编译器。咱先把上面的示例程序写下来,保存成’argc.c’文件。然后在保存这个文件的目录下,打开终端,通过以下命令编译运行。
gcc argc.c -o argc && ./argc Unforeseen Consequence
如果执行没有问题的话,程序将会输出
./argc
Unforeseen
Consequence
好的,程序运行成功了,执行符合预期。这个命令我也该跟大家解释一下了:
gcc
是编译器程序的名称,后面跟参数–help
可以查看其使用指南argc.c
是需要编译的源代码文件,是gcc程序的参数-o
是gcc的参数,表示要将编译后的结果输出到哪个文件中,后面的argc是-o的参数&&
是bash命令解释器的一个特殊符号,表示在前面的命令完成后,执行后面的命令./argc
是即将执行的程序名称,./
表示我们需要在当前目录下寻找该程序- 后面的两个单词是argc程序的参数,也是G-Man对万斯父女说过的话
如果大家一时看不明白,很正常。我这里只是想通过这种方式,让大家对命令行程序有一个了解。
如果想更多了解的话,建议大家了解一下bash的基本用法。最后给大家一道思考题:系统是怎样找到程序的位置呢?
软件包管理
前面我说镜像的时候,我说我会在这里细讲的。个人认为,这个是使用频率最高的命令行程序了。
在Windows下,各位要用软件的时候,都会找渠道下载安装程序,然后安装吧。这种方式个人认为,十分麻烦,而且不安全。麻烦在于,你得满世界去找安装程序,有些小众程序还得去各种犄角旮旯网站去找。不安全在于,有些渠道很黑心,一不小心就给你来个2345流氓大礼包。要是下到了病毒,那就更好玩了:-P
而Linux系统,普遍都有配套的软件库,可以很方便地给你们提供很多的软件。基本上咱们编程需要的东西,都给你准备好了。当然,要是这个程序找不到的话,如果那个软件给Linux适配的话,那就把上面的步骤走一遍吧:-(
接下来,我给大家准备了一些命令,免得大家上网找了。
系统类型 | 安装程序 | 卸载程序 | 更新程序 | 更新系统 | 搜索程序 | 图形化工具 |
---|---|---|---|---|---|---|
Debian/Ubuntu | apt-get install | apt-get remove | apt update && apt upgrade | apt update && apt dist-upgrade | apt-cache search | synaptic |
Fedora/CentOS | dnf install | dnf remove | dnf update | dnf distro-sync | dnf search | - |
OpenSUSE | zypper in | zypper rm | zypper up | zypper dup | zypper se | YaST软件包管理工具 |
Arch Linux/Manjaro | pacman -S | pacman -R | pacman -Syu | pacman -Syu | pacman -Ss | pamac/octopi |
对了,用GNOME环境的同志们,你们的电脑上面应该有个"软件"应用,那个玩意也挺方便的。KDE下面有个Apper,也还行。
还有一件事,软件库是可以扩展的,比如Fedora的RPMFusion,Archlinux的AUR,需要的话,可以上网了解一下。
如何把 Linux 引进家
这块我简要说一下如何把 Linux 引进家,也就是你电脑是如何引导 Linux 的。
有些名词我不会过多解释,有需要请上网搜索。有错误请指正。
MBR / UEFI
电脑开机之后,首先加载 CMOS 里面的程序,用来初始化电脑的硬件。顺便说一句,BIOS 是存在 CMOS 里面,用来修改 CMOS 的内容的程序。多看看老莱就知道了。
初始化硬件后,电脑需要寻找硬盘上的操作系统,然后把控制权交出去,因为他除了初始化硬件,连和我贴贴都不会。而这就引申出来标题那俩东西了。
对于各位普遍安装的虚拟机,以及老电脑来说,MBR 引导方式是十分普遍的。MBR 是电脑的前 512 字节,存着操作系统引导器的信息。电脑读这几个字节的信息,然后就交权了。UEFI 稍微复杂一些,他能读取一个叫 EFI 分区的玩意,看看里面有啥可引导信息,然后引导系统。
系统初始化程序
现在我们需要加载内核到内存,内核文件是压缩过的,名字中一般有个 vmlinuz
。解压完内核,内核会:
- 检测系统硬件
- 挂载根设备
- 加载必要的内核模块(其中包括很多驱动之类)
这里说一句,在没有挂载电脑硬盘根目录前,内核所有操作都在 initrd
的虚拟树根中进行。
然后就完了……吧?
当然不是,系统只有内核是绝对不够的。他不知道键盘鼠标在哪里,不知道如何走网卡上网,不知道如何…… 你就当他啥也不会就行了。这时我们需要个人来带领他复习这些东西。这个程序,叫系统初始化+管理工具,目前流行的是 systemd。他能初始化系统,运行必要的系统服务之类的(其中包括我们最喜欢的图形化程序)。一般来说,这玩意搞完了,系统基本就能用了。
Linux系统安全教育
在阅读这一章之前,先把超人的座右铭读一下:能力越大,责任越大。
Linux给你的权限是相当大的,鉴于很多人在Windows下,不一定能对系统权限有很深的认识,我不太想让大家因为网上的某些垃圾命令/恶意软件而搞得心情不愉快。所以这里,我简单说几句句。
sudo和最高权限用户
各位在互联网上寻找到的命令,有一些前面带着sudo
,或是#
字符。这都意味着,这个命令需要使用最高用户权限(Linux叫root账户)来执行。
在Windows下,有管理员账户(Administrator)。相信大家感受不深,因为各位的电脑默认都是这个账户。当你需要安装应用程序的时候,有个窗口弹出来,让你同意运行。这个情况下,系统就需要让你动用管理员用户权限了,因为你要更改系统设置,修改系统文件啊。Linux也是这样,当你需要安装软件的时候,你需要提权了。
Linux的最高权限用户和Windows的管理员有很大不同。Windows的管理员权限在某种意义上,算是一种丞相的位置,虽然权力相当大了,但上面还有个SYSTEM账户,掌管所有权力。Linux的最高权限用户可谓是一人之下,万人之上了。你可以访问所有文件,修改所有设定,甚至一句话就可以自杀:-P
这就要引出下一个话题了……
Linux也有病毒
很多人说,Linux相较于Windows更安全,而且没有病毒。这个话是不完全正确的。
先说错误的部分:
- Linux内核和上面的软件,和Windows一样,会有漏洞。虽然修复十分频繁,但毕竟洞在那里,很多人都会来插的。
- 由于Windows在普通人中间的使用量相当大,攻击者会花很多心思寻找Windows的漏洞,然后编写病毒攻击。Linux和Mac方面的病毒相比,就少了很多。
- Android系统基于Linux开发,然而为啥天天有人随便下载东西,然后手机被锁住了呢?
好吧,看上去,也不是那么美好啊。那么,正确的部分又在那里呢?
在Linux下,调用最高管理权限的门槛很高。多数情况下,你在Windows中,默认就是管理员账户,UAC(提权时候的提醒)也近乎于摆设。而Linux的话,用户账户默认是没有最高权限访问权的。而当你提权的时候,往往需要把你加入提权组(一般叫wheel),执行前输入密码。要是不提权的话,你只能操作你家目录里面的东西。而最高权限用户,默认是禁用的,只有当你给其设置密码的时候,才能使用。这种近似于一刀切的管理方式保证了Linux的安全。但如果你们提权了,稀里糊涂地从网上随便贴个危险命令,那就出大事了,比如说:
sudo rm -rf /*
臭名昭著的自杀命令:(){:|:&};:
可理解为不停调用自己,把电脑卡死whatever-command > /dev/sdaX
直接用该命令的输出覆写到磁盘上,你的硬盘毁了
对于Linux而言,不要执行来路不明的程序,也是适用的。
以上说到的,都算是Linux的“病毒”了。希望大家使用的时候一定要小心。
还有没说到的,上网查资料/优雅地问问题
我前面说过,这里给的东西,都是一些抛砖引玉的东西。如果没有你需要的,首先,我深感歉意:-(
去互联网看看,或者找其他大佬吧,他们一定比我博学多了,不过普遍喜欢使用狗头:-P
(我看到有人经常发狗头的时候,会过敏,我不知道他是不是在嘲讽我)
提高英语水平
这很关键!因为系统输出的东西都是英文的,而且你目前接触到的所有互联网资源,尤其是跟Linux相关的资源,都是英语的。实在看不懂,多用谷歌翻译吧。
查看报错输出
报错输出是查错的时候,非常有用的资源。通过阅读它,你能很快明白问题的根源,并进行针对性的上网,搜索解决方案。这里给个例子。
看到那行E了吗,那个就是报错输出。他报错说,仓库没有找到Release文件。
这样,会修的就知道怎么修了,不会修发给别人,他也能快速帮助你。他的问题是没有完整添加软件源,导致系统不知道跑哪里下载软件安装包。
怎么提供信息
有些时候,上网搜也搜不到解决方案,这时我们就需要求助于人了。对于初学者来说,这很正常。
为了节省双方的时间,请各位在上网实在找不到解决方案的时候,再去求助他人。在询问问题的时候,请尽量提供详细的信息。
比如,你的输入法没有拼音输入,你应该提供你系统的截图和设置选项。这比直接问“我的输入法没法输入中文”好多了。
不要过于依赖别人!
我知道对于初学者而言,有些问题搞不明白,得经常求助别人。这个很正常,我也是这么过来的。但是,解决问题后,你应该从中学到一些东西。如果你一直停留在出现问题-询问问题-解决问题的惯性中,你很难学的好。所以,不要过分依赖他人!要学会自己解决问题,逐渐学到更多。而且,人都是有七情六欲的,你一直问,会把人问烦的。
为什么我不推荐大家使用Linux当作日常系统
嘿嘿嘿,看完了是不是很迷糊,那就快跑!
记住这些,一定要让那些冲动的人们不要踏进来!
专业软件太少
举两个例子:我高二的时候,有一会需要剪视频,使用Openshot,结果用起来没有Premiere方便不说,还经常崩溃,我被迫装回Windows,使用Premiere。然后是我刚买来新手机的时候,我刷机失败,需要救砖。但是救砖软件是Windows独占,在我用虚拟机救砖失败后,我被迫装回Windows来救砖。
所以说,如果你有十分专业的需求,比如剪视频、重度办公、机床控制、3D游戏之类的话,Linux并不适合你。
社区风气极差
我最后为啥要给各位介绍如何优雅问问题/上网搜资料呢?因为Linux社区对小白很不友好。这里直接贴上《提问的智慧》的最后一段:
如何更好地回答
态度和善一点。问题带来的压力常使人显得无礼或愚蠢,其实并不是这样。
对初犯者私下回复。 对那些坦诚犯错之人没有必要当众羞辱,一个真正的新手也许连怎么搜索或在哪找 FAQ 都不知道。
如果你不确定,一定要说出来! 一个听起来权威的错误回复比没有还要糟,别因为听起来象个专家好玩就给别人乱指路。要谦虚和诚实,给提问者与同行都树个好榜样。
如果帮不了忙,别妨碍。 不要在具体步骤上开玩笑,那样也许会毁了用户的安装──有些可怜的呆瓜会把它当成真的指令。
探索性的反问以引出更多的细节。 如果你做得好,提问者可以学到点东西──你也可以。试试将很差的问题转变成好问题,别忘了我们都曾是新手。
尽管对那些懒虫报怨一声“读读该死的手册”(RTFM)是正当的,指出文档的位置(即使只是建议做个谷歌关键词搜索)会更好。
如果你决意回答,给出好的答案。 当别人正在用错误的工具或方法时别建议笨拙的权宜之计,应推荐更好的工具,重新组织问题。
帮助你的社区从中学习。当回复一个好问题时,问问自己 “如何修改相关文件或 FAQ 文档以免再次解答同样的问题?”,接着再向文档维护者发一份补丁。
如果你是在研究一番后才做出的回答,展现你的技巧而不是直接端出结果。毕竟“授人以鱼,不如授人以渔”。
在我们的社区,这样的人很少,而且我去Bilibili上面看了,很多都是炫技/营销号:-P
希望大佬们好好看看这里吧。
这是幽幽子使用的系统
这个无需多言,我们凡人使用了她用过的系统,岂不是要折寿?
摘自zh.moegirl.org:
幽幽子平时使用Debian GNU/Linux,因为天冠上的标志与Debian GNU/Linux极为类似。
以此类推,灵梦用的是Ubuntu,魔理沙使用的就是Arch Linux了吧233
推荐读物
提问的智慧
由书名号同志编写的资源搜索指南
Arch Linux Wiki
鸟哥的私房菜
结尾
感谢大家阅读,希望这个文章能帮助大家适应Linux。我提到的很多东西,在Windows下也适用呢。