プログラム関連の記事はこちらへ    リニューアル中のページ

ノームラーのCUI大好き

知的生産の道具としてコンピュータを使うには

はじめに

Linux (Vine Linux) を使って、CUI の便利さに気がつきました。文字情報を扱うときの CUI のきびきびした反応は魅力的です。しかし、Linux の膨大なツールの数や EMACS などのコマンドの数を見ると、何をどの程度習得すれば良いのか戸惑います。このホームページでは、Linux を知的生産の道具として活用するためには、最低限どのツールをどの程度使いこなせば良いかを考えました。また、併せて、lynx, w3m, emacs, namazu などを組み合わせて作る便利な短いスクリプトを紹介します。

このホームページに掲載したスクリプトは、利用、改造、再配布自由です。著作権は著者が保有しますが、利用、再配布等に際し著作権を明記する必要はありません。また、これらのスクリプトは無保証です。これらのスクリプトによって発生したいかなる障害にも著者は責任を負いません。

知的生産の道具としてのコンピュータ

知的生産の道具コンピュータを知的生産の道具にするための最小限の知識とは。
道具としてのコンピュータ文書情報の管理に Linux をどのように活用するか。
wutils.tar.gz上で紹介したスクリプトのアーカイブ。 Vine Linux 2.5 ならそのまま使えます。

これだけ知っていれば、Linuxは使える

Linux で日本語の文書を作成するための最小限の知識をまとめました。ファイル操作のためのシェルコマンドの使い方、エディターの Emacs の使い方、日本語入力のための Canna の使い方、検索のための grep の使い方等です。

ファイル操作について(shell)基本的なファイル操作の方法、10個のコマンドで十分。
補完について(必須知識)LinuxのCUIが快適なのは、コマンド名やファイル名の補完ができるからです。
エディターを使う(Emacs)EMACSを使うための最小限の知識、20個のコマンドで十分。
Cannaを使う(canna)日本語入力のときに Canna をストレスを感じないで使う使い方。
情報を検索する(grep)情報検索のためのgrepの使いかた。
文書情報を処理する(perl)他人の作った perl のスクリプトを使う方法。
文書を印刷する(LaTeX)予備知識ゼロでLaTeXを使って文書を印刷するためには。
ホームページをダウンロード(wget)ホームページをまるごとダウンロードするには。

w3mを使ったHTML文書作成統合環境

日本で開発されているキャラクターベースのwwwブラウザー w3m を利用して、HTML文書を管理する方法について述べます。w3mの特徴を利用して、単純で機能的なシステムを構築できます。

ブラウザー(w3m)w3m をブラウザー、エディター、ファイルマネージャの統合環境として使う。(1999/10/8更新)
lynx を使う/w3m のかわりに lynx を利用することもできます。
w3m の tips
効率的なリンク集の作り方w3m の -bookmark オプションを使ってリンク集を効率的に作成します。
w3m の local CGIw3m の local CGI を使う。
w3m の local CGI その2w3m の 新機能 w3m-control: ヘッダ の紹介。

w3m はオンラインソフトウェア大賞 2000 入賞作品です。

その他の CUI ツールを解説したページ

ぜひ紹介したい CUI の知識だけれど、私の説明よりこちらのページのほうが良いです。

GNUPLOTの第一歩小栗栖さんの GUNPLOT の解説のページ。データの解析はこれがなくては始まりません。
Riueちゃんの正規表現講座Riue さんの正規表現を解説したページ。正規表現の知識は必須。
viを使い倒そうJFのviの使い方の解説。著者:服部正明さん
ひゃまだのテキストで行こうCUI な人が幸せになれるページです。
LaTeX TutorialIshii Laboratory 公開講座の LaTeX のチュートリアル

スクリプト集

CUI ツールのスクリプト集です。特徴は非常に短いことです。

