ターミナルコマンドを学習するように人々を訓練できるゲームはありますか?[閉まっている]


98

ターミナルの使用方法を学ぶことは、Ubuntuの使用方法を学ぶための前提条件であるように思えます。だから私は学ぶための最良の方法を見つけようとしています。Quizletオンラインフラッシュカードはありますか?より良い方法は?


4
少なくともGoogleを試しましたか?
mdpc

27
クラッシュコースが必要な場合は、「誤ってシェルだけが読み込まれるように構成ファイルを誤って無効にした後、GUIを元に戻す方法」が常に勝者です。ゲームに負けた場合、ペナルティには、灰色のひげを生やした友人に好みの飲み物のケースを購入することや、OSを再インストールすることが含まれることに注意してください。
ダン・ニーリー

6
@fluffy:それも難しくありません:rm -- '-rf ~/*'。本当に難しい場合は、名前がすべて印刷できない制御文字で構成されているファイルを削除してみてください。名前を印刷するだけで端末が台無しになる場合のボーナスポイント。
イルマリカロネン

3
それはそれほど難しいことでもありません:P rm -i *そして、あなたが正しいファイルに出会ったときはいと答えてください。
ooa

5
「実生活」はゲームとしてカウントされますか?
ジョナサン

回答:


132

~/.bashrcファイルの最後に次の行(コマンド)を追加できます。

echo "Did you know that:"; whatis $(ls /bin | shuf -n 1)

ターミナルを開くたびに、ランダムコマンドについて学習します。


楽しみたい場合は、cowsay「ユーティリティ」を使用できます。それをインストールするには、ターミナルでこれを実行します:

sudo apt-get install cowsay

次に、~/.bashrcファイルの最後に次の行を追加します。

cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1)

または、上の行をエイリアスとしてに追加できます~/.bash_aliases。追加した:

alias ?='cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1)'

あなたが退屈するときはいつでも、あなたはターミナルでタイプすることができます:(?後に続くEnter)自分でサイコロをプレイするようなものです。

ここに画像の説明を入力してください


2
それは非常にクールですが、デフォルトのシェルを使用する私のディストリビューション(Ubuntu 13.04)ではDid you know that: mkdir: nothing appropriate.、シェルを起動するたびに取得します(わかりやすくするために、常に表示されるmkdirわけではありませんが、常に表示されますnothing appropriate)。whatis私はあなたのコード行を~/.bashrc最後ではなく先頭に置いた場合に機能します。それを台無しにするのは確かではありませんが、他の人も同じ問題に遭遇するでしょう。
snim2

3
@ user606723私が選んだの/binは、使用頻度の高いコマンドがあるからです。ただしecho "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1)、すべてのマニュアルページからランダムページを選択するために使用できます。
ラドゥラデアヌ

1
@RaduRădeanuはlsの出力を解析しません!
heinrich5991

3
@ heinrich5991もちろん一般的には正しいのですが/bin、名前にスペースや改行が含まれている場合は、スクリプトの悪癖よりも大きな問題があります
。– evilsoup

1
@ snim2私はこの問題はの別名もある疑いがあるlsことが追加-Fまたは出力に影響を与え、いくつかの他のフラグ。に変更ls /bin/bin/ls /binます。
ジル

37

で遊んだことがありwhatisます。それは正確にゲームではありませんが、学ぶための比較的簡単な方法です。

たとえば、次のように入力するwhatis sudo apt-get update と、次が返されます。

ここに画像の説明を入力してください

コマンドを実行する前に、whatis最初にそれをヒットします。私は何をしようとしているのかを学び、自信を持ってコマンドを実行します。

whatis多くの情報を提供しない場合、またはそれが私にとって不明確な場合は、にアクセスして読んでくださいman

たとえば、man sudo

Googleは、Ask Ubuntuの内部と外部のソースを提供しています。ここで、LMGTFY:Ubuntuでターミナルコマンドを学習する最良の方法


1
「何か」コマンドを使用してBEFOREのwhatis something詳細を読むことを強くお勧めしますman something^^。特に、いくつかの(ほとんどの!)コマンドddについては、たとえば...男は、たとえば、あなたが自分で提供する例の "更新"パラメーターについても説明します...あなたの例では、whatisは "apt-get"を示していますそして、「更新」コマンドの定義を見つけようとしますが、このコマンドは存在しません(ただし、完全に無関係な可能性があります)
オリヴィエデュラック

