云网牛站
所在位置:首页 > Linux培训 > Linux盲人教程(适合初级Linux用户)

Linux盲人教程(适合初级Linux用户)

2018-05-04 17:18:27作者:黄冠能稿源:eguidedog.net

本教程是面向盲人而编写的一部Linux入门教程,一共21集,适合初级Linux用户,每集语言都比较简短,很容易懂和容易学。如果你是一位盲人Linux用户,请先下载盲人专用操作系统eGuideDog Linux 0.5

 

具体目录

Linux盲人教程(适合初级Linux用户)

 

1.Linux简介

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由Linus Torvalds在1991年10月5日首次发布。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GPL许可,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。

严格来讲,术语Linux只表示操作系统内核本身。而日常所提及的Linux则多指基于Linux内核的完整操作系统,包括GUI组件和许多其他实用工具。由于这些支持用户空间的系统工具和库主要由Richard Stallman于1983年发起的GNU计划提供,自由软件基金会提议将该组合系统命名为GNU/Linux,但Linux不属于GNU计划。

Linux发行版非常多,部分原因是因为其源代码和版权都开放,通常有一两个技术非常好的工程师就有能力派生出一个新的发行版。当然了,一个操作系统要做得好是需要一个庞大的团队支持的。不同的Linux发行版各有特色,有的很轻巧,可以放在一张软盘里;有的专门为服务器设计;有的专门为更好地研究操作系统组成而设计。目前最主流的桌面发行版有Ubuntu、Debian、Fedora、OpenSUSE。国内有麒麟和深度。大家可能听过的RedHat已经专注于服务器方面,其桌面版本则由Fedora继承。国外专门针对盲人的Linux有Vinux,而笔者的eGuideDog Linux则是把Linux带进中国盲人群体的一个尝试。

虽然Linux桌面发行版多年来一直未能对微软的Windows构成威胁,但全球超过一半的服务器已经是Linux系统,而大家手上的Android智能手机内核也是Linux的。即使Linux还未达到像Windows那样所有人都应该掌握的地步,它至少对于计算机程序员来说是必须了解的。而对于盲人,Linux可能是一个比Windows更优的选择,因为它大部分应用都有很好的命令行界面,无需鼠标,一问一答的操作,比起图形界面更适合盲人使用。

值得一提的是Linux的作者同时也是Git开源项目的发起人,Git已经逐渐取代CVS和SVN,成为最受欢迎的程序代码版本控制软件。

 

2.安装eGuideDog Linux

请参考文章:https://ywnz.com/linuxjc/1555.html

 

3.Linux文件系统

Linux文件系统采用的是树型结构,最上层是根目录。分区在Linux中是目录树的其中一个节点,即一个子目录,并且不一定是根目录的直接子目录。Windows也是采用树型结构,但是在Windows中的树型结构的根是磁盘分区的盘符,一个盘符对应一个分区。由于苹果的Mac系统和Linux一样是类Unix系统,Mac的文件系统结构和Linux是一样的结构。

Linux根目录下通常有以下一些目录:

/bin binary缩写,二进制可执行命令

/dev device缩写,设备文件

/etc et cetra等等的缩写,系统管理和配置文件

/home 用户主目录的基点,比如用户tom的主目录就是/home/tom,可以用~tom表示

/lib library缩写,标准程序设计库,又叫动态链接共享库,作用类似Windows里的.dll文件

/sbin super bin缩写,系统管理命令,这里存放的是系统管理员使用的管理程序

/tmp temporary缩写,公用的临时文件存储点

/root 系统管理员的主目录

/mnt mount缩写,系统提供这个目录是让用户临时挂载其他的文件系统

/lost+found 这个目录平时是空的,系统非正常关机而留下一些信息损坏的文件会放在这里

/proc process缩写,虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

/var vary缩写,存放经常变动的文件,比方说各种服务的日志文件

/usr user缩写,要用到的应用程序和文件几乎都在这个目录

Windows的目录分隔符是\(读反斜杠),Linux目录的分隔符是反过来的/(读斜杠或除号)。

Windows的分区格式有FAT和NTFS,Linux则多一些,有ext2、ext3、ext4、ReiserFS、swap等。在安装Linux阶段,需要告诉系统如何分区。最简单的方式是分配512M-2G大小的swap用作虚拟内存,剩下的用默认的分区格式全部挂在/根目录下。这样的分区策略有点像Windows下只用一个C盘,不需要担心性能之类的问题,Mac系统也是整个硬盘一个分区的。如果考虑到将来重装系统资料保存的问题,可以把home独立出来一个分区,重装系统的时候不格式化home分区,直接把旧的home分区挂上去。

Ubuntu下开启命令行终端的方式是按CTRL+ALT+T,或者按Win+A再输入terminal回车。

进入命令行终端后,我们可以用cd和ls命令来浏览目录。和Windows命令行一样,cd是进入一个目录的命令。ls则类似Windows的dir命令,列出目录的内容。`ls -l`则是列出目录内每个文件的详细信息。Linux下参数通常使用-(读横杠或减号)指定,Windows则是用/指定。ls的更多参数可以通过命令`man ls`查看,退出man的快捷键是q(quit的缩写)。

 

4.Linux显示文本文件内容(cat, less)

在Linux命令终端行中,可以通过`cat`命令显示文本文件的内容。比如说,我们从源代码安装一个软件之前,可能会看一下它的README文件,那么就用`cat README`命令。如果文件太长,我们可以用有分页显示功能的`less`命令,例如`less README`。less命令有几个快捷键需要记住的:

q:quit的缩写,和man命令的q功能一样,它是退出命令的快捷键。

f:forward的缩写,表示向后翻一页,如果键盘有PageDown键可以不记这个快捷键。这个快捷键的存在是因为PageDown键不是从计算机键盘诞生的那一天开始就有的,而现在的苹果电脑也是没有PageUp和PageDown键的。

b:backward的缩写,表示向前翻一页,也就是PageUp的功能。

上下方向键:向上或向下滚动一行。

/:模式匹配搜索,这是Linux命令行的一个强大功能,复杂的使用方法以后再介绍。最简单的功能是输入“/”和要搜索的字符串,然后回车。按小写n搜索下一个,大写N搜索上一个

-i:ignore case的缩写,切换搜索时的大小写开关。

h:help的缩写,进入帮助页面,会看到更多的快捷键。我本人没有使用过其它快捷键,但对于有需要改善阅读效率的朋友不妨一读。

关于命令行的概念,需要说明一下,Linux下命令行又可以称为终端(Terminal)或shell,当然有严格一点的定义区分,但基本都是指让我们可以运行命令的地方。Linux的又有很多不同的shell,比如最原始的sh,适合在嵌入式设备中使用的ash,有较长历史的csh,现在比较多用的bash。Ubuntu下用的是bash。不同的shell内置的命令格式参数会有些区别,但大部分是一致的。Linux下有几个隐藏的纯命令行的桌面,通过CTRL+ALT+F1至F6可以切换,图形界面通常是通过CTRL+ALT+F7切回去的。Linux下命令和文件名大小写是敏感的,就是说以上的`cat`和`less`命令如果使用了大写是不能运行的。

 

5.Linux查找文件内容(grep)

grep是Linux命令行下常用于查找过滤文本文件内容的命令。最简单的用法是:

grep apple fruitlist.txt

如果想忽略大小写,可以用-i参数:

grep -i apple fruitlist.txt

如果想搜索目录里所有文件,包括子目录的话,并且在结果中显示行号,可以用以下命令:

grep -nr apple *

grep的语法支持正则表达式,正则表达式有些复杂,以后再讲解。下面是一些有用的参数:

-A num, --after-context=num: 在结果中同时输出匹配行之后的num行

-B num, --before-context=num: 在结果中同时输出匹配行之前的num行,有时候我们需要显示几行上下文。

-i, --ignore-case: 忽略大小写

-n, --line-number: 显示行号

-R, -r, --recursive: 递归搜索子目录

-v, --invert-match: 输出没有匹配的行

我们可以通过管道操作来让grep变得更强大,管道操作就是把前面一条命令的输出作为后面一条命令的输入,从而把很多简单的命令组合起来完成复杂的功能。例如,如果我们想查找包含apple的行,但又想过滤掉pineapple,可以用下面的命令:

grep apple fruitlist.txt | grep -v pineapple

如果我们想把搜索结果保存起来,那么可以把命令的标准输出重定向到文件:

grep apple fruitlist.txt | grep -v pineapple > apples.txt

重定向符号>和管道操作符号|的区别是,重定向后面接的是一个文件,它后面不能再接任何文件或命令了;而管道操作后面接的是命令,可以无限地接下去。如果想以追加方式写到文件,可以用>>。管道操作是Linux命令行的一种哲学,它是计算机技术中少有的能沿用几十年的技术之一。通过管道操作,一行命令可以完成Windows下上千行程序也不能完成的文本处理功能。

 

6.Linux文件管理(cp, mv, rm, mkdir)

复制文件:

cp file1 file2 # 把file1复制到名为file2下

cp -r dir1 dir2 # 参数-r表示复制的是目录

cp f* dir1/ # 把当前目录以f开头的文件复制到dir1目录下

移动文件或改名:

mv oldpath newpath

删除文件或目录:

rm file1 file2 file3

rm -rf dir1 # 参数-rf表示删除的是目录,删除的时候不做确认提示,直接删除

创建目录:

mkdir dirname

以上命令更多参数说明可以通过man命令查看(例如`man cp`)。

关于目录,补充说明一下在之前介绍cd命令时没有说明的一个问题,'.'代表当前目录,'..'代表上一级目录。`cd ..`表示返回到上一级目录。cd后面必须带空格,这一点和Windows命令行是不同的。

Linux的每个文件有一个所有者(即创建者)属性,有一个用户组属性,文件权限可以针对所有者、用户组和所有人分别设定。比如说可以设定一个文件对于所有者有读写权限,对于用户组有读权限,对于所有人什么权限都没有。通过`ls -l`命令可以开到文件的这个权限信息,开头的一串rwx就是读写权限。改变文件权限的命令是chmod,改变文件所有者的命令是chown,改变文件用户组的属性是chgrp。shell对于文件创建时有一个默认的属性设置。由于单机用户对这些权限都不太敏感,此处不赘述。

 

7.Linux搜索文件(find, locate)

Linux搜索文件的命令是find。直接输入`find`回车,会显示当前目录及子目录的所有文件列表。下面一条命令是搜索当前目录以下以g开头的文件:

find -name "g*"

如果想忽略大小写,可以增加参数i,写成:

find -iname "g*"

下面一条命令可以搜索/etc目录以下,60分钟内修改过得文件:

find /etc -cmin -60

