クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

毎日使う Linux 2:権限と削除

レッスン全文をここで読めます。無料アカウントを作成すると、実際のラボで実践できます。

仮想マシンラボ読了目安 12分コマンド12個

動かないスクリプト

小さなスクリプトを書いて、名前を打つと、マシンは「permission denied(許可されていません)」と答えます。書いたのは自分で、自分のものなのに、断られます。Linux では、どのファイルにも、だれが読めるか、だれが書き換えられるか、だれが実行できるかが決まっているからです。

このレッスンが終わると

メモ

ファイルを実行できる人を変え、ファイルを気をつけて消すことができる。

キーワード

  • 権限:ファイルを読む、変える、実行できる人の決まり。
  • 所有者:ファイルの持ち主のユーザー。
  • グループ:いくつかのファイルを共有するユーザーの、名前の付いた集まり。
  • スクリプト:マシンが代わりに実行する、コマンドを書いたファイル。

ウォームアップ:すでに知っていること

メモ

頭の中で答えてみましょう。1. いまいるフォルダーを表示するコマンドはどれですか。2. ファイルの中身を置き換えて、文字を入れる記号はどれですか。3. ファイルとフォルダーは、何が違いますか。

はじめる前に

メモ

このレッスンの上にあるバーのラボを起動を押してください。このラボは、あなた専用の Ubuntu のマシンまるごとです。コンテナよりも、立ち上がるまで少し時間がかかります。実行ボタンを押すと、コマンドが順番にマシンのターミナルへ入力されます。「マシンはまだ起動中です」と出たら、数秒待ってからもう一度押してください。自分で入力と書かれたコマンドは、自然には終わらなかったり、途中で何かを聞いてきたりします。そのときは、バーのターミナルを開くを押して、自分で打ち込みます。

新しいファイルは、まだ実行できない

ls -l の最初の列が権限です。最初の1文字のあとに、rwx が3組並びます。所有者、グループ、それ以外のみんなが、読む(r)、書く(w)、実行する(x)ことを許されているかどうかです。新しいファイルには x がないので、1回めの ./hello.sh は断られます。chmod +x で実行の許可を足すと、2回めは it works と表示されます。

コマンド
cd

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
echo 'echo it works' > hello.sh

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
ls -l hello.sh

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
./hello.sh

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
chmod +x hello.sh

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
ls -l hello.sh

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
./hello.sh

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

チェック

ヒント

-rw-r--r-- では、だれが書き込めますか。答え: 所有者だけです。グループとそれ以外のみんなは、読むだけです。

いらないものを消す

rm はファイルを消します。rm -rf は、フォルダーとその中のすべてを、確認なしで消します。フォルダー scratch は、消す練習用にあなたのためにつくってあります。最後のコマンドは、中が空になったので、何も表示しません。

コマンド
rm scratch/old.log

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
rm -rf scratch/cache

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
ls scratch

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

よくある間違い

注意

ごみ箱のようなものがあって、消したファイルは取り戻せると思っている人がよくいます。スマホやパソコンの画面ではそうですが、サーバーの rm は取り消せません。消えたらそれまでです。rm -rf の前に pwd と ls を実行して、パスを2回読みましょう。パスを間違えたり、スペースの位置を間違えたりした rm -rf が、サーバーをまるごと消したことがあります。

私はだれ?ほかにだれがいる?

whoami は、あなたのユーザー名を表示します。id dev は、このマシンにあるもう1つのアカウントを表示します。あとのレッスンで使います。アカウントごとに自分のファイルがあり、何にさわれるかは権限が決めます。

コマンド
whoami

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

コマンド
id dev

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

最後のチェック

ヒント

前に戻らずに答えましょう。1. ファイルを実行できるようにするコマンドはどれですか。2. rwx は何の頭文字ですか。3. rm -rf の前に pwd を確かめるのはなぜですか。答え: chmod +x。読む、書く、実行する。ごみ箱がなく、パスを間違えると取り消せないから。

先生へ

ヒント

このレッスンは VM ラボで進めます。生徒一人ひとりに専用の Ubuntu マシンがあり、実行ボタンはそのターミナルに入力して、表示された結果を見せます。学習のポイント:1. 権限は、ファイルを読む、書く、実行できる人を決めます。chmod +x で実行できるようになります。2. rm は取り消せないので、先にパスを確かめます。 よくある間違い:rm にごみ箱があると思うこと。 必要なもの:ラボとブラウザー。ヒント:rm -rf を押す前に、生徒にパスを声に出して読ませましょう。 このラボにはチェックがなく、採点はしません。提出物がほしいときは、先生が自分で用意してください。

このラボとソースについて: 毎日使う Linux コマンドのラボ:エンジニアが暗記している30のコマンド

授業で教えていますか?これらのレッスンを生徒に割り当て、採点と生徒ごとのラボを使えます。