xserver
Home クッキー及びWeb ビーコンについて



覚えておきたい必須コマンド[ 基本編 ]

必須コマンドの概要

 ここでは、絶対に覚えておきたい必須コマンドについて解説していきます。




■ファイルのコピー[ cp ]

 ファイルをコピーするコマンドは、cp です。以下は、file1 を file2という名前でコピーしています。

$ cp file1 file2

 ディレクトリごとコピーする場合は、-r オプションを使用します。

$ cp -r directory1 directory2

 -i コピー先に同名ファイルがある場合、上書きするか確認する
 -p 所有者/グループ/アクセス権/最新更新時刻/最終アクセス時刻を元ファイルのままコピーする
 -r ディレクトリごと再帰的コピーする
 -v 詳細表示





■ファイルの移動/リネーム [ mv ]

 mv コマンドは、ファイルを移動させる役割と、ファイル名の変更をする役割と2つの役割を果たします。以下は、file1 を public_html というディレクトリに移動します。なお、mv コマンドはオプションをつけずとも、ディレクトリごと移動させる事ができます。

$ mv file1 public_html/

 以下例は、file1 という名前のファイルを、file2という名前にリネームしています。

$ mv file1 file2

 -i コピー先に同名ファイルがある場合、上書きするか確認する
 -v 詳細表示



■ディレクトリの作成 [ mkdir ]

 ディレクトリを作成するには、mkdir(make direcotry)コマンドを実行します。

$ mkdir direcotry1

 親ディレクトリが存在しない場合に、親ディレクトリも同時に作成するには、-p オプションを用います。以下例では、aaa や bbb というディレクトリが存在しなくても、cccというディレクトリが作成されます。

$ mkdir -p /home/kororo/public_html/aaa/bbb/ccc

 -p 親ディレクトリも同時に作成する
 -v 詳細表示



■空のディレクトリを削除する [ rmdir ]

 ディレクトリ内にファイルが入っていない場合、rmdir で空のディレクトリを削除します。ディレクトリ内にファイルが存在する場合は、ディレクトリを削除する事はできません。以下は、ディレクトリ内にファイルが存在する場合に、削除できなかった旨を示すメッセージです。