下面一条命令在当前目录搜索所有文件,不包括目录文件,仅搜索一层目录(即当前目录),找到后对文件执行`file`命令查看其文件类型。需要说明的是,'{}'代表搜索到的文件名,作为file命令的参数。末尾的\;则表示命令结束。

find . -type f -maxdepth 1 -exec file '{}' \;

搜索文件后调用另外一个命令来处理文件是一个很有用的功能,这个功能除了可以用find的exec参数实现外,还可以通过管道操作和xargs命令实现。并且xargs的方式不需要添加末尾的“\;”,可能更好记忆。

find . -maxdepth 1 | xargs file

再举一个管道操作和xargs命令的使用例子。假设我们一堆需要删除的文件路径写在了一个文本文件filelist里,一行一个路径。那么下面命令可以把这些文件删除掉:

cat filelist | xargs rm -rf

find命令搜索是比较慢的,尽量不要在根目录运行这个命令,那样会搜索整个硬盘。如果想在整个硬盘搜索文件,locate命令更适合。使用locate命令之前,我们需要先更新文件路径数据库:

sudo updatedb

注意,updatedb是需要root超级用户权限的,所以需要加sudo前缀,sudo是super user do的意思。更新的操作可能要几分钟时间,但不需要每一次都做,只有当你觉得距离上一次更新操作,有很多文件位置已经发生变化才需要再更新。完成更新后我们可以通过`locate 文件名关键词`来快速搜索一个文件。

find和locate命令的更多用法请查看man命令。

 

8.Linux查看磁盘空间(df, du)

以下命令可以查看磁盘各分区大小、已用空间等信息:

df -h

以下命令可以查看foo目录的大小:

du -sh foo

有时候,硬盘比较满了,我们想找一些目录来清除,可以用下面命令查看当前目录以下搜索文件和子目录大小。找出特别大的,看里面有没有文件可删:

du -sh *

如果我们插入了一个U盘或移动硬盘,可以用df命令查看它挂载的地方,通常在/mnt或/media下。如果想卸载USB存储设备,可以用umount命令:

umount path

以上命令更多参数可查看man或info。相比起man,info功能更强大,并且更适合盲人使用。info的用法和man一样,info后面跟命令名称。进入info界面后,会有一个光标,可以通过键盘方向键移动来读取内容,按ESC+右方向键可以跳到下一个英文单词,按ESC+左方向键可以跳到上一个英文单词。按q退出,按h进入帮助页面,查看更多快捷键。info不是一页纸,而像一本书,里面的内容有链接,可以随时跳到相关的内容页去。

 

9.Nautilus文件管理器

Nautilus是鹦鹉螺的意思,很多自由软件都喜欢用生物(尤其是海洋生物)作为软件的名称。比如读屏软件Orca是逆戟鲸。Nautilus文件管理器是Ubuntu某些版本的默认文件管理器,下面的使用说明也基于该版本,之后的版本可能会有些差异。这是命令行和图形界面软件的区别之一,命令行的使用方法会比较固定,但是图形界面的软件则随时可能发生变化。

按SUPER+1键可以启动Nautilus文件管理器,SUPER键即微软键盘的WINDOWS键。如果Nautilus文件管理器不是放在快捷方式的第一个位置了,我们可以用第二种方式启动:SUPER+A,再输入nautilus,回车。

Nautilus文件管理器的窗口由3部分组成:左边快捷方式,右上方各级目录区域,右边文件显示区域。通过Tab键可在3个区域之间切换。左边快捷方式是常用的文件夹,通过上下方向键可浏览。右上方的各级目录区域显示了从根目录到当前目录的各级目录,以及前进、后退、搜索按钮,通过左右方向键可浏览。右边文件显示区域显示目录内的文件或子目录,通过上下左右方向键可浏览。按左删除键可以返回上级目录。(注意:目录和文件夹是同义词)

在Nautilus文件管理器中输入字符串,以输入字符串开头的项会被选中,这样可以快速定位到要找的项,而不需要通过方向键寻找。如果输入的字符串以/开头,那么就会认为用户在输入文件夹绝对路径,输入完后按回车可以直接跳到该文件夹。

下面是一些重要的快捷键:

F2: 重命名

CTRL + 1: 图标视图

CTRL + 2: 列表视图

CTRL + T: 新建标签页

CTRL + W: 关闭标签页

ALT + 数字: 切换到指定标签页

CTRL + D: 收藏到当前文件夹到书签

SHIFT + F10: 打开鼠标右键菜单

ALT + 左方向键: 后退

ALT + 右方向键: 前进

CTRL + Q: 退出

 

10.Rhythmbox音乐播放器

在Ubuntu桌面按SUPER+A,然后输入rhy,回车,即可打开Rhythmbox音乐播放器。 初次播放MP3文件,系统可能会提示需要安装MP3播放软件,安装软件会要求输系统管理员密码。

