本教程是面向盲人而编写的一部Linux入门教程,一共21集,适合初级Linux用户,每集语言都比较简短,很容易懂和容易学。如果你是一位盲人Linux用户,请先下载盲人专用操作系统eGuideDog Linux 0.5。
具体目录
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盲人用户应该了解的部分命令。
相关主题 |