ユーザーの切り替え
「su」コマンドで現在のユーザーを別のユーザーに切り替えることができます。
rootユーザーに切り替える

指定したユーザーに切り替える。
su – [ユーザー名]
testuserに切り替え
su - testuser

また「su」コマンドを使用する際に、何も指定しない場合はインタラクティブシェルが起動され、「su -」を使用するとログインシェルが起動されるという違いがあります。
インタラクティブシェル
インタラクティブシェルとは、ユーザーが直接コマンドを入力し、その結果を即座に見ることができるシェルです。インタラクティブシェルでは、ユーザーとシェルが対話的にやり取りするため、ユーザーが一つずつコマンドを入力し、それに対する出力を見ながら次のコマンドを入力する形になります。
ログインシェル
ログインシェルとは、ユーザーがシステムにログインした時に最初に起動されるシェルのことです。ログインシェルは、システム全体の環境設定を読み込むための特別な設定があります。
以下は「su」でrootユーザーに切り替え、インタラクティブシェルが起動されています。こちらではtestuserのホームディレクトリが移動していないことが分かります。

シェルの設定ファイル(bash)
ログインシェルの設定ファイル
以下のファイルは、ログインシェルの起動時に実行され、ユーザーのシェル環境を設定するために使用されます。
順序 | ファイル名 | 説明 |
---|---|---|
1 | /etc/profile | システム全体のログインシェルの初期化設定を行う。 |
2 | ~/.bash_profile | ユーザーのホームディレクトリにあるログインシェルの初期化設定。 |
3 | ~/.bash_login | ~/.bash_profile が存在しない場合に実行される。 |
4 | ~/.profile | ~/.bash_profile と ~/.bash_login が存在しない場合に実行される。 |
非ログインシェル、インタラクティブシェル
非ログインシェル、インタラクティブシェルが起動されると「~/.bashrc」が実行されます。
非ログインシェル
非ログインシェルは、ユーザーがシステムにログインしていない状態で起動されるシェルです。通常、GUI環境からターミナルを開いたときや、既にログインしているセッションから新しいシェルを開始したときに起動されます。
ファイルとディレクトリの管理
カレントディレクトリ

カレントディレクトリとは
カレントディレクトリとは、ユーザーが現在作業を行っているディレクトリのことです。システム上のファイルやディレクトリを操作する際の基準となる場所を指します。
カレントディレクトリの確認方法
カレントディレクトリを確認するためには、pwd(print working directory)コマンドを使用します。

ディレクトリの移動
カレントディレクトリを変更するためには、cd(change directory)コマンドを使用します。
cd [任意のディレクトリ]
/homeディレクトリに移動

特殊なディレクトリ
いくつかの特殊なディレクトリもカレントディレクトリの変更に使用できます。
記号 | 説明 |
---|---|
. | 現在のディレクトリを表します。 |
.. | 親ディレクトリを表します。 |
~ | ホームディレクトリを表します。 |
ファイル、ディレクトリの情報を表示
ファイルやディレクトリの情報を表示するには、 ls コマンドを使用します。
ディレクトリ情報の表示
ls [オプション] [ディレクトリ名]
ファイル情報の表示
ls [オプション] [ファイル名]
オプション
オプション | 説明 |
---|---|
-a, –all | . で始まるエントリーを無視しない。 |
-d, –directory | ディレクトリ自体を表示する。 |
-h, –human-readable | -l と -s と併用時、サイズを 1K、234M、2G などの形式で表示する。 |
-i, –inode | 各ファイルのインデックス番号を表示する。 |
-l | 長いリスト形式を使用する。 |
-L, –dereference | シンボリックリンクのファイル情報を表示する際、リンクではなくそのファイルの情報を表示する。 |
-r, –reverse | ソート順序を逆にする。 |
-R, –recursive | サブディレクトリを再帰的にリストする。 |
-s, –size | 各ファイルの割り当てられたサイズ(ブロック単位)を表示する。 |
-S | ファイルサイズでソートし、最大のものから順に表示する。 |
–sort=WORD | 名前の代わりにWORDでソートする。none (-U)、size (-S)、time (-t)、version (-v)、extension (-X)が指定可能。 |
–time=WORD | デフォルトの変更時間を使用する。-l と併用時、WORDは表示する時間を決定する。–sort=time と併用時、WORDでソートする(新しい順)。atime :最終アクセス時刻(ファイルを最後に読み取った時間)で表示・ソートする。ctime :最終状態変更時刻(ファイルのメタデータ(所有者・権限など)が変更された時間)で表示・ソートする。mtime :最終更新時刻(ファイルの内容が最後に変更された時間)で表示・ソートする。 |
–time-style=TIME_STYLE | -l と併用時の時間/日付の形式を指定する。 |
-t | 時間でソートし、最新のものから表示する。 |
-v | テキスト内の(バージョン)番号を自然な順 |
テスト用ディレクトリ「test-dir」を作成し、ディレクトリの情報を確認
テスト用のディレクトリを作成
mkdir test-dir

テスト用のファイルを作成
echo 'TEST1' > ~/test-dir/test-file1 && \ echo 'TEST2' > ~/test-dir/test-file2

ディレクトリ情報を表示
ls -l test-dir/

test-file2のアクセス時刻を変更し、ソート順が変わるか確認
カレントディレクトリを「test-dir」に変更
cd test-dir/

test-file2にアクセス
touch test-file2

アクセス時刻順にソート。表示の順序が変わったことを確認
ls -lt --time=atime

ファイルの内容を連結して表示
cat コマンドは、ファイルの内容を標準出力に連結して表示するためのコマンドです。cat は “concatenate”(連結)の略です
cat [オプション] [ファイル名]
オプション
オプション | 説明 |
---|---|
-A, –show-all | -vET と同等 |
-b, –number-nonblank | 空行を除いて行番号を付ける。-n を無効にする |
-e | -vE と同等 |
-E, –show-ends | 各行の末尾に $ を表示する |
-n, –number | すべての出力行に行番号を付ける |
-s, –squeeze-blank | 連続する空行を抑制する |
-t | -vT と同等 |
-T, –show-tabs | タブ文字を ^I として表示する |
-v, –show-nonprinting | 改行(LFD)とタブ(TAB)以外の非表示文字を ^ 記号と M- 表記で表示する |
ファイルの内容を表示し、タブ、改行、行番号を表示させる。

コメント