Rhythmbox的界面大概分为7-9个区块。第一个是播放控件,包含播放、暂停、前进、后退、重复、随机、音量等控件,通过左右键可把焦点移动到各控件上。按一下TAB键可以跳到第二区块,该区块显示当前播放音频的标题,再按一下TAB键会跳到第三个区块,即进度条,通过左右方向键可拖动播放进度条。再按一下TAB键可以跳到第四个区块,这是一个分类栏,可以通过上下方向键切换到播放列表、播客、电台等。再按一下TAB键,会跳到第五个区块,里面是当前分类的几个功能按钮,比如浏览、添加、导入、刻录等。再按一下TAB键会跳到一个搜索框,这个搜搜框可以搜索音乐列表里的项。遗憾的是,当输入焦点落入该搜索框以后,就再也不能通过TAB键跳出,因为TAB键在该搜索框中被定义为全选框内字符串。这是,只能通过CTRL+TAB键把焦点切换到包含播放控件的第一个区块中。如果想浏览搜索框之后的区块,只能够通过SHIFT+TAB从第一个区块跳到最后一个区块,再按SHIFT+TAB跳到倒数第二个区块,如此类推。

下面是Rhythmbox几个常用快捷键:

CTRL+空格:播放或暂停

ALT+左方向键:上一首

ALT+右方向键:下一首

CTRL+上方向键:增大音量

CTRL+下方向键:减小音量

CTRL+Q:退出

 

11.Orca读屏软件

Linux下最主要的读屏软件叫Orca,中文意思是虎鲸,又有另一个更为人熟知的名称叫杀人鲸。读屏软件是盲人使用计算机最重要的软件。

如果Ubuntu Linux系统未启用读屏功能,我们可以用快捷键ALT+SUPER+S来启动(该快捷键适用于Ubuntu),如果该快捷键无效,可以按SUPER+A,然后输入orca,回车。Orca读屏软件有两种快捷键模式,一种是台式电脑,其特殊功能键是Insert;另外一种是笔记本电脑,特殊功能键是CAPS LOCK(大小写转换按键)。两种快捷键模式的区别不仅仅是特殊功能键,还因为台式电脑键盘通常有附加的数字键盘,而笔记本没有,因此制定了不同的快捷键组合。下面我只介绍台式电脑的快捷键模式,笔记本电脑的快键键模式可以查看`man orca`或按CAPS LOCK+H进入学习模式查找。

两个最重要的命令:

Insert+H:进去Orca学习模式,按ESC退出。学习模式里有快捷键说明,因此,其它快捷键都可以忘记,但一定要记住学习模式快捷键。

Insert+空格:打开Orca配置窗口。Ubuntu的配置窗口是默认隐藏的,所以要记住这个快捷键,否则会不知道在哪里配置Orca。

平面复读命令,这些命令适用于命令行终端、文本编辑器等。

数字键盘7:读上一行

数字键盘8:读当前行

数字键盘9:读下一行

数字键盘4:读上一个单词

数字键盘5:读当前单词

数字键盘6:读下一个单词

数字键盘1:读上一个字符

数字键盘2:读当前字符

数字键盘3:读下一个字符

数字键盘/:点击鼠标左键

数字键盘*:点击鼠标右键

数字键盘+:从当前位置一直读到文本结尾

数字键盘ENTER:读出当前位置

剩下的命令或快捷键就等大家在Orca的学习模式中自己探索啦。

 

12.Firefox浏览器

市面上主流的浏览器有IE、Firefox和Chrome。苹果系统用的Safari和Chrome采用一样的Webkit内核。过去欧洲人比较喜欢用的一个叫Opera的浏览器发展了近20年自己的渲染引擎后最终也使用基于Webkit的引擎。性能上说Google开发的Chrome是最快的,也是我个人最喜欢的。Firefox是一般Linux的默认浏览器。IE在中国一直都是主流,大部分政府网站和网银都只支持IE。近年来出现的各种双核浏览器通常是一个IE7内核加Webkit内核,例如搜狗浏览器、360浏览器等。可以简单地认为,除了IE、Firefox、Chrome、Safari外的浏览器都只是一个壳,尤其是国内五花八门的PC和手机浏览器,技术含量稍微高一点的也只不过是在Webkit开放源代码基础上稍作修改。

启动Firefox的方法是,按SUPER+A,然后输入firefox,回车。

下面介绍一下Ubuntu Linux自带的Firefox浏览器的快捷键:

CTRL+l或ALT+d:跳到地址栏

CTRL+k:跳到搜索引擎栏

搜索栏中按ALT+下方向键:选择搜索引擎

ALT+左方向键:后退到上一页

ALT+右方向键:前进到下一页

CTRL+t:新建标签页

CTRL+TAB:跳到下一标签页

CTRL+SHIFT+TAB:跳到上一标签页

CTRL+1到8:跳到第1到8标签页

CTRL+9:跳到最后一个标签页

CTRL+w:关闭标签页

CTRL+SHIFT+t:撤销上一次关闭的标签页

ALT+b:打开书签菜单

CTRL+f或/:搜索文本

单引号:搜索链接

F3:搜索下一项

SHIFT+F3:搜索上一项

TAB:跳到下一个链接

SHIFT+TAB:跳到上一个链接

ALT+回车:下载链接内容

SHIFT+F10:打开右键菜单

CTRL+加号:增大字号

CTRL+减号:减小字号

CTRL+0:恢复字号

F5或CTRL+r:刷新页面

CTRL+s:页面另存为

1:跳到页面下一个一级标题

2:跳到页面下一个二级标题

3:跳到页面下一个三级标题

h:跳到页面下一个标题

b:跳到页面下一个按钮

c:跳到页面下一个复选框

e:跳到页面第一个文本框

i:跳到页面下一个列表子项

l:跳到页面下一个有序列表

p:跳到页面下一段落

q:跳到页面下一段引用文本

r:跳到页面下一个单选按钮

