相信linux下的记事本程序gedit大家都很熟悉了。今天,我们来分享一下语法高亮相关规则的一点知识;
1、功能说明
我们知道qml是一种javascript的语言;由Qt开发,后被ubuntu用来维护界面上层的逻辑,比如Ubuntu Phone用的就是他;最近想学一下Ubuntu Phone的相关技术,所以打算看一看相关源代码的qml文件;用gedit打开后默认是按纯文本方式显示的; 在最下方的状态栏可以手动设置文件语法高亮的格式,比如选为JavaScript的看着舒服多了;
[预留一个图片位置]
多个文件一一打开都要手动设置就很麻烦了,为什么不能自动识别qml为javascript呢? 搞linux的都是“懒人”,不喜欢手动处理太多事情,一切都想敲几个命令然后一切就自然的顺应自己的想法了;
在windows可以关联文件用不同程序打开,这只是很基础的一步;linux也有,设置默认程序而已,但是我们想要更高级的,让程序自动识别我们要处理的文本,所以要费一般功夫了;
2、原理讲解
2.1 gedit由很多中语法高亮方式,可以直接 菜单——View——Highlight mode中选取;
2.2 gedit由很多种配色方案,可以在 菜单——Edit——Preference——Font&Color中设置,一般用classic比较醒目好看;
而语法高亮的规则和处理是由另一个工具来处理的,名为:gtksourceview-3.0,大家搜索一下这个工具就清楚了;
3、处理方法
说了那么多废话,现在要提供对qml文件的支持,让其识别为JavaScript并进行语法高亮;
3.1 直接编辑配置文件:
然后下次用gedit打开qml文件就能够自动语法高亮了;
<metadata>
<property name="mimetypes">application/javascript;application/x-javascript;text/x-javascript;text/javascript;text/x-js</property>
<property name="globs">*.js;*.node;*.qml</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
4、额外奉献:
平时打开几个文件都是关闭了gedit的侧边栏的, F9打开侧边栏, 可以选择File Folder模式,可以看到整个目录的导航,方便多个文件的切换了;
本文链接
这是测试题答案,请先做测试题目,请点击这里查看题目。
这就是测试题答案了,赶快算出你的分数,并在页面底部看看你的Linux水平如何吧!
第一回合:人物
1 – Larry Ewing
2 – William Nelson Joy(威廉·纳尔逊·乔伊),通常人们称作Bill Joy(比尔·乔伊)
3 – Mark Shuttleworth(马克·沙特尔沃思),他领导着Canonical和Ubuntu
4 – Guido van Rossum
5 – Perl
6 – Postfix
7 – Eric Allman
8 – Andy Tanenbaum(台湾译作:谭宁邦)。 他指出Linux系统采用了宏内核,而谭宁邦认为微内核才是未来的方向,引发了著名的塔能鲍姆-林纳斯辩论(维基百科)。
9 – Stephen Bourne
10 – Richard Mathew Stallman(理查德·史托曼)
第二回合:系统管理
11 – 你有一个目录以 f 开头,并有文件 apple, orange and banana
12 – /etc/sudoers(sudo配置文件)
13 – Grub引导配置文件 (可能在 /boot/grub/menu.lst)
14 – /var/log
15 – Hello World
16 – uid:0
17 – Port 22
18 – 运行ls -i foo 找出 inumber(就说它是12345吧), 然后运行 find . -inum 12345
使用连接符成为一条命令就像这样:
find . -inum $(ls -i main.cf | cut -d' ' -f1)
注:inumber即inode编号,inumber和linode编号不是inode
19 - 密码配置文件里就是没有密码!为了安全,密码被哈希加密,并保存到 /etc/shadow
20 - ext3 是日志式文件系统, ext2 不是。
第三回合:命令
21 - 这会告诉Shell在使用通配符时将以 '.' 开头的隐藏文件也包括进去。
22 - mj@ucw.cz (这实在是令人很晕, 看看Linux的内核你就知道了)
注:查看了Linux内核,发现在video.s文件中存在
.ascii "Error: Scanning of VESA modes failed. Please "
.ascii "report to <mj@ucw.cz>“
23 - rm -- -r
24 - 权限会显示成 --S--S--T
25 - 它会删除光标所在的那行
26 - clone() 。 如果你想的话,也可以记住 fork()这个函数 。
27 - 在第一个例子中, foo 的所有者将成为当前登录的用户。但在第二个例子中,foo的所有者将成为root。
28 - iptables
29 - /etc/inittab
30 - 六个 (在Linux系统的任何目录中存在两个其实并不存在的链接。“.”表示该目录本身,“..”表示上一层目录。减去这两个链接,因此tutorials有六个子目录)
31 - find / -type p
32 - 用“>”将它重定向到 /dev/null
第四回合:名称
33 - Ethereal
34 - GNU Network Object Model Environment
35 - 原本意思为 'Kool Desktop Environment', 但是现在已经没有任何的实际意义。
36 - Oasis. 其实就是 '组织(Organisation)' 的简写,for the Advancement of Structured Information Standards', which is the name of the consortium that developed the standard
37 - 这是它的三位开发者 Aho, Weinberger 和 Kernighan 名字的缩写
38 - 嵌入式认证模块(Pluggable Authentication Modules,PAM,这是一组Linux身份验证的API)
39 - Warty Warthog
40 - 德语叫法 'Software und System Entwicklung' (Software and System Development).
You can have half a mark just for knowing it was something in German(如果你只是知道是某些德语,你可以记半分)。
41 - Yggdrasil
42 - 从它的创始人Ian Murdoch, 和他的妻子Debra得名
第五回合:残缺的界面
43 - Gimp
44 - OpenOffice.org
45 - CUPS的Webmin界面
46 - K3b
47 - KCalc
48 - KDE 主菜单标签烂 (在 OpenSUSE 10.3 中)
49 - KMail
50 - Rosegarden
51 - XChat
52 - GNU/Emacs
第六回合:发行版
53 - LPI 101, LPI 102 and LPI 199
54 - Lindows
55 - Mandrake
56 - 一只变色龙
57 – Xandros
第七回合:应用程序
58 - 鹦鹉螺(Nautilus)
59 - 阿帕奇(Apache)
60 – 被命名为Zip意味着它与同类压缩工具相比,压缩比最高,压缩所需的时间最短。
英文中的“压缩”应为compression
61 - 用于编辑HTML和其他Web内容的一个文本编辑器
62 - 一个轻量级的窗口管理器
63 - 一个开源的内容管理系统(CMS)
64 - 支持多协议的即时通讯软件
65 - 一个基于文本的用户邮件代理
66 - 一个可以通过软件打开和关闭其它计算机电源的设备. Stonith 表示 'shoot the other node in the head' ,用于关闭一个集群中宕机的节点,从而保证集群的高可用性。
第八回合:LOGO的名称
67 - Firefox
68 - Gnome
69 - Ubuntu
70 - Gimp
71 - Wireshark
72 – Debian
第九回合:零碎的问题
73 - 六个
74 - Mono
75 - 1991 (准确的说是1991年8月25日)
76 - 七百万行 (准确的是7107577行)
我们使用了这个命令统计: find /usr/src/linux -name '*.c' -exec cat {} \; | wc
77 - 侏罗纪公园
78 – Sun公司(也称升阳微系统公司,Sun Microsystems)
79 - 一只蜗牛 [因为蜗牛在一个安全的(Secure)外壳 (Shell)中!]
80 - Perl(著名的骆驼书,相信大部分人是知道了)
81 - 红帽(Red Hat)
82 - 美国国家安全局(The US National Security Agency,NSA)
第十回合:领袖
83 - Bruce Perens (开源倡导者)
84 - Guido van Rossum (Python创始人)
85 - 理查德·史托曼 (Richard Mathew Stallman,GNU和自由软件基金会,Free Software Foundation,FSF的领袖)
86 - Rasmus Lerdorf (PHP创始人)
87 - Jeremy Allison (因他为Samba所作的工作知名)
88 - Miguel de Icaza (一名Gnome, Mono还有其它软件的开发者)
89 - 温特·瑟夫(Vint Cerf,'因特网之父')
90 - Alan Cox (一位知名的内核黑客,传记http://news.csdn.net/n/20050908/26111.html)
你的水平
0-20: 你学习的道路还很漫长,我们祝你成功!
21-50: 你的学习已经取得了一些实质性的进展!你应该阅读技术文档,相关书籍,访问相关技术站点,学习更多内容。
51-70: 还不错!你应该对 RPM 是什么东西心中有数,修改xorg.conf配置文件对你来说也只是小儿科而已。
71-89: 疯狂的极客: 你是一位真正的Linux专家,你的引导菜单中可能存在六种不同的Linux发行版,并且都重新编译过内核,而且你正在计划将Linux安装到你的冰箱里。
90: 嗨,林纳斯!我们刚才说:“你也不一定全答对”,只是个玩笑而已,你懂的……
你的分数是多少呢?快快在评论中贴上你的分数与大家分享吧!
参考资料
- TuxRadar:http://www.tuxradar.com/linuxquiz-answers
- 比尔盖子 博客:http://biergaizi.info/archives/2011/07/863.html
本文链接
telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的 能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。
telnet命令还可做别的用途,比如确定远程服务的状态,比如确定远程服务器的某个端口是否能访问。
1.命令格式:
telnet[参数][主机]
2.命令功能:
执行telnet指令开启终端机阶段作业,并登入远端主机。
3.命令参数:
-8 允许使用8位字符资料,包括输入与输出。
-a 尝试自动登入远端系统。
-b<主机别名> 使用别名指定远端主机名称。
-c 不读取用户专属目录里的.telnetrc文件。
-d 启动排错模式。
-e<脱离字符> 设置脱离字符。
-E 滤除脱离字符。
-f 此参数的效果和指定"-F"参数相同。
-F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。
-k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。
-K 不自动登入远端主机。
-l<用户名称> 指定要登入远端主机的用户名称。
-L 允许输出8位字符资料。
-n<记录文件> 指定文件记录相关信息。
-r 使用类似rlogin指令的用户界面。
-S<服务类型> 设置telnet连线所需的IP TOS信息。
-x 假设主机有支持数据加密的功能,就使用它。
-X<认证形态> 关闭指定的认证形态。
4.使用实例:
实例1:远程服务器无法访问
命令:
telnet 192.168.120.206
输出:
Trying 192.168.120.209...
telnet: connect to address 192.168.120.209: No route to host
telnet: Unable to connect to remote host: No route to host
[root@localhost ~]#
说明:
处理这种情况方法: