-
继续在 Linux 世界里找东西
续上一篇. 对于新手老手, 都有一些文件是要找的. 自己的脑子永远不会比一块几百元的硬盘更方便存东西, 所以与其记住每个文件在哪, 不如记住如何找到这些文件. 当然, 养成一个一致的文件存放习惯也很有帮助. 找不常更改的系统文件, 例如某个命令的”真身”位置, 我一般用 locate 命令. Locate 命令是从有索引的数据库里搜索匹配的文件, 所以速度最快. 但有可能数据库更新的不够及时, 也就是说数据库里搜到的文件实际在磁盘上可能不存在了. 因此我不推荐使用 locate 来搜索经常更改的用户文档. 使用方法很简单, 例如我要找 lsb-release (LSB = Linux Standard Base): ~ locate lsb-release /etc/lsb-release /usr/share/bug/lsb-release /usr/share/doc/lsb-release /usr/share/doc/lsb-release/README.Debian /usr/share/doc/lsb-release/changelog.Debian.gz /usr/share/doc/lsb-release/copyright /var/lib/dpkg/info/lsb-release.list /var/lib/dpkg/info/lsb-release.md5sums /var/lib/dpkg/info/lsb-release.postinst /var/lib/dpkg/info/lsb-release.postrm /var/lib/dpkg/info/lsb-release.prerm 输入 locate file, 那么 locate 会自动按照 *file* 的规则来查找, 也就是说任何包含 file 的文件以及文件夹都会被搜出来的. 一个更强力的命令是…
-
在 Linux 世界里找东西
今天看到年轻的同事在那费力的找系统里某个文件, 我就指点了一下如何使用 find 命令找文件. 估计同事对我的敬仰又高了些吧, 开玩笑了, 我还羡慕他年轻呢… 说实话我的 Linux 水平也顶多算是唬人阶段, 抽空总结一下, 共勉. 首先是互联网里找某个域名的信息, 用 dig (就是挖), 很简单的. $ dig raynix.info ; <<>> DiG 9.9.2-P1 <<>> raynix.info ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37258 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 6, ADDITIONAL: 13 ;;…
-
Ubuntu 13.04 + Gnome Shell 3.8
A Ringtail 最近电力不是很充足, 因此我也没怎么折腾, 也就是升级一下 Ubuntu 吧. Ubuntu 13.04 (Raring Ringtail) 放出后, 感觉真是没有太大升级的必要. 不过自由软件这点好, 从来不为升级付费, 那还是升一个吧. 现在升级太容易了, 可以点鼠标也可以敲命令, 没什么技术含量了. 我在 CLI 里输入 sudo do-release-upgrade 然后一路确认, 就完成了. 哎呦, 桌面怎么黑了, 这又不是盗版 Windows 啊? 经过我周密的调查( 就是 Google 一遍 ), 原来 Ubuntu 13.04 软件库里包含的 Gnome Shell 是3.6版本的, 其中一个软件包的 bug 造成了无法显示桌面背景. 也可以在 Gnome Tweak Tool 里面开启”Have file manager handle the…
-
听美剧, 练英语听力
最近没新书可看了, 于是琢磨着在上下班路上练练听力. 最后我选择了 The Big Bang Theory 这套剧, 因为基本全是对话, 不看画面的话也不会漏过太多信息. 下面是在 Linux 上从 MKV 文件里抽取音轨并输出为 MP3 的方法: 1, 首先确保你有必要的软件. ffmpeg 是著名的开源媒体编解码器, libavcodec-extra 包括 libmp3lame 也就是 MP3 的编解码器(codec): sudo apt-get install ffmpeg libavcodec-extra-53 2, 抽取音轨 avconv -i your.mkv -vn -acodec libmp3lame -ac 2 -f mp3 your.mp3 然后把生成的 MP3 文件传到手机里就可以了. PS. 关于版权, 通过P2P下载电视剧从来都不是合法的. 但是就像下载 MP3 音乐一样, 如果把违法下载的人抓起来, 恐怕除了不通电的地区都不会剩下几个人了.…
-
笑笑五岁一个月以及复活节
笑笑非常喜欢她的学校, 但美中不足的是班上有个非常调皮的孩子, 经常欺负其他小朋友. 这边孩子的事一般家长是不介入的, 所以除了家长返映给老师也没什么别的可做. 一天放学回来, 笑笑说那个小朋友打到了她的嘴. 我们都很生气. 吃晚饭时我说, 他再碰你, 你就一巴掌抽他. 笑笑说, 那不行呀, 我的手会疼的. 我就差点喷饭了. 和上个月写到的一样, 笑笑不爱做功课. 渐渐的, 班里另一个华人孩子也超过笑笑了. 所谓功课就是学写单词, 一组单词会说会写后就可以学习下一组. 周末吃饭的时候, 我说, 笑笑你把第3, 4组通过了考试, 才可以玩 iPad 了. 笑笑有点不高兴, 不过也接受了. 我又说, 小朋友们都学到第4组了, 你才过第2组, 落后了… 突然我注意到笑笑的表情凝固了, 进而悲伤. 我心想, 笑笑还是很上进的么… 老婆顿时心软, 说, 笑笑没事, 第4组已经认识好几个了. 笑笑依旧一副哭相. 我问, 笑笑你怎么了? 笑笑强忍悲伤, 说, 刚才我咬了自己的嘴唇了… 笑笑小朋友最近感觉”翅膀硬了”, 对此老婆经常说笑笑越来越不听话了, 并开始怀念笑笑以前傻乎乎的随便摆弄的时候. 我有时也被笑笑气个够呛, 不过事后想想, 孩子”不听话”未必是个坏事. 小孩子不听话了,…
-
确认一个 Email 地址是否存在
前些天做销售的同事给我出了个题目: 她的客户数据里有很多的 Email 地址都是过期的或者错误的, 因此群发发邮件时会收到很多退信. 但是由于数量较大, 又不好手工去一一找出哪些地址是无效的. 有没有可能用程序解决呢? 当然是可能的啦, 思路: 首先肯定不能通过发邮件来测试, 因为, 乱发垃圾邮件那是违法的. 于是我采取三个步骤: 利用 regex 从 Email 地址的格式上先淘汰一些, 例如连 @ 都没有的那肯定不是合格的 Email 地址. 再从 DNS MX 记录上淘汰一些. 如果某域名没有有效的 MX 记录, 那该域名结尾的任何 Email 地址都是无效的. 最后使用 SMTP 协议”假装”发邮件, 只查询收件人是否存在, 便挂断. 基本能够达到目的, 但不保证 100% 准确. 因为… 很多发垃圾邮件的专业户也是这么做的, 所以一些邮件服务器对此是提防的. 程序如下. require ‘net/smtp’ require ‘dnsruby’ class EmailValidator def check_format(email) m…
-
用一秒钟解数独(Sudoku)
最近要热身一下准备做编程工作了, 想起来以前曾计划写个程序解 Sudoku 但一直拖拉也没做成, 那说做就做吧. 首先我从手机里的 Sudoku 游戏里抄了一道高难度的题目, 写成九行九列的一个方阵. 然后找到已知的数字, 猜测未知的数字. 基本算法是递归. 经过一些优化, 从第一个能解题的版本的 4.6 秒改善到第三版的 1.1秒. 改天再战, 希望能进 1 秒内. 源码我放 GitHub 了, 这里就不重复贴了.
-
Enclave MK III(Raspberry Pi + OpenELEC)
距离上次 Enclave MK II 的完成已经两年多了… 前些天测试了一下 Raspberry Pi, 我发现这小东西居然可以胜任 1080P 解码. 看来可以考虑让 MK II 退休了. 下面是我用 Pi 搭建媒体中心的(简要)步骤: 首先是准备一张 SD 卡, 貌似没有什么容量要求, 不过还是大一点吧. 要安装的系统是 OpenELEC. 下载其为 Pi 编译的专用版本, 然后按照这里的详细步骤来写镜像到 SD 卡. 顺便赞一下 OpenELEC 团队, wiki 里面同时照顾 Linux, OSX 和 Windows 用户. 之后把写好的 SD 卡插到 Pi 上, 连上网线, HDMI, USB(包括供电, 键盘, 外接硬盘. 我把供电和外接硬盘合二为一了), 就可以准备开机了. 见到 XBMC…