27

はい、Terminusはかつてそのようなゲームです。そこライブバージョンがあり、ここで、コードがあるgithubの上で。コードはもっと簡単に拡張できることを望んでいますが、それはきちんとしたアイデアです。


21

ゲームについては知りませんが、役立つ便利なコマンドラインユーティリティがいくつかあります。

コマンドは何をしますか?

whatis command
# example:
$ whatis cut
cut (1)              - remove sections from each line of files

どうすればいいですか?

man -k keyword
# example:
$ man -k "remove empty"
rmdir (1)            - remove empty directories

代わりに:

apropos keyword  
# defaults to printing every result with at least one of the keywords supplied
#   use --and to only print results matching multiple keywords.
$ apropos zip --and extract
funzip (1)           - filter for extracting from a ZIP archive in a pipe
unzip (1)            - list, test and extract compressed files in a ZIP archive
unzipsfx (1)         - self-extracting stub for prepending to ZIP archives
uz (1)               - gunzips and extracts a gzip'd tar'd archive

どのように使用しますか?

man command
# example:
man tar
# use '?' key to search, and 'q' to quit.

または、次のようなヘルプオプションをサポートするユーティリティもあります。

$ umount --help
Usage: umount -h | -V
   umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]
   umount [-d] [-f] [-r] [-n] [-v] special | node...

これらはの形であってもよいですcommand -hcommand --helpcommand -?

詳細については:

info command
# example:
$ info cat
# shows an information page

あなたが達成する必要がある特定の何かを持っている場合、Googleはあなたの友人です。それ以外の場合は、O'RiellyのBash本など、多くの本があります。


1
追加aproposしてinfoリストに追加します。;)
ヨハネス

3
私は使用を避けたい<>使用する方向を必要とする人々のように、全くmanのリダイレクトの危険性を知らないかもしれません。たとえば、現在のディレクトリに空のファイルcommand <something> somethingelseを作成しsomethingelseます(または既存のファイルを切り捨てます!)。それは悪い習慣です。使用するだけman commandで十分に説明できます。またはman __some__command__安全なもの。
オリビエデュラック

うーん、実際にそれがあれば安全で<something、既存のファイルではありませんそれ以外の場合は、シェルはそれが存在していない文句を言うだろうと(明らかに出力ファイルを作成する前にそれを行う)、...しかし、それでもまだ、悪い習慣
オリヴィエ・デュラック

1
いい視点ね。その形式でドキュメントを書くのに慣れていた。(編集)それらを削除しました。
azz

14

コマンドラインfuを見てください

いくつかのクールなコマンドラインスニペットを参照できます。さらに深く理解したい場合は、使用するコマンドのマニュアルを読むことができます。


climagicも同様のサービスですが、コマンドの長さをツイートに合わせて制限します。@climagicでフォローしてください
トマーコーエン14年


13

Ubuntuは非常に使いやすいように設計されています。端末の使用方法を学ぶことは、Ubuntuの使用方法を学ぶための前提条件ではありません。ただし、パワーユーザーになったり、問題を自分で解決したい場合です。

あなたの質問に答えるために、シェルコマンドを支援したり教えるために設計されたゲームは知りませんが、bashとシステム管理に関連する次のリソースを強くお勧めします。

このチュートリアルではRed Hat(別のLinuxディストリビューション)を使用し、サリー大学の学生にのみ適用されるいくつかのディレクトリを参照していることに注意してください。