t:跳到页面下一个表格

 

13.Thunderbird邮件客户端

Thunderbird是Ubuntu Linux默认的邮件客户端。打开Thunderbird按SUPER+A,输入thunder,回车。

如果我们在安装Ubuntu Linux时没有下载所有语言安装包,会发现弹出的窗口都是英语看不懂,那么此时可以按两次ALT+F4把程序的两个窗口关闭。然后我们去更新系统的中文翻译。我们按SUPER+A,输入“系统设置”,回车。进入系统设置后,通过键盘方向键找到“语言支持”项,回车选择。此时,系统会检查语言更新,然后弹出一个窗口。非常遗憾的是,这个窗口在Ubuntu某些版本中不能被读屏软件所识别。此时,我们可以按ALT+I点击安装的按钮,之后会提示需要我们输入管理员密码授权安装更新。安装语言更新之后Ubuntu的软件一般都有中文翻译了(包括Thunderbird)。

我们还可以在命令行里安装,按CTRL+ALT+t启动命令行终端,输入以下命令:

sudo apt-get install thunderbird-locale-zh-hans

系统会提示输管理员密码,提示是否安装软件时按y回车,或直接按回车就可以了。

安装完中文翻译后,我们重新进入Thunderbird。第一次进入,软件会要求我们配置账号。第一步会要求我们输入姓名、邮件地址和密码。第二步会让我们填写配置服务器参数等,一般使用默认就可以了。在收件协议选择处有IMAP和POP3,建议使用IMAP,这样可以更好地让邮件在多设备中操作同步。

成功添加邮箱后,我们通过TAB,键盘方向键等可以浏览和操作邮件。SHIFT+F10可以激活鼠标右键菜单,可以对所选项进行操作。

成功设置和收取邮件后,我希望所有用户做一件事:订阅Linux盲人教程的邮件列表。邮件列表是一种古老的讨论方式,历史比网页论坛和BBS还要早。和命令行一样,它是传统、简单、有效的工具。它是一种过去几十年在使用,未来几十年还会使用的技术,在科技日新月异的今天,能够积累这样的技术是很有好处的。

下面是订阅Linux盲人教程邮件列表的步骤:

向linux-jc+subscribe@googlegroups.com发邮件,标题内容可有可无。

隔一段时间(有可能需要一两个小时)会收到一封确认的邮件,里面有个指向Google论坛的链接,但不要点,大陆的朋友多数是不能访问的。我们只需要直接回复这封邮件,标题和内容也不需要修改。这样就确认了订阅

然后我们向linux-jc@googlegroups.com发送我们的第一封邮件,向大家打声招呼。我鼓励所有用户都迈出这一步。

不用很久,我们就会作为邮件列表的订阅者收到自己发的邮件。

当我们要回复别人的邮件时,记得应该使用“回复全部”的功能,把邮件列表的地址(linux-jc@googlegroups.com)包含进去,这样回复的内容才能给其他人看到。如果直接“回复”,那么回复的内容只有发件人看到。

需要说明的是,这是一个公开的邮件列表,内容是可以在网站搜索到的,不要发个人敏感信息和可能产生法律责任的言论。

Thunderbird的快捷键我就不介绍了,大家可以自己在网上搜索。

设置新邮件检查时间间隔的方法

默认情况下,Thunderbird会每10分钟检查一次邮件。如果觉得这个时间间隔太长,可以设置一下。找下面的菜单: 编辑->账户设置>服务器>服务器设置,找到“每隔n分钟检查一次新消息”的选项,修改即可。

Thunderbird关闭之后会以托盘形式存在于屏幕右上角,通过激活应用顶部菜单(通常会有ALT+F,ALT+H快捷键),然后按左右方向键导航可以找到该托盘,按下可展开托盘的菜单。

 

14.gedit文本编辑器

gedit是Ubuntu Linux下常用的一个简单的文本编辑器。启动方法是按SUPER(即Win功能键)+A,然后输入gedit,回车。

下面是一些常用的快键键:

CTRL+n:新建文件

CTRL+o:打开文件

CTRL+s:保存文件

CTRL+w:关闭标签页

ALT+0...9:切换到第0到9标签页

CTRL+i:跳到某一行

CTRL+q:退出应用

CTRL+f:搜索文本

CTRL+g:搜索下一个

CTRL+SHIFT+g:搜索上一个

CTRL+h:替换文本

CTRL+z:撤销操作

CTRL+SHIFT+z:恢复操作

CTRL+x:剪切

CTRL+c:复制

CTRL+v:粘贴

CTRL+a:全选

CTRL+d:删除当前行

PDF转TXT文件

读屏软件对PDF支持不太好,我们需要把PDF转换成文本文件来读。Ubuntu Linux下可以通过安装xpdf软件包,利用软件包带的pdftotext转换。

安装xpdf的办法是在命令行终端输入如下命令:

sudo apt-get install xpdf

安装完xpdf后,运行如下命令即可把PDF文件转换为文本文件:

pdftotext pdffile textfile

 

15.vi编辑器

vi编辑器的第一个版本要追溯到1976年。2009年Linux Journal的调查显示,Linux下36%的用户使用vi,19%的用户使用gedit。vi更是Linux程序员写代码的最主要编辑器。Linux是一个专业的计算机工程师应该掌握的技术,而vi又是使用Linux操作系统应该掌握的编辑器。vi的一个现代衍生版叫vim,vim同时是一个为改善乌干达儿童医疗卫生教育等筹款的项目。

