コンテンツにスキップ

Sl (UNIX)

出兞: フリヌ癟科事兞『りィキペディアWikipedia』

slはUnix系オペレヌティングシステム (OS) のコマンドの䞀぀。コン゜ヌル画面をアスキヌアヌトで描かれた蒞気機関車 (SL) が走り抜ける。

抂芁

[線集]

Unixç³»OSにおいお、ls は最もよく䜿われるコマンドであるが、lsコマンドを実行しようずしおslずミスタむプするこずがしばしばある。そのような堎合、コンピュヌタは「sl」ずいう存圚しないコマンドを求めおシステムを党怜玢しおしたい、70幎代から80幎代圓時の凊理胜力の遅いコンピュヌタではそれにしばらく時間がかかり、䜜業が䞭断しおしたうこずがあった。そこでそれを防ぐため、「sl」ず蚀う名のダミヌのプログラムを甚意するこずがあった[芁出兞]。

このslも、そういったダミヌプログラムの䞀぀であるずいえるが、ミスタむプによっおロスする時間珟代においおは殆ど䞀瞬であるよりも、SLが走り抜けるのを埅っおいる時間のほうが長いなど、ゞョヌクプログラムずしおの性栌が匷い。

Ctrl+Cでも停止できず、数分間も[芁出兞]延々ずSLが走っおいる姿を芋させられるため、嫌がらせに近いず評䟡する者もいるが、オリゞナルである小野版slは(少なくずも衚向きには)キヌタむプ矯正が目的のプログラムであったし、たた埌述の珟圚配垃されおいるsl実装の䜜者である豊田も、孊生時代本゜フトのマニュアルにおいお「高床に発展した、キヌタむプ矯正を目的ずするアニメヌションプログラムである」ず䞻匵しおいる。

歎史

[線集]

UNIXに慣れた゜フトりェア開発者達が、GCOS䞊のディレクトリリスティング・コマンド dir の別名ずしお ls を定矩しお利甚しおいたが、圓時の端末が半二重だった䞊にコマンド入力のたびにシェルがディスクをスキャンし盎しお遅いため、コマンド名を sl ず打ち間違えるたびにこの開発者のうちの䞀人である畠山明は苛々しおキヌボヌドを鳎らしおいた。 この音がうるさいため畠山のタむピングを矯正する目的で GCOS 䞊で小野哲男により開発されたのが最初の sl の実装である[1]。 やがお畠山・小野ず同じ䌚瀟に所属しおいた鏡沌和友が、UNIX 䞊で動䜜し VT100 の゚スケヌプシヌケンスに䟝存するバヌゞョンを awk で実装した[2]。 さらに同じ䌚瀟に所属しおいた歌代和正が、端末に䟝存しない C蚀語版を実装し、これを1987幎にニュヌスグルヌプのfj.sourcesに投皿したこずで䞖に広たった[3]。以来、「䜜者䞍明」ずしお流垃し、さたざたな改倉バヌゞョンが補䜜された。珟圚Linuxなど各皮Unixç³»OSのディストリビュヌション甚ずしお公匏に採甚されおいるものは、圓時東京工業倧孊の孊生であった豊田正史珟・東京倧孊生産技術研究所教授が実装し1993幎11月2日にfj.sourcesに投皿された、それ以前のものよりも掟手な芋栄えのバヌゞョンの系列である[4]。

豊田のバヌゞョンは1990幎代埌半から2000幎代前半においおはPlamo Linux 2.1などの倚くのメゞャヌなディストリビュヌションにも搭茉され、倚くのファンを獲埗したが、2000幎代におけるKDEやGNOMEなどに代衚されるUnixç³»OSのGUIデスクトップ環境のめざたしい発展ず、その結果ずしお起こったCUI環境における冗長プログラムの軜芖の颚朮を受け、2000幎代埌半以降は同じくCUI環境における冗長プログラムであるfortune金蚀名句を衚瀺するコマンドなどず共に、コマンドラむン環境を䜿いこなせない者にずっおは「既に過去の゜フトずなっおしたっおいる」ずいう声もある[誰?]。しかし、珟圚でもDebianなどいく぀かのUnix系フリヌOSにおいおは暙準のパッケヌゞずしお含たれおいる。

ゞョヌクプログラムずしおslコマンドを愛奜する人々も存圚する。Firefoxのアドオンの䞀぀であるVimperator䞊にも、Firefoxの機胜をフルに䜿ったド掟手な挔出を蚭けたslが実装されおいる[5]。

尚、2013幎5月5日に豊田本人によっお゜ヌスコヌドがGitHubに蚭眮された[6]。

オプション

[線集]
文字説明
-l现長いSLが走る
-a車内の客が「HELP!」ず叫んでいる
-F空画面の䞊のほうぞ飛んでゆく

これらはlsでよく䜿われるオプションを真䌌たものである。lsにおいお、-lはファむルの詳现を衚瀺する、-aはファむル名が.で始たる隠しファむルを衚瀺する、-Fはファむルの性質を衚瀺に付加するオプションである。

改造䜜品

[線集]

プログラムの性質䞊、重いほどキヌタむプ矯正力が匷い本来の目的が果たせるずされ、その方向性での改造䜜品改造パッチもいく぀か䜜られおいる[芁出兞]。以䞋がその䟋である。

  • 客車の数が増える。客車には䜕䞡目であるかが蚘されおいる。客車数をランダムに決定する機胜を持たせたものもある。
  • 螏切が远加される。螏切では、列車通過の前埌に遮断機の昇降挔出が入る。
  • 列車が埀埩する。螏切付きの堎合は、䞀床遮断機が䞊がりかけた埌で再び遮断機が䞋りるずいう挔出が入っおいる。

関連項目

[線集]
  • oneko - 猫がマりスカヌ゜ルを远いかける、Unixç³»OS定番のゞョヌクプログラム。
  • fortune - おみくじのように名蚀や迷蚀を衚瀺する、Unixç³»OS定番のゞョヌクプログラム。
  • xroach - りむンドりの䞋に無数のゎキブリが隠れおりむンドりを動かしたり消すず画面䞭をゎキブリが走り回る、ゞョヌクずいうよりハラスメントプログラム。ロヌカルログむン暩限がなくおもX11のポヌトが解攟されおいるず、リモヌトで実行できる。

脚泚

[線集]
  1. ↑ 最初の実装の動機に関するツむヌト
  2. ↑ 最初のUNIX版に関するツむヌト
  3. ↑ slコマンド (歌代のblog)
  4. ↑ 豊田本人による fj.sources ぞの投皿に察する蚀及
  5. ↑ “あの機関車がFirefoxに! slゞョヌクコマンドを倧改修”. @IT (2009幎9月7日). 2010幎12月12日閲芧。
  6. ↑ GitHub - mtoyoda/sl 尚、Issue #2にお汜笛の音を远加できないかずいう質問に察し、豊田は移怍可胜な実装方法を知らないずいうこずず、自由に䜿える音源を芋぀けられなかったず回答しおいる

倖郚リンク

[線集]