viでテキストファイルを作成すると、コンピューターが変わりますか?


9

Linuxはテキストファイルに基づいて構築されたオペレーティングシステムであることを知っています。私がしたいことは、vi私が学んださまざまなコマンドをすべて使用してファイルを作成することです。そうすれば、/in を使用して個々のコマンドを非常に簡単に見つけることができますvi。しかし、コンピューターの機能が変わらない場合にのみ、これを実行します。これは良い考えでしょうか?


12
はい、どこかにテキストファイルがあります。;-)(冗談)実際、ファイルはファイルです。写真をフォルダーに追加するか、新しいワードドキュメントを作成するとコンピューターが変わるかどうかを尋ねるようなものです。はい、そうです。そこにもう1枚の写真/ドキュメントがあります。とにかく、あなたが得た答えはほとんど正しいです。
Rmano 2015

なぜそうなると思いますか?
Braiam 2015

2
「テキストファイルに基づいて構築されたオペレーティングシステム」が何を意味するのかはわかりませんが、テキストファイルに関しては、Linuxは、たとえばWindowsとそれほど違いはありません。たとえば、Windowsには.iniファイルと.batファイルがあります。
ハイド

また、vi(たとえば、と比較してgedit)何か特別なことはあると思いますか、それとも単に「テキストエディタ」を意味しましたか?
リスター氏

1
@BJsgoodlife 一部のテキストファイルはシステムを制御します。これらは特別な場所に置かれ、通常、なしで変更することはできませんsudo
cpast 2015

回答:


34

テキストファイルを作成しても、「コンピューターの機能が変わる」ことはありません。

特に、そのようなことを行うには、次のいずれかを行う必要があります。

  • 重要なファイルを上書きする
  • / etc内の* .dディレクトリのような特別な保護された場所にファイルを書き込みます。これを行う権限はありません
  • ファイルを実行可能としてマークし、パスに入れます

このようなことを明示的に行うつもりはないので、心配することは何もありません。特に、テキストファイルはすべての行でハッシュから始める必要があることを示唆することで、他の答えは不必要な長さになります。もちろんそうではありません。通常のホームディレクトリ内のどこかにテキストファイルを保存するだけでは何も起こりません。


3
#万が一、意図しないことが起こらないように置くことをおすすめしました。私は常により安全な側にいる方が良いと思います。
heemayl 2015

8
私はそれがだと思うないより安全側にあることを常に良いです。安全にはコストがかかり、リスクの低減はもはやコストに見合う価値がないポイントがあります。たとえば、それが安全を維持しようとしているものの値を超えた場合(この引数が意味のあるコンテキストで)。上にわたり情報セキュリティあなたは適切なセキュリティはトレードオフであり、それはすべてのケースでは、完璧なセキュリティを主張する愚かなことでしょうので、唯一の完全にセキュアなシステムは、また、完全に役に立たないですか議論の答えの多くを見つけることができます。
David Z

9
やや別の問題として、私が持ち出す最も重要なポイント(この答えはそうですが、他はそうではありません)は、任意のファイルを作成してもシステムを変更するために何もしないということです。システムに影響を与えるコードが含まれている場合、他のプロセスが探しているファイルを作成するか、作成したファイルを実行することによってのみシステムに影響を与えることができますが、完全に不明なシェルコマンドを実行しないという一般的なアドバイスに該当します、これはファイルを操作するかどうかに関係なく賢い方法です。
デビッドZ

2
サンドイッチにして。You won't have permission to do this。sudoは私にサンドイッチを作ります。Aye, aye, sir!
Lie Ryan、

2
@heemaylなぜファイルの最初の行を作成しないのですexitか?
Random832 2015

15

学習したすべてのコマンドをファイルに保存できますが、いくつかの重要な注意点があります。

  • ファイルを実行可能にしないでください
  • 決してsourceファイル
  • 最善の方法は#、すべてのコマンドの最初にaを付けて、すべてのコマンドをコメント化して、誤って実行されないようにすることです。この方法で、必要なコマンドを実際に検索でき、リスクもありません。#次のコマンドを使用して、各行の先頭に追加できます。

    sed -i 's/^/#/' <file_name>

編集:「neon_overload」と「David Z」がすべての行にハッシュを置くのは広すぎるため必要がないことを指摘したので、私は極端なセキュリティ対策として3番目のポイントを指定しました。また、「random832」で指摘されているように、3番目のポイントのはるかに優れた代替策は、でファイルを開始することですexit。それ以降のコマンドは実行されません。

EDIT-2:「Rinzwind」は2つの重要なポイントを述べています:

  • 既存のファイルを上書きしないでください

  • ユーザーのホームディレクトリにファイルを保存します(/home/$USER/)。


4
put a # in the beginning of all the commands to comment out all the commands so they don't get executed accidentallyそれが深刻な提案なのか、冗談なのかはよくわかりません。私の皮肉検出器は今日私に失敗しました。
Lie Ryan、