# rmdir directory1/
rmdir: `directory1/': ディレクトリは空ではありません



■ファイル/ディレクトリの削除 [ rm ]

 ファイルやディレクトリを削除する場合には、rm コマンドを使用します。ファイルを削除する場合は、オプションをつけずに実行します。ディレクトリを削除する場合は、-r オプションを付加します。

# rm -r direcotry1

 ディレクトリごと削除する際には、ディレクトリ内の中身も削除されるかどうかファイルごとに聞かれます。そのディレクトリ内に多くのファイルが存在する場合は、いちいち確認をとっていたのでは、面倒くさいので、ディレクトリを完全に削除してもよいという確信があるならば、-f オプションを付け加えます。

# rm -rf direcotry1

 -r [ -R ] ディレクトリ内のファイルを再帰的に削除する
 -i 削除の前に確認をとる
 -f 確認をとらずに削除する
 -v 詳細表示



■ファイルの中身を閲覧する [ cat ] [ more ] [ less ]

 ファイルの中身を確認するには、cat コマンドを使用します。そのファイルの中身が一画面に収まりきれない場合、通常は、パイプ「| 」を用いて more コマンドを実行します。パイプとは、標準出力を別のコマンドなどの標準入力として渡します。わかりやすく言えば、コマンドとコマンドを繋げるためのもので、ここでは、cat コマンドと more コマンドを繋げています。

$ cat file1 | more

 パイプラインで繋げるのが面倒くさい場合は、直接、more コマンドを使用した方が便利です。なお、下にスクロールする際の挙動が異なるだけで、ほぼ同様の less コマンドも使用する事ができます。

$ more file1
$ less file1

 -n オプションを付け加えると行番号つきでファイルの中身を表示します。

$ cat -n file1
1 aaa bbb ccc
2 ddd eee fff
3 ggg hhh iii

 cat は複数のファイルを指定すると、それらのファイルを結合して出力されます。以下の例では、file1 とfile2 が結合されて出力されます。

$ cat file1 file2

 -n 行番号つきで表示する
 -b 空行を除いて、行番号つきで表示する



■ファイルの先頭部分を表示する [ head ]

 ファイルの先頭部分を表示するには、head コマンドを使用します。デフォルトでは、ファイルの先頭行から数えて10行目までが表示されます。

$ head /home/kororo/public_html/index.php
<html>
<head>
<title>ServerArchitecture</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
iaaa
</div>

 ファイルの先頭行から30行目までを表示したい場合は、-30 のように数値で指定します。また、-n オプションを用いて、-n 30 と指定しても同様の意味になります。

$ head -30 /home/kororo/public_html/index.php

 -c 指定したバイト数だけファイルの先頭行から表示する
 -n 指定した行数だけファイルの先頭行から表示する



■ファイルの末尾を表示する [ tail ]

 syslog などのログファイルは、先頭から末尾に向かって記述されていくため、上から順に見ていくと下に辿りつくまでに疲れてしまいます。なので、ファイルの末尾から表示させるコマンドである、tail を活用しましょう。デフォルトでは、末尾の10行が表示されます。ファイルの末尾20行を表示したい場合は、tail -20 file1 のように指定します。なお、tail -n +20 file1 とした場合は、ファイルの20行目から末尾までを表示します。

# tail /var/log/messages

 -c 指定したバイト数だけファイルの末尾から表示する
 -n 指定した行数だけファイルの末尾から表示する



■ディレクトリ内のファイル及びディレクトリの情報を表示する [ ls ]

 ディレクトリ内にどのようなファイル及びディレクトリが存在するかを確認するには、ls コマンドを使用します。引数にディレクトリを指定しない場合、カレントディレクトリの情報を表示します。

$ ls
file1 file1 file3

 -l オプションを使用すると、ファイルの属性やファイルの所有者/グループなどの情報も得る事ができます。

# ls -l /var/log/messages
-rw------- 1 root root 97443 2月 2 13:29 /var/log/messages

 -F オプションを使用すると、実行ファイルに「* 」、ディレクトリに「/」、シンボリックリンクに「@」をつけて一覧表示するため、意外と重宝します。

# ls -F /etc/rc.d/init.d

 -a 全てのファイルとディレクトリを表示する(. と .. を含む)
 -A 全てのファイルとディレクトリを表示する(. と .. を含まない)
 -C ファイルやディレクトリを複数列で一覧表示
 -d ディレクトリの中身ではなく項目自身を表示
 -F 実行ファイルに「* 」、ディレクトリに「/」、シンボリックリンクに「@」をつけて一覧表示する。
 -i ファイルに i-node 番号をつけて表示する
 -l ファイルのアクセス権やサイズを表示する
 -R サブディレクトリの内容も再帰的に一覧表示する



■カレントディレクトリの位置を確認する [ pwd ]

 ディレクトリ内を cd コマンドでいったり来たりしていると、たまに自分がどこにいるのか見失う事があります(それも最初のうちだけですが・・・笑)。そんな時は、pwd コマンドの自分の現在いる場所を確認する事ができます。

# pwd
/usr/local/src/httpd-2.0.48/support



■空のファイルの作成 [ touch ]

 空のファイルを作成するには、touch コマンドを使用します。

$ touch file1

 -a 最終アクセス時刻のみ変更する
 -m 最終更新時刻のみ変更する
 -t タイムスタンプを変更する



■ファイルへの出力 [ tee ] [ > ]

 tee コマンドは、標準入力から読み込んだ内容を標準出力及び指定したファイルに出力します。以下の例では、ls -la の実行結果が標準出力され、また、file4 にも出力されます。

$ ls -la | tee file4
$ more file4

 今度は、標準出力はせずに、file5 にのみ、ls -la の実行結果を出力します。

$ ls -la > file5
$ more file5

 -a 指定した出力先のファイルが既に存在する場合に、上書きではなく追記する

 >(リダイレクト)を使用して追記する場合には、>> と指定します。

$ ls -la >> file5



■複数のコマンドを続けて実行する [ && ] [ || ] [ ; ]

 複数のコマンドを続けて実行するには、コマンドとコマンドを && で繋げます。&& は、最初のコマンドが成功した場合のみ、2番目のコマンドを実行します。これは、ソースからインストールする場合などに、make が成功した場合に、make install を実行するという場合によく使われます。

# make && make install

 逆に、最初のコマンドが失敗した場合のみ、2番目のコマンドを実行する場合は、|| で繋げます。

$ command || command

 セミコロン「 ; 」を使用すると、一行のコマンド入力で複数のコマンドを実行できます。以下は、file5 の内容を表示した後、cd コマンドでカレントディレクトリを移動しています。

$ cat file5 ; cd /etc/rc.d/



■コマンドをバックグラウンドで動作させる [ & ]

 コマンドをバックグラウンドで動作させたい場合もあります。例えば、ハードディスク内 のファイルやディレクトリのインデックスデータベースを作成し、検索結果がすぐに返ってくるようにする updatedb コマンドは、フォアグラウンドで実行すると処理が終了するまでの間、ターミナルとにらめっこしていなければなりません。その間の時間はもったいないので、updatedb コマンドの後ろに & を付加し、コマンドがバックグラウンドで動作するようにします。

# updatedb &

 なお、updatedb コマンドをバックグラウンドで動作中に、jobs コマンドを実行すると、現在バックグラウンドで動作しているコマンドの確認を行う事ができるようになります。

# updatedb &
# jobs
[1]+ Running updatedb &



■指定したプロセスにシグナルを送信する [ kill ]

 kill コマンドの書式は、kill [-シグナル名またはシグナル番号] <プロセスID> となります。

 HUP 1 再起動
 INT 2 割り込み(CTRL+C と同じ)
 KILL 9 強制終了
 TERM 15 終了(デフォルト)
 TSTP 18 サスペンド(CTRL+Z と同じ)

 例えば、Apache を再起動させる場合を例にすると以下のようになります。

# ps aux | grep httpd
root 786 0.0 1.0 10788 2572 ? S Feb01 0:02 /usr/local/apache2/bin/httpd -k start
# kill -1 786

もしくは、

# kill HUP httpd



■指定コマンドのフルパスを調べる [ which ]

 コマンド入力する際に、環境変数PATHが設定されていないために、フルパスで入力しなければならない時があります。けれども、フルパスなんてしらないよ~。そんな時には、which コマンドでフルパスを確認することができます。ただし、環境変数PATH に設定されていないディレクトリは検索対象からははずれるため、一般ユーザーが管理用のコマンドを検索することはできないことになります。

# which useradd
/usr/sbin/useradd



■指定コマンドが格納されているディレクトリ情報を調べる [ whereis ]

 whereis コマンドは、指定したコマンドのバイナリファイル、ソースファイル、マニュアルなどが格納されているディレクトリを表示するコマンドです。

# whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz

 -b バイナリファイルの場所のみ表示する
 -m マニュアルが格納されている場所のみ表示する
 -s ソースファイルの場所のみ表示する







TOPに戻る

Sponcerd Link


Search
 
Web サイト内
Rental Server

【レンタルサーバのXbit】 低価格・高品質のビジネスクオリティー。300メガ1,050円~30分で サービススタート可能!


容量300MB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。
さくらのレンタルサーバ



当サイトはLinux自宅サーバーの構築を目的としたサイトです。
当サイトに関するご意見、ご要望等は、こちらのメールアドレスよりお願いします。
Beginning | Introduction | Installation | Server |
Security | Tips | Related-Sites
Copyright©2003-2006 KORO All Rights Reserved.
総計:
今日:
昨日: