Amazon Elastic Compute Cloud (Amazon EC2) を使用して Ubunutu 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 ファイルユーティリティの概要です。

chcon – 指定されたファイルの SELinux セキュリティコンテキストを変更します。sestatus コマンドで決定されたとおりに SELinux が有効になっている必要があります。

注意: Security Enhanced Linux (SELinux) の詳細については、http://wiki.centos.org/HowTos/SELinux を参照してください。

$ chcon -h system_u:object_r:httpd_sys_content_t /var/www

chgrp – 指定されたファイルのグループ所有権を指定されたグループに変更します。

$ cd #switch to home directory

$ > chgrptest #create empty file chgrptest

$ ls –g | grep test$ #display information about chgrptest

-rw-rw-r-- 1 admn 0 Feb 16 12:00 chgrptest

$ sudo chgrp users chgrptest #change group ownership to users

$ ls –g | grep test$ #display information about chgrptest

-rw-rw-r-- 1 users 0 Feb 16 12:10 chgrptest

$ rm chgrptest #clean up

chown – 指定されたファイルのユーザーやグループ所有権を、指定されたユーザーやグループに変更します。

$ cd #switch to home directory

$ > chowntest #create empty file chowntest

$ ls –l | grep test$ #display information about chowntest

-rw-rw-r-- 1 admn admn 0 Feb 16 12:00 chowntest

$ sudo chown root:users chowntest #change user/group ownership

$ ls –l | grep test$ #display information about chowntest

-rw-rw-r-- 1 root users 0 Feb 16 12:10 chowntest

$ rm chowntest #clean up

chmod – アクセス権限がユーザー (u)、グループ (g)、その他 (o)、またはすべて (a)、読み取り (r)、書き込み (w)、または実行 (x) に設定されている、指定されたファイルまたはディレクトリのアクセス権限を変更します。

$ cd #switch to home directory

$ > chmodtest #create empty file chmodtest

$ ls –l | grep test$ #display information about chmodtest

-rw-rw-r-- 1 admn admn 0 Feb 16 12:00 chmodtest

$ chmod u+x,g+x,o+x chmodtest #user, group, other granted execute

# chmod a+x chmodtest will also accomplish same as above

$ ls –l | grep test$ #display information about chmodtest

-rwxrwxr-x 1 admn admn 0 Feb 16 12:10 chmodtest

$ chmod u-x,g-x,o-x chmodtest #revert permissions

# chmod a-x chmodtest will also accomplish same as above

$ ls –l | grep test$ #display information about chmodtest

-rw-rw-r-- 1 admn admn 0 Feb 16 12:15 chmodtest

$ rm chmodtest #clean up

cp – ファイルまたはディレクトリをコピーします。

$ cd #switch to home directory

$ > cptest #create empty file cptest

$ ls –l | grep test$ #display information about cptest

-rw-rw-r-- 1 admn admn 0 Feb 16 12:00 cptest

$ cp cptest cp2test

$ ls –l | grep test$ #display information about cptest, cp2test

-rw-rw-r-- 1 admn admn 0 Feb 16 12:10 cp2test

-rw-rw-r-- 1 admn admn 0 Feb 16 12:00 cptest

$ rm cptest cp2test #clean up

dd – ビットストリームでファイルを複製します。オプションでファイルの変換も実行します。引数 input file (if=) および output file (of=) は現在の順番で入力することに注意してください。逆にした場合、dd の意味が「データデストロイヤー」になってしまいます。

$ cd #switch to home directory

$ echo 'DDTEST' > ddtest #create file ddtest

$ less ddtest #display contents of ddtest, q to exit

DDTEST #contents all uppercase

$ dd if=ddtest of=ddtest conv=lcase #convert to lowercase

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.0018935 s, 0.0 kB/s

$ less ddtest #display contents of ddtest, q to exit

ddtest #dd converted contents of file to lowercase

$ rm ddtest #clean up

df – マウントされているすべてのファイルシステムで、使用されているディスクスペースと使用可能なディスクスペース容量を報告します。

$ df -h

Filesystem                       Size Used Avail Use% Mounted on

/dev/mapper/trusty-vg-root       15G  1.6G   13G  11% /

none                             4.0K    0  4.0K   0% /sys/fs/cg

udev                             2.0G 4.0K  2.0G   1% /dev

tmpfs                            395M 260K  394M   1% /run

.................................................................

dir – ディレクトリコンテンツを列にしてリストします。バックスラッシュエスケープシーケンスで表される任意の特殊文字で垂直ソートされます。

$ cd / #switch to top level directory

$ dir

bin  boot dev  etc  home initrd.img lib lib64 media mnt opt

proc root run  sbin srv  sys        tmp usr   var   vm

dircolorsls または dir での表示色を設定します。dircolors は通常、.bashrc や .bash_profile のような設定ファイルで指定されたエイリアスを使用して実行されます。また、ls または dir で表示されるディレクトリの色を記述しているファイルを読み取ることができます。ファイルを指定しない場合は、事前コンパイルされたデータベース (/usr/bin/dircolors) が使用されます。事前コンパイルされたデータベースで指定される色については、dircolors -p (データベースの印刷) を実行してください。ls --colorを使用して実行した場合に ls で現在使用される色をリストするには、dircolors を引数を指定せずに実行します。echo "$LS_COLORS" を実行すると、LS_COLORS 環境変数を表示します。

$ dircolors #prints colors used by ls when invoked with --color

$ dircolors –p #print contents of precompiled colors database

install – ファイルモードビットおよび可能であればファイル所有者とグループを設定しながら、ファイルをコピーします。

$ cd #switch to home directory

$ > installtest #create empty file installtest

$ ls –l | grep test$ #display information about installtest

-rw-rw-r-- 1 admn admn 0 Feb 16 12:00 installtest

$ sudo install –o root –g users installtest install2test

# copy & change owner to root, group to users, modify permissions

$ ls –l | grep test$ #display info about test files

-rwxr-xr-x 1 root users 0 Feb 16 12:10 install2test

-rw-rw-r-- 1 admn admn  0 Feb 16 12:00 installtest

rm installtest install2test #cleanup, press y when prompted

ln – ファイル間にリンクを作成します。デフォルトではハードリンクを作成します。-s スイッチを指定するとシンボリックリンクを作成します。

$ cd #switch to home directory

$ sudo ln –s /bin/ping /usr/bin/ping #create symbolic link

$ env – PATH="/usr/bin" #change path to exclude /bin/ping

PATH=/usr/bin

$ ping localhost #verify that ping works from symbolic link

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

...

ls – ファイルとディレクトリに関する情報をリストします。

$ cd # switch to home directory

$ ls -A

.bash_history .bash_logout .bash_profile .bashrc .profile .ssh

mkdir – 新規ディレクトリを作成します。

$ cd #switch to home directory

$ mkdir –v documents #-v for verbose

mkdir: created directory 'documents'

$ rm –v –r documents #clean up

removed directory: 'documents'

mkfifo – 指定された名前で名前付きパイプ (FIFO) を作成します。パイプは、別々のプロセスが明示的に連携するように設計されていなくても、プロセス間で通信するようにします。

$ cd #switch to home directory

$ screen #open separate terminal session, press spacebar

$ mkfifo newpipe #create named pipe

$ ls –alt > newpipe & #send ls –alt to newpipe in background

[1] PID

$ exit #exit separate terminal session

exit

...

[screen is terminating]

$ less < newpipe #print piped output from previous session

-rw------- 1 admn admn 12734 Feb 16 12:00 .bash_history

drwxr-xr-x 5 admn admn  4096 Feb 16 12:00 .

prw-rw-r-- 1 admn admn     0 Feb 16 12:00 newpipe

#note left-most entry in line above indicates p for pipe

...

#press q to exit

$ rm newpipe #clean up

mknod – 文字デバイス、ブロックデバイス、指定された名前の名前付きパイプを作成します。mknod は本来、キャラクターデバイスおよびブロックデバイスを作成して /dev/ に挿入するために使用するものですが、関連機能が自動的に udev のようなソフトウェアで実行されます。