あなたは上の重要性を置く必要があることを単語「偶然」です..ユーザーが誤ってここで私はちょうどあなたが今明確である何chances..hopeを取っていないのです....実行可能ファイルとして、安全でないファイルのどこかに保つことが...
heemayl

4
1行ごとにコメントするのではなく、ファイルの先頭に単に「exit」などを配置することはできませんか?
o0 '。

たぶん彼は#を意味しました!-インタプリタがnullに設定されているため、実行されません。
ジョシュア

1
@BJsgoodlife、いいえ#!-ただexit; このようにして、あなたはからも保護されます。sh yourfile無効なシバンはそれから助けにはなりません。
Charles Duffy、

7

neon_overloadは非常に良い答えを持っています。

私はあなたの質問の特定の側面を少し拡張します-これをコメントにしますが、私はここで十分な評判がありません。

オペレーティングシステムとしてのLinuxは、テキストファイルに基づいたものではありません。とは言っても、あなたがどこから来たのか、ちょっとわかります。外部の観察者にとっては、特にWindowsと比較して、「テキスト」ファイルの編集と起動についてはかなり進んでいます。

これにはいくつかの理由があり、そのうちのいくつかは次のとおりです。

  • Linuxには、Windowsのようなレジストリシステムはありません。したがって、アプリケーションが設定をテキストファイルに保存することは一般的であり、Windowsのようにレジストリを編集するのではなく、編集するように指示されます。
  • Linuxはサーバーシステムとして非常に広く使用されており、デスクトップで使用するLinuxの多くはサーバーシステムでも動作します。Windows Serverとは異なり、Linuxサーバーは通常、グラフィカルインターフェイスなしで実行されます。したがって、Linuxサーバーでの実行が予想される製品、そして実際にはそのユーザーと管理者は、グラフィカルインターフェイスなしで動作することが予想されます。Windowsでのみ実行することが期待されている製品(およびシステムの機能、言うに値する)は、通常、GUI中心になっています(MS SQLなど)。
  • Linuxスクリプトシステムは、Windowsよりもいくぶん一般的で透過的です。Windowsではスクリプトが表示されますが、それらはsomething.vbsまたはanother.batと呼ばれます。それらがテキストファイルであることを必ずしも理解する必要はありませんが、私の2番目の点を考慮すると、Linuxでは.shファイルを覗き見する方がはるかに一般的です。
  • 最後に、Linuxの多くのユーザーはグラフィカルインターフェイスなしで作業することに慣れており、多くの場合、グラフィカルツールをいじるのではなく、GUIなしで行うようにファイルを直接編集します。システムのさらに深いところに何かしたいときは、ターミナルを起動するだけなので、多くの同僚もそうです。

「Linuxにはレジストリシステムはありません」が、dconf(en.wikipedia.org/wiki/Dconf)はあります。ただし、Linuxカーネルを実行するすべてのシステムがそれを備えているわけではなく、Windowsシステムがレジストリで構成するすべてのものがそこに構成されるわけではありません。
Daniel Landau

1

簡単に言えば、いいえ、viでテキストファイルを作成してコンピューターを変更することはできません。ただし、注意深くなければ、最初のテキストファイルを作成するだけで人生が変わる可能性があります。Unixの方法を学ぶことは、やりがいのある実践です。


0

viはテキストエディターです。したがって、テキストスニペットをテキストファイルに保存して検索するだけの場合は、組み込みコマンドを使用して、ターミナルから直接実行できます。

  1. テキストファイルにメモを書き込みます(ファイルが存在しない場合は作成されます)。

    重要なデータを含むエコーノート>> info.txt

重要:一重引用符と二重引用符に注意し、含める場合はスラッシュを前に付けます。

  1. ファイルでテキスト(例:)を検索しますimportant

    grep --color -i重要なinfo.txt

入力を回避する--color -iには、でエイリアスを設定する必要があります~/.bashrc

既存または存在しないテキストファイルに複数行のテキストを追加することもできます。

cat >> info2.txt

次にテキストを入力または貼り付け、完了したらCTR+ を押しますZ

システムの変更については、いいえ、自分のホームフォルダーにファイルを作成して実行しない限り、システムの動作は変わりません(たとえば、実行可能ファイルでなくてもファイルを実行できますbash myFile)。 。また、必要な場合にのみroot権限のみを使用するようにしてください。

そして最後に、ファイルベースのシステムの解釈は多少誤解を招きました。ほとんどのオペレーティングシステムには、システムの動作方法に大きな影響を与える重要な設定を保存するファイルがありますが、それらは事前定義された場所にあり、通常は通常のユーザーによる変更から保護されています。

たとえば、通常のユーザーとしてに追加したローカルの「実行可能」フォルダーがPATHあり、そのフォルダーにビルドと同じ名前の実行可能ファイルがある場合は、簡単に自分の足で撃つことができます以下のような一般的なユーティリティやbashのキーワード、-in testechocatforcut、など

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