新手对ubuntu应该这么学
ubuntu是从windows下转入linux最好的版本之一,desktop版本几乎满足了大部分的windows需求,转入ubuntu后有些不知所错,遇到问题,只能重装系统,等等。。。
这篇文章从新手的角度,说明了如何学习使用ubuntu,从系统安装,到输入法,到文本输入,到系统操作,到工作使用和内核探索,帮助初学者对ubuntu建立一个完整的学习思路和方法。因为只要你知道要这么做,就可以百度要怎么做!
目录
5. talk is cheap, show me code!
<原创内容:转载请表明出处!>
1.系统安装
ubuntu的系统安装有茫茫多的教程,使用教程的时候要特别关注自己所使用的版本与教程是否对应,自己的机器的构架和教程是否对应,比如是虚拟机还是实体机(首次安装建议是虚拟机尝试)。在实际操作的时候和教程不完全一样的时候也不要着急,根据提示自己先做选择,然后往下在看看是否又相似了,等等,系统安装问题一般百度系统提示都能有解决办法,如果实在没有,可以考虑换一个镜像,在重新安装试一试。系统安装时的用户名十分重要,请千万要取一个自己喜欢又不太长的名字,否则后期改动起来十分麻烦。不要取的太长,是因为命令行中名字作为前缀会霸占很多位置,让你不爽。
系统安装实际上关键是系统盘的制作与U盘启动,会了这两个你基本上就知道怎么安装系统了,像老毛桃这种无脑一键制作的教程比比皆是,我是强烈不建议使用这种方式的,因为它可能会植入你并不想要的广告或者安装你很讨厌的流氓软件。建议使用软碟通等干净的制作方式,其实当年我探索的时候发现一款 微PE 是没有广告的,不知道现在是否还活着。
等你在虚拟机上尝试过几次了后,就可以尝试使用实体机了,实体机安装最重要的是分区,合理的分区可以避免不必要的麻烦,比如备份,比如一旦系统被你搞挂了,数据恢复等。实际上只要是阅读没有障碍的你,按照提示都能完成系统安装,合理的分区是必须要养成的好习惯。
所以系统安装你只需要注意:
- 版本是否与教程一致
- 虚拟机还是实体机
- 注意取个自己喜欢的名字
- 分区
2.系统环境
安装ubuntu有很多种目的,有的只是认识ubuntu,有的要用ubuntu工作。但是不管你用它干什么你首先要认识你所使用的环境。ubuntu是一个linux系统,如果你linux基本命令都不清楚,那也没关系,命令这些事情,用着用着就熟悉了。遇到问题不用慌,不要着急重装系统,linux 之所以受人喜爱,就是几乎所有的东西都交待的明明白白,也就是说,当你懂它了,所有问题都能得到解决。当然,作为初学着,这很难,但是可以试试,不是吗?
2.1 浏览器与输入法
如果你英文很好,那输入法和你没什么关系,我们可以全程英文。
否则,打开系统你最熟悉的大概就是火狐浏览器了,你使用的时候发现莫名的亲昵,终于是和windows一样了,你输入熟悉的www.baidu.com,弹出百度的网页,想搜索“ubuntu教程”之类的,发现无法输入中文,那么输入法在ubuntu的安装有很多很多的教程,我这里不介绍具体的某一种输入法。值得注意的是,现在输入法中总共有两种架构:ibus和fcitx,在最右上脚电源里的系统设置,语言设置,键盘输入方式系统可以看到这两种输入方式(默认的一般为ibus,fcitx需要安装)。如果你是英文版对应就好了。很多人都选择搜狗输入法,百度sougou for linux可以很简单的下载到输入法,deb的,firefox默认下载到主目录里的Downloade目录,点击会使用软件安装自动安装。安装完以后,你可以选择fcitx,但是并不能直接使用,需要重新启动。有的重新启动也还没用,需要将输入法添加到当下使用的输入法中。
经过千辛万苦终于安装好,当你打开一些应用,比如说nixnote笔记软件的时候,你会发现竟然由不能输入了,百度后你会发现,需要安装fcitx-frontend-qt5这么一个插件来完成qt下软件的输入。
所以说,每一个输入法和框架对应,要想使用输入法,必须使用相应的框架,框架只是框架,要在框架的基础上加入相应的输入法,使得他成为你当前使用的输入法。输入法安装和输入法使用是两回事,输入法在特定软件下,需要对应的支持,如果是qt下的软件,必须使用对应框架下的相应的输入支持。才能使得它正常运行。
浏览器里面默认的是火狐,火狐的强大,关键是它的扩展和插件,如果你不想取折腾浏览器的这些东西,火狐的强大你是无法感触到的,所以说你觉得它不好,是因为你不懂。但是不懂并不影响你使用,火狐为了版权等问题,预装的插件并不完美,比如网页版的QQ音乐默认并不支持。为了解决这个问题,初学者不建议去折腾火狐,专门相关除外。目前预装使用良好的是谷歌浏览器。谷歌浏览器的下载源对速度至关重要(万恶的墙),如果你下载慢,则换一个下载点,注意版本适应新,这里指的是32和64(x86指的是32).
2.2 文本编辑
既然使用 linux,在文本编辑上,你必须学会vim,没有第二种选择!没有第二种选择!没有第二种选择!不得不承认,vim对新手玩家是极其不友好的,哪怕是用来好多年的我,对于一些命令也是要百度的,所以 在初期,你可以通过gedit等软件过度,但是请千万不要放弃。除非你们必须要在linux环境下使用office 软件或者pdf软件,否则能使用vim,尽量使用vim,因为他将带给你一个完美的远程体验。
实际上,我们大多数使用linux,并不会直接使用linux电脑本身,而是通过其它电脑通过ssh工具(比如xshell,puty等)连接进你linux系统 ,这就导致大多数情况你面对的是命令行本身,而这个学起来超级麻烦的vim,在命令行可以给你完美的体验。当然,我们并不需要完美精通vim,我们只需要能够知道下面一些基本的内容就可以了,最后一段是vim的简介,可以不看。
- 怎么打开
- 怎么编辑(文本输入)
- 怎么删除(删除文本的部分指定内容,删除文件)
- 光标怎么定位(上,下,左,右,开头,结尾,行首,行位)
- 文件怎么保存(文件修改后怎么保存,文件修改后怎么不保持,)。
vim中有三总模式,命令模式,编辑模式,和普通模式。顾名思义,命令模式是要使用命令,编辑模式是添加减少内容,那么普通模式是什么意思呢?普通模式可以简单的认为是阅读模式。使用vim打开一个文件 vim <文件名> ,vim刚打开进入的是普通模式,你看到的一个光标,并不能输入,你可以通过上来翻页等;命令模式是指当你在普通模式下(这个关键)使用:也就是shift+;,你会看到在最底下出现了一个冒号和光标,你输入命令后回车就执行你的命令,执行后进入普通模式。编辑模式也是从普通模式下进入,按i,最底下显示---插入--,此时你可以输入文本了。普通模式下,有一些快键键来实现快速的阅读,修改等。我并不介绍具体的命令,只是希望,初学者对与vim的总体情况有所了解,具体需要什么功能,百度一下,操作实践一遍,也就记住了,并不需要,拿上一本手册从头到尾看一遍。
2.3 软件安装
ubuntu下的软件安装最为简单,但是这里的简单是有原因的。如果你下载的是deb包,那么可以直接使用界面的软件管理安装,安装过程授权就是了。这里的安装会支持依赖文件的补全。还有一种办法是apt。你在百度ubuntu安装一个软件的时候,很多教程是这样的: $sudo apt-get install <软件名> 。那什么软件能够这样简单的直接安装呢,在apt中有一个专门用来管理能安装软件的源在文件/etc/apt/source.list ,也就是说,只有在这个list源中存在的软件才能用它来安装,当然可以更改这个文件来添加一些能这样下载的软件,那么什么软件在源中呢?这个命令要记住$sudo apt-cache search <文件名> ,这就是列举出所有能这么安装的软件的名字。为了快速定位文件,apt会把源中的软件列表拷贝到本地,所以每当更新了list文件后需要更新这个列表,使用命令$sudo apt-get updat 。几乎大多数的通用的软件都可以使用源下载。为了更快的速度,网上提供了一些镜像源。还有一种软件是需要编译的,初学者一般遇不到。卸载就简单了$sudo apt-get remove <软件名> 。如果想卸载它的依赖文件,把remove改为autoremove :$sudo apt-get autoremove <软件名>。所以重点是
- 直接命令安装:$sudo apt-get install <软件名>
- 掌握软件源的配置(可以百度操作方法,使用清华,阿里,网易的源,注意ubuntu版本)
- 掌握软件的卸载:$sudo apt-get autoremove <软件名>
3. 系统操作
所谓系统操作,就是说对系统内部的监督和管理,也就是想windows下的控制面板里的功能类似。这种操作大多都是使用特定的命令来显示。命令的执行有两种方式,一种是在ubuntu下所谓的终端,其实它并不是真正的控制台,他是一个链接在内核的一个登录端口,实现的是端口映射。所以如果你在实际使用过程中,发现明明教程里说的在控制台显示的有的内容不在终端显示,不要奇怪。真正的控制台,你可以按下ctrl+alt+F1,完全进入命令行模式,这个是真正的控制台。ctrl+alt+F7回复图像界面。一般情况下,都在终端执行命令。一些常见的命令包括哪些呢(如果你不会,必须逐个实验)?cd、ls -al、cp、mv、touch、mkdir、chmod、chmown、tar、rm、find、uname、dpkg、cat、等,linux命令是一个庞大的体系,初学着不必了解太多,有这些就能完成一些必要的操作了,你会发现,这些大多数是文件相关操作,就像你使用windows上面一样。但你不要小看这些文件操作。linux下几乎设置,设备,资源都是用文件来表述,由此可以看出文件操作的重要性。至于其他的命令,当你需要的时候在自行百度掌握。慢慢的增加自己所掌握的命令。这里我就要吐槽一下《linux鸟哥私房菜》,这当然是一本好书,就像谭浩强的C语言学习教材,罗列了大多数你会遇到的命令,并讲解了你想要的操作方式。但是,这其实对初学者来说几乎没用,因为你看了也就忘了,所以说,着重记住几个基础的必然会用的文件管理类的命令,然后以此为根据扩展,才是学习的最佳方法。
说白了,系统操作的核心是文件操作和系统状态查询,所以刚开始的时候着重学习文件的“增删查改”,着重了解下面的命令:
- ls : 显示当前文件夹下内容,这个命令绝对会是是linux命令行下的最多的(我现在每天至少50次使用),注意可以带参数。
- find: 查询文件,值得注意的是他可以支持模糊查找,比如 find ./ -name "*.txt" 会查找当前目录下所有名字以txt结尾的文件
- grep: 文件内容查找,注意他的关键参数 -nir
4. 工作进阶与内核探索
掌握上面的几种,几乎能和使用windows一样的体验了,但是这只是适应阶段,如果只是如此,为何要使用linux呢?
4.1 工作需要
如果你是工作需要使用ubuntu,那么你必然会安装一堆工作需要的环境,比如必要的软件,这些时候最关键的是,版本对应,版本对应,版本对应,重要的事情说三遍。ubuntu的版本最好和公司前辈们的保持一致,千万不要随意升级,不然这将会成为困扰你的重要原因,软件版本也最好和前辈们的一样,甚至直接向前辈索要ubuntu的ISO和软件,这样能极大概率的保证软件环境的安装成功率。工作需要的ubuntu,一般公司会有自行的教程,所以在工作之前,主要适应它就可以了。
4.2 内核探索
有那么一些新手,是想体会一下linux内核才使用ubuntu的,那么不好意思,ubuntu的完美的界面会削弱你对linux本身的认识。那如何使用呢,这里必须要说道的是linux本身是一个内核,所有的发行版基于内核做的界面,也就是说学习linux,就是要屏蔽不同发行版所带来的差异,去学习内核,所以各种教材中的linux内核学习都是会说道一个源码学习,linux源代码是开源的,下载后是一个庞大的文本系列。如何开始阅读linux源代码呢,阅读工具的选择上有大概两种,在wine下加载sourceinsight,或者使用vim,这里要注意的是sourceInsight是收费软件!vim必须配上插件,我这里使用的是ctags和Taglist两个插件。ctags在可以用apt直接安装,taglist安装百度即可,这两个东西,命令数很少却很实用。linux代码从哪里开始读呢?从事驱动开发的,建议先选一个驱动代码,也就是 <驱动名>.c 文件,里面有一个init函数是整个驱动的入口点,然后跟踪代码学习驱动的注册加载,sys节点的注册,在到probe函数的运行,等。如果这些你么有听过,也不要紧。如果你不知道你要干什么,那么你应该配合一本相关的书籍来学习linux内核,因为它实在是太庞大了,全世界也只有少许的人对它有较为全面的认识,大多数专家都是在某一个方面上有所建树。根据教程了解整体,根据兴趣选择局部,根据知识,选择学习的高度,这才是新手正确的学习方式。
5. talk is cheap, show me code!
废话少说,放码过来!
作为一个喜欢IT或者从事IT的人,希望所有的初学者在ubuntu中有个愉快的体验,也时刻提醒自己:
code才是实力的体现!你我共勉!