$ cd #switch to home directory

$ screen #open separate terminal session, press spacebar

$ mknod pipe2 p #create named pipe

$ ls –alt > pipe2 & #send ls –alt to pipe2 in background

$ [1] PID

$ exit #exit separate terminal session

exit

...

[screen is terminating]

$ less < pipe2 #print piped output from previous session

-rw------- 1 admn admn 12734 Feb 16 12:00 .bash_history

drwxr-xr-x 5 admn admn  4096 Feb 16 12:00 .

prw-rw-r-- 1 admn admn0 Feb 16 12:00 pipe2

#note left-most entry in line above indicates p for pipe

...

#press q to exit

$ rm pipe2 #clean up

mktemp – 一時ファイルおよびディレクトリを作成します。テンプレート末尾として最小で 3 つの連続した「x」文字 (XXX) を指定します。これはランダムの英数字に置き換えられます。

$ cd #switch to home directory

$ mktemp tempfile.XXX

tempfile.EQ1

$ rm tempfile.EQ1 #clean up

mv – ファイルまたはディレクトリを移動または名前変更します。

$ cd #switch to home directory

$ mkdir olddirectory #create /olddirectory

$ mv –v olddirectory newdirectory #move /olddirectory

'olddirectory' -> 'newdirectory'

$ rm –v –r newdirectory #clean up

removed directory: 'newdirectory'

realpath – シンボリックリンクおよび '/ への参照を解決します。/'、'/../'、および追加の '/' 文字です。

$ cd #switch to home directory

$ realpath –-relative-to=/usr /tmp /usr/bin

../tmp

bin

rm – ファイルおよびディレクトリを削除します。該当するコマンドオプションを使用した場合は、ファイルまたはサブディレクトリを含むディレクトリも削除します。

$ cd #switch to home directory

$ mkdir spreadsheets #create spreadsheets directory

$ cd spreadsheets #switch to spreadsheets directory

$ $ > emptyfile #create emptyfile under /spreadsheets

$ cd #switch to home directory

$ rm –v –r spreadsheets #remove /spreadsheets and file(s)

removed 'spreadsheets/emptyfile'

removed directory: 'spreadsheets'

rmdir – 空のディレクトリを削除します。

$ cd #switch to home directory

$ mkdir emptydir

$ rmdir –v emptydir

rmdir: removing directory, 'emptydir'

shred – ファイルを上書きして、ファイルの不正な復旧を禁止します。

$ cd #switch to home directory

$ cp .profile .profilebak #copy .profile to .profilebak

$ shred -v .profilebak

shred: .profilebak: pass 1/3 (random)...

shred: .profilebak: pass 2/3 (random)...

shred: .profilebak: pass 3/3 (random)...

$ rm .profilebak #clean up

sync – メモリにバッファされたデータをディスクに書き込みます。

$ sync

touch – 指定されたファイルのタイムスタンプを変更します。

$ cd #switch to home directory

$ ls –al | grep .p | grep –v b #display info about .profile

-rw-r--r-- 1 admn  admn   675 Feb 16 12:00 .profile

$ touch .profile

$ ls –al | grep .p | grep –v b #display info about .profile

-rw-r--r-- 1 admn  admn  675 Feb 16 12:15 .profile

truncate – ファイルを指定されたサイズに圧縮または拡張します。

$ truncate –s 4096 .profile

$ ls –al | grep .p | grep –v b #display info about .profile

-rw-r--r-- 1 admn  admn  4096 Feb 16 12:30 .profile

vdir – ディレクトリの内容の詳細なリストを表示します。

cd /home #switch to home directory

home$ vdir

drwxr-xr-x 2 greg  greg  4096 Feb 16 12:01 greg

drwxr-xr-x 2 john  john  4096 Feb 16 12:01 john

drwxr-xr-x 5 admn  admn  4096 Feb 16 12:00 admn

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


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

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

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