The Linux Documentation Project(http://www.tldp.org/)でホストされ、著者Mike G

ウィキペディアのウィキブック

GNU Bashリファレンスマニュアル

Advanced Bash-Scripting Guide(http://linux.die.net/)、著者Mendel Cooper


8

http://overthewire.orgにたくさんのゲームがあります。最も簡単なのは「絶対初心者向け」のBanditです。


素晴らしいリンク。そこには多くのウォーゲームがあるようです。Bandit私のような絶対的な初心者向けのゲームのようです。
サンディープ


2

Memrise Toolには、UnixおよびLinuxのコマンドラインセクションがあります。パンチカードのような方法で何かを学ぶのに最適なツールです。


それは私が念頭に置いていたものではありませんが、私が使用する素晴らしい学習リソースのように見えます。どうも!
資本主義が勝つ

ShellFuコースもあります。Memriseはそれ自体がゲームではありませんが、それでも非常に魅力的であり、あなたの競争的な性質でプレイします。
ThomasH

私はちょうどmemrise.comから広告のページを取得します:(
パディランダウ


1

Uplinkというゲームがあります。それは非常に楽しかったし、Linuxシェルと非常によく似ています。ただし、独自のコマンドもあります。


1
アップリンクが素晴らしいゲームですが、それのコマンドラインはに制限されてcddirdeletereboot。まったく不十分です。シェルスクリプトを実際に記述する必要があるハッカーゲームがもう1つあったことを覚えていますが、名前を忘れました。おそらく「ハッカー」として創造的な何か
トビアスキーンズラー

1

長期の暗記と学習のために見つけた最高のツールは、アンキです

http://www.ankisrs.net/

Ankiでは、単にフラッシュカードではなく、答えを入力する必要があるカードを作成します。それは筋肉の記憶を構築します。さらに、私は毎朝15分間のトレーニングを行い、Ankiはレビューする必要があるカードに基づいてカードを並べ替えます。


良いツールのように聞こえますが、端末コマンドのトレーニングデータも提供しますか?
gertvdijk

0

初期のUNIXの時代(v6およびv7)(Linuxの前にあります)には、というコマンドの下で一連の非常に単純なチュートリアルがありましたlearn。私はそこでトレーニングを始めました。コマンドライン、vi、およびCプログラミングの少しのチュートリアルがありました。消えてからずっと経ちました。そしてもちろん、これはこのテーマに関する本が急増する前のことでした。大量の簡単なインターネット接続、基本的にあなたが持っていたのは基本的にmanページだけでした。

とても簡単です。基本的にはGoogleにアクセスして、投稿されたドキュメントを見つけてください。または、Amazonを使用して適切な本を見つけてください。Amazonの本には評価とレビューもあります。


0

さて、Linuxがまだほとんどコマンドラインベースであり、SUSEがGUIベースのインストールを備えた数少ないLinuxの1つであったときに学んだ基本のほとんど。私は最近Gentooで遊んでいました... pm-sensorsなどのツールを使ってシステムをインストールするだけで、すぐに端末に戻っていくつかの設定ができます

コマンドライン経由でインストールされたディストリビューションがまだあるかどうかはわかりません。1か月前までLinuxでの作業をやめていました。そこにいるすべてのプログラマのおかげで、私の古いPCの多くが再び役に立ちました!!!

愚かなMSはもはや彼らの最高の製品を維持するにはあまりにも愚かです... Windows XP ...それを行う会社、確かにOSを完全に安定して安全にすることを検討していない...そしてWin 7の場合には彼らは安定性と安全性は非常に高くなりましたが、そのためには多くのリソースが必要になります。

Windowsのように、巨大なコンパイラーやインタープリターなどの方法でハードウェアを制御しないLinuxの方法が本当に好きです。

しかし、Linuxについてもっと知りたいなら、Gentooはあなた自身のシステムをステップバイステップで構築し、Linuxの仕組みを学ぶ素晴らしい方法です。Gentooは、ハードウェアリソースがどれだけ小さくてもほとんどすべてで実行できるため、これらのLinux用の他の古いPC、インストールテスト、楽しい時間を取ることができます!



0

ゲームではなく、http: //www.stanford.edu/class/cs124/kwc-unix-for-poets.pdfをご覧ください

他のsed、awk、grepをカバーし、ngramのカウント、ソート、計算方法などを示します。演習などがあります。私は何度も何度もそれを参照しました。


0

ゲームではありませんが、コマンドを学びたいときにLinuxが利用できない場合に便利です:rextester


0

ゲームキューブのマトリックスは、UNIXターミナルについて(13歳の以前の知識と比較して)かなり学んだことです。そのレベルをプレイしているときに、後でピックアップするために銃を降ろすためにマトリックスに「ハック」するミニゲームがありました。実際、これまでのどのゲームでも私のお気に入りの機能の1つではありません。


0

inx(Xではない)はライブcdとして使用でき、端末の内容を楽しくインタラクティブな方法で教えます


0

バンディット は、Linuxコマンドについてより多くを学び、理解し、初心者向けのlinuxについてより多くを知るための最高の1つだと思います。ここからリンクを取得できます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.