Linux 在命令行(终端)下查字典

首先这里所说的字典是工具书类的字典,是翻译工具
其次这里的字典是在终端下运行的
Debian 系通用, 其他发行版类同

安装部分

首先,安装 dictdictd (一个是查询工具,一个是支持的服务)

sudo apt-get install dictd dict

然后,需要安装我们想要使用的词典

sudo apt-get install dict-gcide

sudo apt-get install dict-moby-thesaurus

如果你想查看还有哪些字典

sudo apt-cache search "dict package"

应用部分

首先,让我们检查一下dictd服务是否在运行并且安装了什么数据库

dict -I

下面是我的设备上的输出结果,因为我有自己安装数据库,后面会介绍方法

steven@Debian:~$ dict -I
  dictd 1.12.1/rf on Linux 4.0.0-kali1-amd64
  On Debian: up 01:16:09, 1 fork (0.8/hour)
  
  Database      Headwords         Index          Data  Uncompressed
  gcide              203645       3859 kB         12 MB         38 MB
  moby-thesaurus      30263        528 kB         10 MB         28 MB
  langdao-ce         405724       8445 kB       6417 kB         19 MB
  langdao-ec         435473      10177 kB       7723 kB         22 MB

查词的方法,参数 -d 后面接数据库(字典)的名字,如果不加它则是输出所有字典结果

steven@Debian:~$ dict -d langdao-ec penguin
1 definition found

From 朗道英汉词典 [langdao-ec]:

  penguin
     *['pengwin]
     n. 企鹅, 空军地勤人员

Notice

dictd 服务如果没有开启

sudo /etc/init.d/dictd start

或

sudo service dictd start

添加自己需要的字典

这个问题当时我找了好多教程没找到,后来自己动手找到相关的配置文件 /etc/dictd/dictd.conf ,里面有这么个内容

# Database section here:

include /var/lib/dictd/db.list

我大概看了下 /etc/dictd 里面还包含了各种配置,包括使用网络服务器等

然后我们修改这个列表就好了,下面是我修改后的内容

database gcide
 {
  data  /usr/share/dictd/gcide.dict.dz
  index /usr/share/dictd/gcide.index
}
database moby-thesaurus
 {
  data  /usr/share/dictd/moby-thesaurus.dict.dz
  index /usr/share/dictd/moby-thesaurus.index
}

database langdao-ce
 {
  data  /usr/share/dictd/langdao-ce.dict.dz
  index /usr/share/dictd/langdao-ce.index
}
database langdao-ec 
 {
  data  /usr/share/dictd/langdao-ec.dict.dz
  index /usr/share/dictd/langdao-ec.index
}

后面的两个内容(一个是汉英,一个是英汉)是我自己添加的,添加的字典要有 dict.dzindex 两部分,因为我可能不只一个用户使用这个字典,所以就直接把字典复制到了默认的 /usr/share/dictd/

给字典添加一个自定义的别名, 如果你也跟我一样嫌每次都要输入 -d 字典名 的话

修改别名我们可以通过修改这个文件来实现 (如果没有文件请自己创建)

vim ~/.bash_aliases

// 如果不喜欢 vim 可以选择 gedit 等等
// 图形界面可以打开文件管理器 `Ctrl + h` 显示隐藏文件直接编辑

下面是我编辑后的内容,不过你可以取一个符合自己习惯的别名

 alias fy='dict -d langdao-ec'
 alias fyy='dict -d langdao-ce'

我的别名是直白了一点,主要是这样比较短,好记而且输入方便

别名编辑后好像需要重新打开一下终端,或者运行下面命令才能生效

source ~/.bash_aliases

最后看下效果

steven@Debian:~$ fy penguin
1 definition found

From 朗道英汉词典 [langdao-ec]:

  penguin
     *['pengwin]
     n. 企鹅, 空军地勤人员
steven@Debian:~$ fyy 企鹅
1 definition found

From 朗道汉英词典 [langdao-ce]:

  企鹅
     penguin

英汉汉英问题就都解决了,后面贴出字典文件的分享和参考文章

字典文件: http://pan.baidu.com/s/1mgW3L9Y 密码: b7qw 已失效
链接: https://pan.baidu.com/s/1sh8V5NPh6-bqwxg7UALZVQ 密码: f6h8 更新:2018年07月23日
参考文章: https://linux.cn/article-2953-1.html

    原文作者:owl
    原文地址: https://www.jianshu.com/p/661c8e5bed86
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