メモ帳を作ろう簡単操作でメモ帳の作成、閲覧、検索のできるスクリプトです。
電話帳を作ろうCUIで操作できる電話帳です。超簡単スクリプトです。
検索用スクリプト lgreplynxを利用した grep の拡張版です。(2000/3/16更新)
検索用スクリプト wgrepw3mを利用したgrepの拡張版です。(2000/3/12更新)
検索用スクリプト nmzw3m 第2弾!! tknamazu と同じことができます。それも、高速です。(99/10/06更新)
検索用スクリプト mynmznamazu と w3m のコンビでパーソナル全文検索データベースを作ります。(2000/3/17更新)
検索用スクリプト nindexディレクトリー内の文書の全文検索を行う方法。(2002/9/21更新)
ファイル検索 wlocateファイル検索コマンド locate の出力をハイパーリンクにするスクリプトです。(2000/3/31更新)
特殊フォント変換 spfont.plHTML文書の特殊フォントの変換を自動で行なうスクリプトです。(99/11/05更新)
テキストファイル変換 ms2uWindows 形式のテキストファイルを Unix 形式に変換するスクリプトです。(2000/4/5更新)
青空文庫解凍スクリプト aozora.pl青空文庫のZip圧縮されたテキストファイルを EUCのUnix形式のテキストファイルに変換するスクリプトです。(2000/4/8更新)
HTMLツールを作るwgrep、wlocate などのRuby 版の記事です。(2000/4/8更新)

プログラム

せっかくコンピュータを扱うのだから、プログラムもやってみたいですね。

Ruby に挑戦Ruby 入門。
Ruby トレーニングRuby を反覆練習するためのドリル
Ruby でアルゴリズム「C言語によるアルゴリズム事典」を Ruby に翻訳
逆引き Ruby リンクです。Ruby 使いになりたい人は必見のページ。
プログラムで遊ぼう/その他のプログラム関連の記事。

論理学散歩

論理学について思いついたことを書いて見ました。Linuxとは関係ありません。以前から悩まされていた論理学のパラドックスについての感想を書いています。数学については全くの素人なので自信はないのですが、言いたかったのは、これらのパラドックスは結局、或る種の自己言及文 G(G) が解釈されるときにその真偽が反転してしまうと言う記号論的な問題ではないかということです。意味論的パラドックスも論理学的パラドックスも、本質は同じものではないでしょうか。記号論理学といえども記号を用いて記述されている限りは、記号は解釈されなければ意味を持たないという記号の性質から逃れられないと思います。そうしてそのような解釈の過程で発生するパラドックスの原因は、無限集合(に限らず)を定義するのに帰納的定義のような手続を用いることにあるのではないかという気がします。いずれにせよ内容は全く無保証ですが、素人から見るとこんなところが不思議だし、面白いなという所を述べたつもりです。

ここに述べたことについては、京都大学の長谷川真人さんの、自己言及の論理と計算(PDF)に不動点定理の観点から数学的にきちんと説明してあるようです。

ラッセルのパラドックスラッセルのパラドックスについて。(2001.05.15)
自分を要素として含む集合自分を要素として含む集合のどこが変なのか。(2001.06.12)
集合のネットワーク素朴集合論をネットワークモデルで考える(2003.6.8)
対角線論法の不思議実数をひとつだけ取りだすことはできない?
自然数の冪集合の不思議自然数の冪集合の対角線論法と実数の対角線論法は同じもの? (2003.11.02)
ゲーデル文素人がゲーデルの不完全性定理に挑戦するとどうなるか... (2002.11.17)
嘘発見機ゲーデルの不完全性定理の寓話
ラッセル・カント−ル・ゲーデルラッセルの集合、対角線論法、ゲーデル文は同じもの?(2003.02.27)
論理とは何か論理とは何かについての素人の意見。(2002.08.05)
記号論Wikipedia の Semiotics(記号論)の翻訳。
記号論その2記号論のノート。
記号論的読解法記号論からヒントを得た文書読解法です。
タルスキーの真理概念タルスキーの真理の定義について
パラドックスの意味論うそつきのパラドックスを記号論的に考えると
証明の読み方命題論理学の公理系を利用した証明の読み方
述語論理学命題論理学の勉強だけで述語論理学を理解できないかという虫の良い考察

おわりに

Linux の CUI は一見不親切で覚えるのも大変です。しかし、小さいツールを組み合わせて特殊な用途のソフトを作ることが簡単ですし、また、何と言っても個々のツールの機能が強力です。今までやりたくてもやれなかった色々なことが短いスクリプトを書くことでできるようになるのは、なんとも言えない楽しさがあります。

リンク集lynx、w3m、namazu、その他のリンク集

日記帳月並ですが....
雑感/
作者紹介
tnomuraのブログブログをはじめました。