📘
Linuxの基本(ディレクトリ・ショートカット・コマンド)
概要
linuxを操作するにあたっての基本の内容。
※世の中にはいくらでもLinuxの情報があるので、自分用のメモ的な…。
どのディストリビューションでも大体同じだとおもうけど、想定している環境としてはCentOSとbash。
目次
1. 基本のディレクトリ
Linuxでは大体お決まりのディレクトリがある。それぞれ下表のような用途になっている。
| ディレクトリ | 説明 |
|---|---|
| bin | ユーザーが共通で使うコマンドの実行ファイルがあるよう。 Linuxの動作に必要な重要度の高いコマンドの実行ファイル。 |
| dev | デバイスファイル |
| etc | 設定ファイル Linux自体の設定だったり、Linux上で動くアプリの設定だったり |
| home | ユーザーごとに割り当てられるホームディレクトリ |
| sbin | 管理者ユーザー向けのコマンドの実行ファイル |
| tmp | 一時的なファイル |
| usr | 各種アプリケーションと付随するファイル |
| var | 変化するデータ。なんやねん、ログとかか。 |
2. ショートカット
GUI付きでインストールしたLinuxであれば普通にWindowsのような感覚で使えるが、業務用途では大体CUIのみのインストールのはず。
その場合はショートカットキーを多用するので、下記のショートカットを覚えておいたほうが良い。
2.1. カーソル移動
| キー | 説明 |
|---|---|
| Ctrl + f | 右に移動 |
| Ctrl + b | 左に移動 |
| Ctrl + a | 行の先頭に移動 |
| Ctrl + e | 行の最後に移動 |
| Meta → f (ESC → f) | 1単語次へ移動 |
| Meta → b (ESC → b) | 1単語前へ移動 |
※ Metaキー(ESC)は、押しながらではなく1回押して話してから次のキー
2.2. 文字の編集
| キー | 説明 |
|---|---|
| Ctrl + h | カーソルの左1文字削除(Backspace) |
| Ctrl + d | カーソル部分を削除(Delete) |
| Ctrl + w | カーソル位置の単語を削除(カーソルの前部分) |
| Ctrl + u | カーソルの位置から行頭まで削除 |
| Ctrl + k | カーソルの位置から行末まで削除 |
| Ctrl + y | 最後に削除した内容を挿入 |
2.3. コマンド関連
| キー | 説明 |
|---|---|
| Tab | コマンドとかパスの補完 |
| Ctrl + p | 1つ前の履歴 |
| Ctrl + n | 1つ後の履歴 |
| Ctrl + r | コマンド履歴のインクリメント検索 |
| Ctrl + r:1つ前の検索結果 | |
| Enter:検索結果を実行 | |
| ESC:検索結果を表示したままコマンドラインに戻る | |
| Ctrl + g:検索結果を破棄してコマンドラインに戻る |
2.4. その他
| キー | 説明 |
|---|---|
| Ctrl + c | 実行中のコマンドを強制終了 |
| Ctrl + l (アイじゃなくてエルね) |
画面の消去。まあ消去っていうかスクロールして画面消去したみたいな感じになる |
3. コマンド
基本的なコマンド。これ以外にもたくさんあるが、ひとまずここにあるのを覚えておけばなんとかなると思う。
3.1. ファイル・ディレクトリ操作
| コマンド | 説明 |
|---|---|
| cd | change directory ディレクトリを変更する。 ~:ホームディレクトリ |
| pwd | print name of working directory 今いるディレクトリを表示する |
| ls | list ファイル・ディレクトリの一覧を表示する。複数のディレクトリを指定可能 |
| -l:ファイルの詳細表情 | |
| -a:隠しファイルも含めて表示 | |
| -t:タイムスタンプが新しいもの順でソートして表示 | |
| mkdir | make directory ディレクトリを作る |
| -p:複数階層ディレクトリ一気に作れる。つけないと1ディレクトリしか作れない。 | |
| rmdir | remove directory 空のディレクトリを削除。ファイルが残ってるとエラー。 |
| cat | concatenate ファイルの内容を表示する。複数のファイルを指定するとつなげて表示してくれる |
| -n:行番号を表示 | |
| less | less - opposite of more 長いファイルの中身を別画面的なもので表示する |
| スペースキー・f:1画面下にスクロール | |
| b:1画面上にスクロール | |
| j:1行下にスクロール | |
| k:1行上にスクロール | |
| q:lessコマンド終了 | |
| /<文字列>:下方向に向かって検索 | |
| ?<文字列>:上方向に向かって検索 | |
| n:次の検索結果に移動 | |
| N:前の検索結果に移動 | |
| tail | ファイルなどの末尾を表示する。でかいログファイルを見る時などに。 |
-c:表示する量を文字数?byte?で指定できる。-c 1Gで末尾1Gbyteとか? |
|
| cp | copy ファイルをコピーする。 cp コピー元 コピー先 |
| -r:recursive。ディレクトリをコピーするときはオプションで-r | |
| -p:preserve。コピー先にファイルがあって上書きすると、通常はその上書きされたファイルの所有者・権限を維持する。 しかしこの-pオプションをつけるとコピー元の所有者・権限を保持したままコピーする。 |
|
| rm | remove ファイルを削除する。 rm 削除ファイル |
| -r:ディレクトリを削除する。中身があっても削除できる。 | |
| mv | move ファイルやディレクトリの移動と名前変更ができる。 移動時:mv 移動元 移動先ディレクトリ名 名前変更時:mv 変更元 変更後の名前 |
3.2. 権限系
3.2.1. 権限の説明
- ファイル・ディレクトリには「所有者」「所有グループ」が存在する。
- 更に、ファイル・ディレクトリに対して指定するものではないが「その他のユーザー」という概念もある。
- ファイル・ディレクトリには、「所有者」「所有グループ」「その他のユーザー」に対して、それぞれ下記3つの権限を割り当てる。
- r:読み取り可能、w:書き込み可能、x:実行可能
- 上記3つのグループに対してのアクセス権は
ls -lの左端欄で確認できる。
3つのグループに対して3つの権限が表示されており、それぞれが全部の権限を持っているばrwxrwxrwxと表示される。逆に全部の権限無しの場合は---------。
ファイルとディレクトリに対するアクセス権は扱いがちょっと違う。
| アクセス権 | ファイル | ディレクトリ |
|---|---|---|
| r:読み取り可能 | ファイルの内容をcatコマンドなどで読める | ディレクトリ内のファイル名一覧を読める。ディレクトリ内のファイルにアクセスしたりcdコマンドで移動したりはできない。 |
| w:書き込み可能 | ファイルの内容を変更できる | ディレクトリ内でファイルを作成したり削除したりできる。 |
| x:実行可能 | プログラムとして実行可能 | ディレクトリ内のファイルにアクセスしたりcdコマンドで移動できる。 |
3.2.2. 権限のコマンド
| コマンド | 説明 |
|---|---|
| chown | change owner ファイルやディレクトリの所有者を変更できる。ついでに所有グループも変更できる。 |
| chown 所有者:所有グループ ファイルやディレクトリ (所有者だけのときは「:所有グループ」の部分は不要) |
|
| -R:ディレクトリ内も含めて丸ごと変更する際は-Rオプション | |
| chgrp | chenge group 所有グループだけの変更もできる。 |
| chmod | アクセス権を設定できる。chmod アクセス権 ファイルorディレクトリアクセス権の部分はr・w・xで表すか、下記のように数字で表すこともできる。 r:4、w:2、x:1、と数字が割り当てられており、この足し算によってグループに対して権限を割り当てられる。 例えば755だったら、所有者にrwx(4+2+1)、所有グループにr-x(4+1)、その他のユーザーにr-x(4+1)という感じ。 |
| -R:chownと同じで、ディレクトリ内も含めてまるごと権限を変更するかどうかのオプション。 |
3.3. その他
| コマンド | 説明 |
|---|---|
| <コマンド> --help | コマンドの概要 |
| man <コマンド> | コマンドのマニュアル。--helpより詳しい |
| -k:引数に指定したコマンドの候補を検索できる | |
| nano | Vimより操作が簡単なエディタ。ディストリビューションによって入っていないこともある。 |
| su | Substitute User。Super Userではない。su ユーザー名とすると、そのユーザーに変更することができる。しかしそのユーザーのパスワードが必要になる。ユーザー名無しで suとだけ入力すると、rootユーザーへ変更することになる。 |
| sudo | こっちはSuper User do。sudo コマンドとすることで、rootユーザーとしてコマンドを実行できる。suと違ってrootユーザーのパスワードは必要ない、今のユーザーのパスワードが聞かれる。でもこの辺は設定とかにもよったりする。 |
| history | 過去に実行したコマンドを表示する、多分デフォルトでは記憶数は500。 また、 !履歴番号と実行することで、その履歴番号のコマンドを実行することができる。 |
| id | 今のユーザーのID・所属グループを確認できる。 |
Discussion