Amazon Elastic Compute Cloud (Amazon EC2) を使用して Ubunutu Linux インスタンスをすばやく作成して接続する手順を完了しており、Linux コマンドシェルへのアクセス権限があります。Linux インスタンスの設定と管理を行う主要ユーティリティ関する情報はどこで入手できますか?

Linux には、ファイル管理、システム管理、セキュリティ、ストレージなど用に 100 以上の「主要」ユーティリティが含まれています。Linux ディストリビューションに含まれている主要ユーティリティは、Richard Stallman 氏が 1983 年に始めた「free software GNU Operating System」運動の成果です。GNU ソフトウェアは、Unix システムで動作するように設計されているため、ほとんどの Linux ディストリビューションで利用可能です。

こちらの記事で、Ubuntu 14.04 以降で使用できる GNU シェルユーティリティの要約をご紹介しています。ここで説明している主要ユーティリティは、http://www.gnu.org のオンライン man(マニュアル)ページにリンクされています。

注意: Amazon EC2 Linux インスタンスで使用できる GNU 主要ユーティリティの詳細については、以下のコマンドを使用します。

     --help - ユーティリティの引数を表示します。

     info - ユーティリティに関する一般情報を表示します。

     man - ユーティリティのマニュアルページを表示します。

次のリストは、Ubuntu Linux で使用できる GNU シェルユーティリティの概要です。

arch – マシンアーキテクチャを表示します。

$ arch

x86_64

basename – ファイル名のプレフィックスまたはサフィックスを削除します。

$ basename /home/admn/.bash_profile

.bash_profile

chroot – ルートディレクトリを変更して、アプリケーションおよび関連処理用の別の「sandbox」環境を作成します。指定されたディレクトリツリー外のファイルへのアクセスは制限されます。chroot はスーパーユーザー権限で起動する必要があります。以下の chroot の使用方法では、適切なファイルおよび Bash シェルに必要な依存関係が $JAIL に存在する環境を想定しています。

$ sudo chroot $JAIL /bin/bash

date – システムの日付と時刻を設定または表示します。

$ date

Wed Jan 6 12:00:00 PST 2016

dirname – 最後にスラッシュで区切られ指定された名前のコンポーネントを除き、指定された名前からディレクトリではないサフィックスを削除したすべてを表示します。

$ dirname /home/admn/.bash_profile

/home/admn

du – システムのディスク使用状況統計を表示します (数字は 1024 バイトブロック)。

$ du

16 ./.ssh

4  ./.cache

16 ./.keychain

68 .

echo – 指定されたテキストの行を表示します。

$ echo "This is a line of text"

This is a line of text

env – 引数を指定しない場合は現在の環境変数を表示します。その他の場合はコマンドを実行するために変更された環境を作成します。たとえば、PATH="/bin" と設定すると ping に成功しますが、PATH="/usr/bin" では失敗します。これは ping ユーティリティが /bin フォルダ内にあるためです。

$ env - PATH="/bin" ping localhost

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.041

...

$ env - PATH="/usr/bin" ping localhost

env: ping: No such file or directory

expr – 式を評価して結果を表示します。

$ expr abc : 'a\(.\)c'

b

factor – 要素数です。

$ factor 48

48: 2 2 2 2 3

false – 何もせずに、失敗の終了ステータス値である 1 を返します。通常、シェルスクリプト内で失敗終了ステータスを必要とするプレースホルダーとして使用します。

$ false; echo $?

1

groups – 指定されたユーザー名に関連するすべてのグループを表示します。ユーザー名を指定しない場合は現在のユーザーに関連するグループを表示します。

$ groups

admn adm cdrom sudo dip plugdev lpadmin sambashare

hostid – 現在のホストの数字 ID を 16 進数で表示します。

$ hostid

a8c01901

id – 指定されたユーザー、またはユーザーを指定しない場合は現在のユーザーに関する情報を表示します。

$ id -Gn

admn adm cdrom sudo dip plugdev lpadmin sambashare

linklink filename linkname と言う構文の単一ハードリンクを作成します。filename は既存のファイルを、linkname は既存のディレクトリの存在しないエントリを表します。以下の例では、PATH 環境変数に実際の ping ユーティリティの場所が含まれていなくても、ping は機能します。ハードリンクの場合は、/usr/bin からping を起動できます。

$ sudo link /bin/ping /usr/bin/ping

$ env - PATH="/usr/bin" ping localhost

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.041

...

logname – 現在のログイン名を表示します。

$ logname

admn

nice – スケジュール優先度を変更してコマンドを実行します。コマンドにスケジュールされた優先度に影響を与えます。スケジュール優先度の範囲は、-20 (優先度高) ~ 19 (優先度低) です。プロセスにマイナスの値のスケジュール優先度を設定できるのは、権限のあるユーザーのみです。デフォルトでは、nice は 10 単位でスケジュール優先度を増加させます。他の値は -n スイッチを使用して適用できます。以下のコマンドでは、nice 自身を起動します。

$ nice

0

$ nice nice

10

$ nice –n 15 nice

15

$ sudo nice –n -10 nice

-10