vi是基于命令行的,通过大量的快捷键完成高效的编辑操作,对于习惯了使用图形化界面的Windows用户来说,vi是很难用的。但是对于盲人来说,vi是一个非常高效的编辑器。由于vi诞生于Unix的年代,我们还可以从其操作方式感受旧式计算机是如何操作的。

启动vi的方法是在命令行中输入:

vi 文件名

vi有两种模式:命令模式和插入模式。命令模式下键盘的按键功能是移动光标、复制、删除、搜索等。插入模式是普通的输入字符。在命令模式下按i或a可以进入插入模式,i是在当前字符之前插入,而a是在当前字符之后插入。在插入模式下按ESC可以切换到命令模式。在命令模式下按:q回车可以退出vi。

下面是命令模式下一些简单的常用命令:

dw: 删除一个英文单词

dd: 删除一整行

3dd: 删除3行,修改前面的数字可删除不同的行数

cw: 删除一个单词,并进入插入模式

o: 在光标之后插入一行空白行,把光标移到插入行首,并切换到插入模式

u: 撤销最近的操作

CTRL+r: 恢复上一次撤销的操作

CTRL+f: 翻到下一页

CTRL+b: 翻到上一页

^: 移到行首

$: 移到行末

13G: 移动到13行,G前面的数字代表行号

hjkl: 分别对应键盘方向键的左下上右方向键。在少数情况下,vi不能识别101键盘右半部分功能键,因为在旧式的键盘驱动中没有那些键。

按/,输入关键词,回车: 搜索文本

n: 搜索下一个

N: 搜索上一个

冒号w回车: 保存文件

冒号wq回车: 保存退出

以上列出的命令可能只有vi所有命令的1%,vi也有很多配置和扩展,这里就不再赘述了,大家可以在搜索引擎中查询。

除了vi编辑器,值得一提的还有Emacs,尽管在中国几乎没有人使用,但是这个编辑器是Linux程序员应该了解的。Emacs是由自由软件运动的领袖Richard Stallman所编写,Richard Stallman还编写了著名的编译器gcc。在自由软件和黑客领域中,Richard Strallman和Linux创始人Linus Torvalds是最著名的两位。Emacs的功能强大到自身几乎可以构成一个操作系统,程序员可以在这个编辑器上写代码、编译、玩游戏等等。由于它的操作习惯和Windows实在太不同,并且它是使用一种可能是人工智能领域的研究员才使用的Lisp编写,现在使用它的人很少。如果有人在使用Emacs,他通常会是一个有超过30年编程经验的程序员,或者是一名极客。一般认为,它是一个多功能的编辑器,但它编写代码方面不如vi。值得一提的是Emacs有一个特别的版本叫Emacspeak,是一个专门给盲人用的版本,这个软件是20世纪90年代开始发布的,具体时间不详。盲人可以使用Emacspeak可以完成日常工作。从国外盲人使用Emacspeak和Linux的情况来看,中国的盲人的计算机水平和世界最先进的水平可能有20年的差距。我个人不推荐大家对Emacs和Emacspeak作更深入的了解。

 

16.LibreOffice办公软件

LibreOffice是Microsoft Office的一个开源替代品,有Windows、Linux和Mac版本。是Ubuntu的默认办公软件。LibreOffice源于1985年的StarWriter,后来慢慢发展成功能更丰富的StarOffice,2000年开始主要由Sun公司和其它一些成员开始了OpenOffice的开发。2010年Sun被Oracle收购后,部分成员开创了新的分支命名为LibreOffice,并逐渐超越OpenOffice。而OpenOffice在2011年的时候被Oracle捐献给了Apache基金会,并解雇了大部分雇佣的OpenOffice开发者。

LibreOffice由6大部分组成:

Writer:类似于Word,兼容一般的Word文档格式。

Calc:类似于Excel,兼容一般的Excel文档格式。

Impress:类似于PowerPoint,兼容一般的PPT格式。

Draw:类似于Visio。

Math:一个数学公式的编辑器,可以嵌入到Writer或Calc中。

Base:类似于Access。

启动LibreOffice的方式是:按SUPER+A,然后按writer、calc或impress等,然后回车。

如果进入LibreOffice后发现菜单是英语,那么我们需要安装翻译包,由于图形界面有很多和读屏软件兼容不好的地方,下面介绍命令行里安装翻译包得方法。

首先按CTRL+ALT+T打开命令行终端

然后我们需要知道翻译包得名称,翻译包通常会包含lang或locale的关键字,于是我们利用apt-cache search命令和grep命令组合起来搜索软件包中既包含libreoffice又包含lang的软件:

apt-cache search libreoffice | grep lang

在结果列表中,我们找到包含代表zh-cn中文关键字的软件包libreoffice-l10n-zh-cn

执行以下命令安装语言包:

sudo apt-get install libreoffice-l10n-zh-cn

apt-cache search和apt-get install是安装软件的两个常用命令,大家要记住以上的使用技巧。安装完翻译后重新进入LibreOffice就可以了,进入软件后的具体操作我就不介绍了,大家自己慢慢摸索。

 

17.Ubuntu安装软件的方法

查看已安装软件

按SUPER+A,然后按键盘方向键可以在3个软件分类之间浏览,第一类是最近使用过的软件,第二类是已安装的软件,第三类是可供下载的软件。已安装的软件处可以按回车展开查看更多结果。

