macターミナルで、現在のディレクトリまたはサブディレクトリでファイルを見つける方法は?
ファイル名は次のとおりです: 'something.py'
find . -iname something.py
(「。」は現在のディレクトリを指定します)。 -iname
は、find
にファイル名に対して次の引数を大文字と小文字を区別せずにチェックさせます。これは、MacOSファイルシステムの標準です。
「ターミナルコマンド」をシェルコマンドまたはコマンドラインと混同しないでください。
これはターミナルです: http://en.wikipedia.org/wiki/File:Terminal-dec-vt100.jpg
具体的には、これはDEC VT-100であり、UNIXが開発されていた頃にUNIXで最も使用されていたタイプの端末である可能性があります。 1980年代半ば頃まで、さまざまな種類の端末が多数ありました。これらのハードウェアでできることは、画面に文字を表示したり、画面上でカーソルを移動したり、行末までクリアしたり、ディスプレイを1行上にスクロールしたりすることだけでした。
そのデバイスはあなたには初期のPCのように見えるかもしれませんが、PCではありません。このデバイスでできることは、画面にテキストの文字を表示することだけです。また、画面に表示される文字や画面のどこに表示されるかについては、それ自体では決定を下しません。コンピュータ、通常はマルチユーザーのタイムシェアリングコンピュータによって何をするかが指示されています。
これらの制限にもかかわらず、これらのターミナルは、ユーザーがUNIX、プログラミング、アプリケーションの実行、ゲーム(はい、ゲーム)、電子メール、IRC、チャットなどですべてを行うために使用したものです...しかし、ターミナルでできることは、画面では、どのようにエディターを実行できますか?
あなたはできませんでした、そしてあなたはしませんでした。エディターは、マルチユーザーのタイムシェアリングコンピューター内で実行されました。たとえば、PDP-10には、30または40の端末が接続されている可能性があります。したがって、30人または40人のユーザーがすべて同じコンピューターを同時に共有する可能性があります。それらはすべて同時に編集していたかもしれません。しかし、どのように?
各ユーザーには独自のプロセスがありました。編集中のユーザーがPDP10内で編集セッションを実行すると、PDP10内のエディタープログラムが「ターミナルコマンド」**をターミナルに送信して、ターミナルの画面に表示します。
Vt100の実際のターミナルコマンドは次のとおりです。
[これらの3文字をvt100に1m送信すると、端末はBOLDモードになります。その後に表示されるすべてのテキストは、太字モードをオフにする別のコマンドが端末に送信されるまで、太字のテキストとして表示されます。
[; H画面上のX、Yの位置にカーソルを置きます。
[0K現在のカーソル位置から行末まで行をクリアします
[1K最初から現在のカーソル位置までの行をクリアします
[2 K行全体をクリア(カーソル位置は変更なし)
[3 0 mこれらの3文字を送信すると、端末は背景色を黒に設定します
最終的に、ハードウェア端末は完全に減少しました。しかし、UNIX(そして今ではもちろんLinux)で実行される何千ものプログラムの入力および表示デバイスになるために端末が必要でした。そこでX-windowsターミナルエミュレーターが誕生しました。これらは、プログラムの実行時に実際のハードウェア端末で何が起こるかをエミュレートする小さなグラフィカルプログラムです。それらは、実際の端末(またはほとんど)と同じように見え、動作するウィンドウを開きます。
ターミナルエミュレータには、X-term、Gnomeターミナル、Konsoleなどが含まれます。覚えておいてください-これらはどれも端末ではありません。ターミナルエミュレータです。上記のようなターミナルコマンドを送信すると、ターミナルエミュレーション画面に表示される内容を直接制御できます。
もちろん、エスケープ文字とコントロール文字を送信するのは面倒なので、当然、UNIX開発者は物事を簡単にするためのいくつかのツールを作成しました。 Terminfo、termio、curses、およびtputはすべて、ターミナルエミュレータへのターミナルコマンドの送信をはるかに簡単にするために使用される特別なユーティリティです。ほとんどの人は、tputがこれらの選択肢の中で最も有用であると感じています。したがって、Bashコマンドラインでコマンド、cat、awk、grepなどを入力するときは、「ターミナルコマンド」を実行していないこと、シェルコマンドまたはコマンドラインコマンドを実行していることを忘れないでください。 :)