nohup – ユーザーがターミナルセッションに接続しているかに関わりなく、またはユーザーがログアウトした後も、コマンドの実行を続行することを許可します。以下のコマンドでは、別のターミナルセッションを開き、バックグラウンドで実行するプロセスを起動してから、そのターミナルセッションをデタッチします。その後、バックグラウンドのプロセスが実行されていることを確認します。nohup.out が 25 で終了した後、screen -r を実行して別のターミナルセッションに戻り、2 つめのターミナルセッションを終了して rm nohup.out を実行します。

$ tty

/dev/ttyl

$ screen #press spacebar

$ tty

/dev/pts/0

$ nohup sh -c 'for i in $(seq 25); do echo $i; sleep 1 $i; done' &

[1] [pid]

nohup: ignoring input and appending output to 'nohup.out'

$ screen –d

[remote detached from [pid].ttyl.[machinename]]

$ tty

/dev/ttyl

$ less nohup.out #hold Enter to view nohup.out contents, press q to exit

# wait a few seconds

$ less nohup.out #hold Enter to view nohup.out contents, press q to exit

# continue to view nohup.out until file ends with 25

$ screen –r #return to second terminal session

$ exit #terminate second terminal session

[screen is terminating]

$ ps –fu[username] #lists processes for current user, verify SCREEN gone

$ rm nohup.out #delete file nohup.out

nproc – 現在のプロセスに使用できるプロセッサー数を表示します。

$ nproc

2

pathchk – 指定されたパス名が有効かどうかを検証します。true であれば 0 を、false であれば 1 を返します。

$ pathchk –p 14char_path_ok; echo $?

0

$ pathchk –p 15char_path_bad; echo $?

1

printenv – すべての環境変数、または指定された環境変数の値を表示します。

$ printenv HOME SHELL

/home/admn

/bin/bash

runcon – 異なる SELinux セキュリティコンテキストでプログラムを実行します。プログラムまたはコンテキストを指定しない場合は、現在のセキュリティコンテキストを表示します。

$ runcon

unconfined

seq – first から last まで指定された増分で連番を表示します。デフォルトでは、番号列を表示するための引数は firstincrementlast です。

$ seq 1 1 4

1

2

3

4

sleep – 指定された秒 (s)、分 (m)、時間 (h)、または日 (d) の間、一時停止またはスリープします。デフォルトの間隔は秒です。以下を起動すると、2 分間スリープ状態で一時停止します。

$ sleep 2m

stat – 指定されたファイルに関する情報を表示します。

$ stat -c=%A:%F .profile

=-rw-r--r--:regular file

stdbuf – コマンドに関連する標準入力、標準出力、標準エラーのストリーミングのイニシャルバッファを変更します。

$ vmstat 1 | stdbuf -o L awk '$2 > 1 || $3 > 1' | cat -n

# set stdout stream of awk to line buffering to avoid vmstat's output from

# stalling until the buffer is full

stty – ターミナル特性を表示または変更します。

$ screen

$ stty size

54 144

$ stty rows 100 cols 150

$ stty size

100 150

$ exit

[screen is terminating]

tee – 別のコマンドの出力を画面に表示しながら同時にファイルに書き込みます。

$ ls -alt | tee ls_alt

# ls -alt output displayed to screen and written to ls_alt

$ less ls_alt

# contents of ls -alt output in file ls_alt displayed to screen

$ rm ls_alt # deletes file ls_alt

test – ファイルタイプを条件表現で検証し、0 (true) または 1 (false) を返します。以下は、/bin が存在するディレクトリであるかどうかを検証します。

$ test -d /bin; echo $?

0

timeout – 指定された期間コマンドを実行します。その後、またコマンドが実行されていればそれを終了します。デフォルトの期間は秒 (s) ですが、分 (m)、時 (h)、日 (d) もできます。

$ timeout 2 ping localhost

PING localhost (127.0.0.1) 56(84) bytes of data

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.033

64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.046

true – 何もせずに、成功の終了ステータス値である 0 を返します。通常、シェルスクリプト内で成功終了ステータスを必要とするプレースホルダーとして使用します。

$ true; echo $?

0

tty – ターミナル名を表示します。

$ tty

/dev/tty1

$ screen #press spacebar

$ tty

/dev/pts/0

$ exit

[screen is terminating]

$ tty

/dev/tty1

uname – システム情報を表示します。

$ uname

Linux

unlink – 単一の指定されたファイルを削除します。

$ unlink .profilebak

uptime – システムのアップタイム、ログインしているユーザー、および平均ロードを表示します。

$ uptime

  20:27:22 up 9:58,  2 users,  load average: 1.01, 0.55, 0.24

users – アクティブな各ログインセッションに関連付けられたユーザー名を表示します。

$ users

admn

who – 現在ログオンしているユーザーに関する情報を表示します。

$ who

admn  ttyl  2016-01-16 08:15

whoami – 現在のユーザーの名前を表示します。

$ whoami

admn

yes – コマンドライン引数を表示します。Ctrl+C または他の適切なキーシーケンスを使用して強制終了するまで続行します。

$ yes "Testing Yes"

Testing Yes

Testing Yes

Testing Yes

...

Linux, 主要ユーティリティ, GNU, coreutils, シェル


このページは役に立ちましたか? はい | いいえ

AWS サポートナリッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。