更新到最快的软件源

Ubuntu的默认软件源有时可能因为用户过多,导致下载软件很慢,此时我们可能需要更新一个更快的镜像。办法是,按SUPER+A,输入软件中心,回车。按ALT+E,打开编辑菜单,选择最后一项“软件源”。这时会弹出一个窗口,通过TAB键跳到“中国的服务器选项”,然后“选择最佳服务器”。之后会执行大概一分钟左右的网络测试,寻找最快的软件更新镜像。找到后按提示选择即可

浏览可下载安装的软件

打开软件中心,我们可以浏览到Ubuntu下所有的软件,基本上都是可以免费下载的。在这个软件中心里可以了解Ubuntu的强大功能,安装里面任何一款软件都只是点击几下的事情。但是,在我使用过程中发现一个很遗憾的地方,在Ubuntu里,安装软件的按钮焦点不能通过键盘的TAB键或方向键获取,也就是说盲人只能浏览有什么软件而无法安装。图形界面的软件很多时候都会有这种缺点,在这个时候我需要使用Linux下万能的命令行。

命令行下安装软件

Linux下常见的二进制安装包格式是RPM和DEB,通常这种安装包只能安装在特定的Linux版本里。比如说,我们在网上找到一个针对Fedora Linux的RPM安装包,它通常不能在OpenSUSE Linux上安装,也不一定能在Fedora Linux不同的版本上安装。这是因为这些软件包通常会依赖系统的动态链接库,而不同Linux版本的系统动态链接库版本不同。一些通用的安装包会尽量不依赖于系统动态链接库,把所有库都打包起来,这样会令安装包变得很大。RPM包是在RedHat、Fedora、SUSE等Linux发行版中使用,而DEB在Debian、Ubuntu等中使用,不过它们也有支持安装另外格式的软件包的机制。不同Linux发行版会在安装包上再建设一套软件依赖数据库,说明装某一个软件之前必须先安装哪些软件,并且可以自动安装相关软件。在Fedora中使用yum,在OpenSUSE中使用zypper,在Ubuntu中使用apt。这个数据库是经过Linux发行版开发商多重测试的,保证了软件的稳定性。如果我们脱离了这套软件依赖数据库,从源代码去安装一些版本不合适的系统软件,会对系统稳定性造成致命的打击。在10多年前,这些软件依赖数据库还不完善的时候,我从源代码安装一个软件需要先安装几个依赖的软件,安装那几个依赖的软件,每个都要再安装几个依赖的软件,可见这会演变成一场灾难。这些都是手动一个一个下载编译安装的,最后整个系统的基础软件都被我换了一遍,系统变得非常不稳定。因为软件安装机制的完善,现在的Linux系统已经相当好用了。

好了,背景知识就介绍完了,下面讲一下Ubuntu下使用apt查找和安装软件的办法。

首先,我们需要更新系统的软件信息,这个动作基本上是几个月才做一次的。

sudo apt-get update

然后,我们通过apt-cache search命令查找软件,例如我们想查一下系统有什么游戏,可以输入

apt-cache search game | less

命令里使用了管道操作,把结果输出到less命令分页显示。我们还可以使用常用的grep命令对结果进行过滤,例如,我们可以通过下面命令去查找在控制台玩的游戏:

apt-cache search game | grep console

通过上面命令,我们找到了一个貌似是五指棋的游戏pente,于是我们通过下面apt-get去安装:

sudo apt-get install pente

如何使用一个陌生的软件

作为新手,通常安装完软件之后就不知道可以怎么做了。这时,我们可以查看软件的说明文档,比如`man pente`、`info pente`或`pente -help`。通常命令行的命令会提供-h或-help的参数给出命令的简短说明。从`pente -help`中可以看到`pente -text`可以进入游戏的终端模式,然后我们就可以开始玩了。

有时候,软件的可执行文件不一定和软件包得名称一致。我们需要通过apt-file命令去查找。用法如下:

sudo apt-get install apt-file # 安装apt-file软件

sudo apt-file update # 更新apt-file数据库,可能需要等待几分钟才能完成

apt-file list pente # 显示pente软件包的所有文件列表,从中可以找到bin目录下得可执行文件

apt-file search pente # 搜索一个文件是属于哪个软件包的

 

18.Linux从源代码安装软件

Windows下提供的软件都是编译好的可执行文件,有些可执行文件只能在特定平台下运行。比如说Windows 7下可执行文件可能无法在Windows XP下运行。Linux的发行版多如牛毛,可执行文件很难在多个平台下运行。幸好Linux下的大部分软件都是自由软件,自由软件都提供源代码。因此,Linux下由用户自行从源代码编译软件是一件常见的事情。

为了演示从源代码安装软件的过程,我们先要获取一个软件的源代码,以Web服务器Nginx为例,我们先获取其源代码并解压:

wget http://nginx.org/download/nginx-1.14.0.tar.gz

tar zxf nginx-1.14.0.tar.gz

*.tar.gz是Linux下常见的归档格式,用tar命令来解压,zxf是参数,z表示解压gz文件,x表示解压,f表示后面跟文件名。有些归档文件是以.tar.bz2结尾的,对于这种文件应该使用`tar xjf`解压。有些归档文件以.tar.xz结尾,应该使用`tar xJf`解压。不同的后缀代表不同的压缩算法。解压后,我们就可以为编译做准备:

sudo apt-get install -y build-essential

