●ファイルのパーミッションと実行
今回は、前回作ったシェルスクリプトファイルに実行権をつけて実行できるファイルにします。
前回はスクリプトを実行するためにシェルの引数としてスクリプトファイルを渡していました。(sh tmpsh)
今回は実行権をつけることでshを明示的に起動しなくても動作するようにします。
ls -l で表示される一番左に表示されている -rwxr-xr-x 等の表示はパーミッションと呼ばれ一文字ごとに意味があります。最初の一文字目はファイルの種類で - が一般ファイル d がディレクトリ c がキャラクタデバイスファイル b がブロックデバイスファイル pが名前付きパイプ sがソケットであることを示します。
その後ろは3文字ごとで一まとめに考えてオーナーに対する権限、グループユーザーに対する権限、その他ユーザーに対する権限を定義します。3文字のそれぞれは1文字目が読取権、2文字目が書込権、3文字目が実行権を意味します。
仮に -rwx------ というパーミッションの場合オーナーが読み書き実行できるファイルと言うことになります。
またディレクトリに対する実行権はcd をディレクトリに移動できるかどうかを示します。
動画の後半に tmpsh だけで実行できなかった理由はPATHと言う環境変数にカレントディレクトリの指定がないためです。Linuxでは環境変数のPATHに記載されているディレクトリにあるコマンドが実行可能です。なのでカレントディレクトリにある実行ファイルを実行したい場合はPATHにカレントディレクトリを示す「.」を入れるか ./tmpsh のように相対パスを使ってファイルを指定するようにします。