web-dev-qa-db-ja.com

ファイルを実行可能にする方法

ダブルクリックして実行できるようにファイルを作成するにはどうすればよいですか? .shスクリプトですが、次のようなファイルもあります:

executable (application/x-executable)

それらが何であるかの説明で。

ターミナルから、またはダブルクリックしてこれらを実行することはできません。

可能であれば、GUIまたはターミナルのいずれかを使用する方法を希望しますが、2つの組み合わせは使用しません。

右クリックしてプロパティに移動すると表示されるスクリーンショットを次に示します。最初のファイル:

properties of executable file

そして、ここのシェルスクリプト:

properties of Shell script

NB:これは重複していることを受け入れます(探していて見つけられなかったので、見つけて欲しいと尋ねて+答えました)。しかし、.desktopファイルに関する質問は複製。

27
Tim

ファイルを実行可能にする2つの方法があります。

GUIメソッド:

[アクセス許可]タブに移動し、[Execute: [✓]ファイルをプログラムとして実行することを許可する]ボックスをオンにします。

コマンドライン方式:

ただ走れ:

chmod +x /path/to/your/file.txt

chmodには、さらに高度なオプションもあります。 --- --- ---として表される3つのグループのオプションを受け入れます。 ---の最初のセットはユーザーです。 2番目はグループで、最後はその他(他の全員)です。

rは読み取り、wは書き込み、xはeXecuteを表します。

全員に読み取りを許可するが、実行するグ​​ループと読み取りと書き込みを行うユーザーのみが-rw- rx- r--になります。これは次のようにコマンドに追加されます。

chmod +rw-rx-r-- /path/to/file.extension

chmodも数字でこれを行うことができます。バイナリに基づいています。

したがって、これらの数値があります。

ユーザーによる実行は100です。グループごとの実行は010です。他者による実行は001です

ユーザーによる書き込みは200です。グループごとの書き込みは020です。他による書き込みは002です。

ユーザーによる読み取りは400です。グループによる読み取りは040です。他の人による読み取りは004です。

次に、これらを一緒に追加して、目的の組み合わせを取得します。

だから、誰もがそれを読むことができるが、実行するグ​​ループとそれを書くユーザーだけが400 + 040 + 004010200になるでしょう

合計すると600 + 050 + 004 = 654になります。

その後、コマンドを実行できます。

chmod +654 /path/to/file.extension

それを設定します。したがって、すべての権限を設定するには、次を実行できます。

chmod +rwxrwxrwx /path/to/file.extension

または

chmod +777 /path/to/file.extension

最後に、次のことができます。

chmod -777 /path/to/file.extension

すべての権限を全員から奪うため。

そして:

chmod +300 /path/to/file.extension

他のアクセス許可(実行アクセス許可など)に影響を与えずに、ユーザーに読み取りと書き込みを追加するため。

このWebサイト には非常に便利な小さなツールがあります。これにより、必要なオプションにチェックマークを付けることができ、コマンドが表示されます。

ただし、使用可能なすべての組み合わせが賢明なわけではありません。使用される主なものは次のとおりです。

  • 755-Ownerにはすべてがあり、GroupおよびOtherは読み取りと実行が可能

  • 700-Ownerにはすべてがあります

  • 644-Ownerは読み取りと書き込みが可能で、GroupOtherは読み取りが可能です

  • 600-Ownerは読み取りと書き込みが可能

また、重要なユーザーグループを使用している場合:

  • 775-Ownerは読み取りと書き込みが可能で、GroupOtherは読み取りが可能です

  • 770-OwnerGroupにはすべてがあり、Otherは読み取りと実行が可能

  • 750-Ownerにはすべてがあり、Groupには読み取りと実行が可能

  • 664-OwnerおよびGroupは読み取りと書き込みが可能で、Otherは読み取りのみ可能

  • 660-OwnerおよびGroupは読み取りと書き込みが可能

  • 640-Ownerは読み取りと書き込みが可能で、Groupは読み取りが可能です

/tmpを除き、777と666はほとんど使用されません。

ありがとう Ilmari Karonen for pointing out 一般的に使用されているもの!

48
Tim