cd nginx-1.14.0

./configure 

上面第一条命令是安装编译软件集,包括gcc、make等软件。configure的作用是检查系统架构、基础软件、系统库等,如果现有系统的软件不满足安装该软件的依赖关系,configure会报错。configure还可以提供参数启用或关闭软件的功能,可使用的参数可以通过`configure --help`查看。比如说,我们想把软件安装到指定目录可以使用`configure --prefix`参数。configure配置完成的下一步是编译:

make

最后一步是把软件安装到系统目录:

sudo make install

Linux下的软件通常会有README、INSTALL等文件,里面记录了软件的安装使用说明,可以用vim命令查看。

 

19.Ubuntu搭建LAMP网站服务器

LAMP是Linux Apache MySQL PHP的缩写,是一个著名的搭建网站的方案。在Windows和Mac下也有WAMP和MAMP。在Ubuntu Linux下安装这样一个Web服务,只需要下面一行命令:

sudo apt-get install -y apache2 mysql-server php7

安装过程会弹出一个要求设置MySQL密码的窗口。安装完成后,我们在浏览器上打开localhost可以看到"It works!"的页面,这个文件位于/var/www/index.html。我们可以在/var/www/创建我们的网站。

也许你现在还不怎么会编写网页,但不要紧,有一个很强大的自由软件叫Wordpress。它是一个内容管理系统(CMS),它可以让你在不懂网页编程的情况下完成简单网站的建设。2013年的数据显示,全世界有超过22%的网站是用Wordpress来写的,这是一个很惊人的数字。Wordpress有超过20000个插件,可以轻易地完成各种功能,例如新闻网站、链接目录、论坛、WIKI、电子商务、项目管理、微博、SNS、视频、图片网站等等。下面讲解一下安装Wordpress的方法,所有CMS的安装方法都是类似的。本来Ubuntu的软件是有wordpress的,但是因为CMS对系统依赖比较小,配置不难,为了获取最新的特性,我们选择从源代码安装的办法。

首先,我们从官方网站(https://cn.wordpress.org/)下载最新Wordpress版本并解压:

cd /var/www/

sudo wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip

sudo tar zxvf wordpress-4.9.4-zh_CN.tar.gz

然后创建数据库,其中yourpassword应替换成mysql root用户密码:

mysqladmin -uroot -pyourpassword create wordpress

接着,我们做基本的数据库配置:

sudo cp wp-config-sample.php wp-config.php

sudo vim wp-config.php

修改文件里DB_NAME参数值为wordpress,DB_USER参数值为root,DB_PASSWORD为mysql root用户密码

如果之前没有安装vim,可以通过如下命令安装:

sudo apt-get install -y vim

最后浏览器上打开http://localhost/wordpress/,根据提示配置网站即可。Wordpress的具体使用方法我就不介绍了,因为我只是为了编写本教程才第一次安装Wordpress的,我编写网站用的是另一个强大的自由软件——Drupal。

 

20.GCC编译器

本节内容仅面向了解C语言的用户,向用户介绍Linux下如何编程。

首先,我们需要安装编译所需的相关软件(如果还没有安装的话)。

sudo apt-get install -y build-essential

然后,我们用vim编写一个hello.c程序,内容如下:

#include <stdio.h>

int main(int argc, char **argv) {

printf("hello world\n");

return 0;

}

之后就是编译和运行

gcc hello.c

./a.out

屏幕将显示"hello world"。a.out是默认的编译输出文件,如果想改变这个名称,可以使用-o参数。注意,运行程序时,当前目录的文件前必须添加./,否则会找不到文件,因为当前目录并不是默认的搜索路径,这点和Windows命令行是不同的。如果想做单步调试,可以使用gdb,基于命令行的gdb对于一般的Windows程序员来说是噩梦,但是对于盲人来说这绝对是好消息。gdb的具体用法我就不介绍了,大家可以自行在网上搜索。

C语言已经是一般大专院校理工科学生的必修课了,C语言可以让我们了解计算机编程的思想。但是脱离框架或具体库的C语言本身是做不了什么实际的东西的。学会了C语言语法和使用VC编写有窗口界面的应用是比较不同的事情。有几年VC编程经验的Windows程序员也需要花上较长时间才能在Linux下编写一个简单的窗口。同样地,Android应用使用Java编写,但是懂Java语法不等于就会开发Android应用了。

 

21.Linux常用命令

本节内容全部在命令行运行,命令行终端可以用CTRL+ALT+t快捷键打开。使用Insert键+小键盘可以查阅终端内容。

查时间

date

重启系统

reboot

关机

poweroff

查看网络(包括查本机IP)

ifconfig

打包文件

tar cJf foo.tar.xz files folders

解压打包文件

tar xJf foo.tar.xz

清空终端屏幕内容

clear

查看系统资源和进程列表

top

SSH登录远程服务器

ssh username@hostname

远程增量同步文件(这是我用来同步本地和服务器Web代码的命令)

rsync ...

查看文件行数

wc -l foo

查看当前目录绝对路径

pwd

下载文件(支持断点续传)

wget -c URL -O filename.xxx

上面显然不是一个全集,甚至算不上常用的全集,它只是我之前没有提及过的命令补充,并且基本不涉及系统管理的命令。它只是我觉得普通Linux盲人用户应该了解的部分命令。

 

相关主题

新手使用Ubuntu 18.04引导

精选文章
热门文章