このセクションでは自宅サーバーとしてLinuxを操作するうえでよく使うコマンドについて初心者/ビギナー向けに解説します。

HPの格安エントリーサーバー機"HP ProLiant ML115"でのLinuxサーバー構築記を掲載しました。サーバー機の選定にお悩みの方は是非お越しください...。お便利サーバー.com管理人。
その他諸々
抜粋Linuxコマンドリファレンス

ディレクトリとファイルの操作

ディレクトリとファイルの作成

カレントディレクトリの変更

ディレクトリとファイルの表示

ディレクトリとファイルのコピーと移動

ディレクトリとファイルの削除

ディレクトリとファイルの検索

パーミッションの変更

解凍と圧縮

ディスクとパーティションの操作

ディスクを初期化・編集する

ボリュームのチェックとマウント

テキストの操作

文字や変数を画面に表示する

ファイルの内容を画面に表示する

出力するテキストに処理を行う

ユーザーとアカウント管理

アカウントの追加と削除

パスワードの設定と変更

ログインアカウントの変更

ネットワークの管理

ネットワークの状態を調べる

名前解決をテストする

ドメイン名の情報を調べる

システム・プロセス管理

ホスト機の電源オフと再起動

デーモンの自動起動設定

プログラムを予約して実行する

稼働中のプロセスを表示する

その他のコマンド

rpmを管理する

HTTP/FTPでファイルを取得する

値・状態・情報を表示する

サイト内検索

cp〜ディレクトリやファイルをコピーする

既存のディレクトリやファイルを複製(コピー)する コマンド です。

ディレクトリ構造ごとコピーすることもできますし、 ワイルドカード を利用すれば複数のファイルやディレクトリを一度にコピーすることもできます。

コマンドの一般書式は、

cp [オプション] [コピー元] [コピー先] Enter

ですが、[コピー元]と[コピー先]がディレクトリなのかファイルなのかによって動作が異なります。

cp [オプション] [ファイル名1] [ファイル名2] Enter

[ファイル名1]と同じ内容を[ファイル名2]でコピーします。

[tanaka@web1 tanaka]$ pwdEnter カレントディレクトリを表示します。 pwdコマンドの説明
/home/tanaka
[tanaka@web1 tanaka]$ lsEnter ファイルを一覧します。 lsコマンドの説明
file1
[tanaka@web1 tanaka]$ cp /etc/named.conf named.confEnter
[tanaka@web1 tanaka]$ lsEnter ファイルを一覧します。
file1  named.conf ←"/etc/named.conf"がカレントディレクトリに複製されました。
[tanaka@web1 tanaka]$

[ファイル名1]と[ファイル名2]が同じディレクトリを指す場合は、[ファイル名1]と[ファイル名2]は違う名前でなければなりません。

[tanaka@web1 tanaka]$ lsEnter ファイルを一覧します。
file1
[tanaka@web1 tanaka]$ cp file1 file2Enter "file1"を"file2"にコピーします。
[tanaka@web1 tanaka]$ lsEnter ファイルを一覧します。
file1  file2     "file1"と同じ内容の"file2"が複製されました。
[tanaka@web1 tanaka]$

cp [オプション] [ファイル名] [ディレクトリ名] Enter

[ファイル名]と名前も内容も同じものを、[ディレクトリ名]以下にコピーします。

この場合、[ディレクトリ名]は既に存在していなければなりません(自動で新しいディレクトリが作られることはありません)。

[tanaka@web1 /]$ pwdEnter カレントディレクトリを表示します。
/
[tanaka@web1 /]$ ls /home/tanaka/Enter "/home/tanaka/"のファイルを一覧します。
file1
[tanaka@web1 /]$ cp /etc/ntp.conf /home/tanaka/Enter
[tanaka@web1 /]$ ls /home/tanaka/Enter "/home/tanaka/"のファイルを一覧します。
file1  ntp.conf  "/etc/ntp.conf"が"/home/tanaka/"以下に複製されました。
[tanaka@web1 /]$

"-r"〜ディレクトリ内をまるごとコピーする

[コピー元]と[コピー先]がともにディレクトリ名の場合には、 "-r" オプションと併用することで[コピー元]以下のディレクトリ構造がそっくりそのまま[コピー先]のディレクトリに複製されます。

cp -r [ディレクトリ名1] [ディレクトリ名2] Enter

[ディレクトリ名2]が実在する場合には、[ディレクトリ名2]以下に[ディレクトリ名1]が作成されてそのディレクトリ構造がコピーされます。

[ディレクトリ名2]が実在しない場合には、[ディレクトリ名2]がそのまま作成されて[ディレクトリ名1]以下のディレクトリ構造がコピーされます。この場合、[ディレクトリ名1]と[ディレクトリ名2]は同じである必要はありません。

[root@web1 root]# ls -l /root/org/Enter "/root/org/"を一覧します。
合計 4
drwxr-xr-x  2 root  root   4096 10月 22 06:00  postfixorg
[root@web1 root]# cp -r /etc/postfix/ /root/org/postfixorg/Enter
 実在する"/root/org/postfixorg/"にまるごとコピーを実施します↑。
[root@web1 root]# ls -l /root/org/postfixorg/Enter
合計 4
drwxr-xr-x  2 root  root   4096 10月 22 06:01  postfix
 "/root/org/postfixorg/"の下に"postfix/"がまるごとコピーされました↑。
[root@web1 root]# cp -r /etc/postfix/ /root/org/postfixbak/Enter
 実在しない"/root/org/postfixbak/"にまるごとコピーを実施します↑。
[root@web1 root]# ls -l /root/org/postfixorg/Enter
合計 4
drwxr-xr-x  2 root  root   4096 10月 22 06:01 postfix
 "/root/org/postfixorg/"以下にはコピーされません↑。
[root@web1 root]# ls -l /root/org/Enter 一つ上の階層を一覧します。
合計 8
drwxr-xr-x  2 root  root   4096 10月 22 06:01 postfixbak
drwxr-xr-x  3 root  root   4096 10月 22 06:01 postfixorg
 新しいディレクトリ"postfixbak/"が作成されました↑。
[root@web1 root]# ls -l /root/org/postfixbak/Enter
 新しいディレクトリ"postfixbak/"を一覧してみます↑。
合計 172
-rw-r--r--  1 root  root   11942 10月 22 06:01 LICENSE
-rw-r--r--  1 root  root   8839 10月 22 06:01 access
-rw-r--r--  1 root  root   2262 10月 22 06:01 aliases
-rw-r--r--  1 root  root     0 10月 22 06:01 aliases.db
-rw-r--r--  1 root  root   7529 10月 22 06:01 canonical
-rw-r--r--  1 root  root   25598 10月 22 06:01 main.cf
-rw-r--r--  1 root  root   10672 10月 22 06:01 main.cf.default
 "/etc/postfix/"以下が"postfixbak/"以下にコピーされました↑。(以下略)
[root@web1 root]#

その他のオプション

頻繁に使用することはないかもしれませんが、もうひとつ覚えておくとよいオプションがあります。

cp -p [コピー元] [コピー先] Enter ...属性を維持してコピーする。

通常、cpコマンドで新しく作成されたディレクトリやファイルは、そのコマンドを実行した アカウント が所有者になります。この"-p"オプションでcpコマンドを実行すると、所有者、所有グループ、パーミッション、アクセス時刻がオリジナルのままコピーされます。

このオプションは、 ハードディスク などを増設して、ユーザーの ホームディレクトリ をまるごと移設する、というような比較的まれなケースで有効になります。

cp コマンド は、その他にも様々なオプションがありますが、とりあえずこれだけ覚えていけばよいでしょう

mv〜ディレクトリやファイルを移動する

既存のディレクトリやファイルを移動する コマンド です。

ディレクトリ構造ごと移動することもできますし、 ワイルドカード を利用すれば複数のファイルやディレクトリを一度に移動することもできます。

コマンドの一般書式は、

mv [オプション] [移動元] [移動先] Enter

ですが、[移動元]と[移動先]がディレクトリなのかファイルなのかによって動作が異なります。

mv [オプション] [ファイル名1] [ファイル名2] Enter

[ファイル名1]と同じ内容を[ファイル名2]に移動します。

[root@web1 root]# pwdEnter カレントディレクトリを表示します。 pwdコマンドの説明
/root
[root@web1 root]# lsEnter ファイルを一覧します。 lsコマンドの説明
file1
[root@web1 root]# mv /etc/named.conf.org named.confEnter
[root@web1 root]# lsEnter ファイルを一覧します。
file1  named.conf ←"/etc/named.conf.org"が"/root/named.conf"に移動されました。
[root@web1 root]# ls /etc/named.conf.orgEnter
ls: /etc/named.conf.or: そのようなファイルやディレクトリはありません
[root@web1 root]#

[ファイル名1]と[ファイル名2]が同じディレクトリを指す場合は、 「ファイル名の変更」 が行われます。

mvコマンドを利用したファイル名の変更は特殊な方法ではなく、ごく一般的に利用される方法ですので覚えておきましょう。

[tanaka@web1 tanaka]$ lsEnter ファイルを一覧します。
file1
[tanaka@web1 tanaka]$ mv file1 file2Enter "file1"を"file2"に改名します。
[tanaka@web1 tanaka]$ lsEnter ファイルを一覧します。
file2     "file1"と同じ内容で"file2"に改名されました。
[tanaka@web1 tanaka]$

mv [オプション] [ファイル名] [ディレクトリ名] Enter

[ファイル名]と名前も内容も同じものを、[ディレクトリ名]以下に移動します。

この場合、[ディレクトリ名]は既に存在していなければなりません(自動で新しいディレクトリが作られることはありません)。

[tanaka@web1 /]$ pwdEnter カレントディレクトリを表示します。
/
[tanaka@web1 /]$ ls /home/tanaka/Enter "/home/tanaka/"のファイルを一覧します。
file1
[tanaka@web1 /]$ mv /etc/ntp.conf.org /home/tanaka/Enter
[tanaka@web1 /]$ ls /home/tanaka/Enter "/home/tanaka/"のファイルを一覧します。
file1  ntp.conf.org  "/etc/ntp.conf.org"が"/home/tanaka/"以下に移動されました。
[tanaka@web1 /]$

"-f"〜移動先のファイルの上書きを確認しない

[移動先]に同名のファイルやディレクトリが存在するとき、mvコマンドは上書きをするか否かの問い合わせを行いますが、 "-f" オプションと併用することで問い合わせなしに強制的に上書きを実行します。

あまり汎用すべきオプションではありませんが、大量のバックアップファイルをオリジナルのディレクトリに書き戻すような場合に利用できることがあります。

ln〜リンクを作成する

既存のディレクトリやファイルのリンクを作成する コマンド です。

LinuxOS には、複数の全く同じ実体を持つファイルやディレクトリを別のディレクトリに配置する ハードリンク と、特定のファイルやディレクトリの位置を指し示す シンボリックリンク があります。

ユーザーレベルで一般に多く使われるのは後者のシンボリックリンクで、これは別名 ソフトリンク とも呼ばれ、 WindowsOS ショートカット MacintoshOS エイリアス と同じ働きをするものです。

シンボリックリンクを作成するときのコマンドの一般書式は、

ln -s [リンクの参照元] [作成するリンク名] Enter

となります。

[リンクの参照元]に ワイルドカード を利用すると、複数のシンボリックリンクを一度に作成することができます。

作成先が カレント ディレクトリの場合で[リンクの参照元]と同名のシンボリックリンクを作成するときは、[作成するリンク名]を省略することができます。

[作成するリンク名]に既存のディレクトリ名を指定した場合は、[リンクの参照元]と同じ名前のシンボリックリンクがそのディレクトリ以下に作成されます。

[作成するリンク名]に[リンクの参照元]と異なるファイル名を指定した場合には、オリジナルのディレクトリやファイル名とは異なる名前でシンボリックリンクが作成されます。

[tanaka@web1 tanaka]$ pwdEnter カレントディレクトリを表示します。 pwdコマンドの説明
/home/tanaka
[tanaka@web1 tanaka]$ ls -lEnter ファイルを一覧します。 lsコマンドの説明
合計 8
drwxrwxr-x  2 tanaka  tanaka   4096 9月 5 19:36 conf
-rw-rw-r--  1 tanaka  tanaka    88 9月 5 19:29 file1
[tanaka@web1 tanaka]$ ln -s /etc/ntp.conf conf/Enter
[tanaka@web1 tanaka]$ ls -l conf/Enter ファイルを一覧します。
合計 0
lrwxrwxrwx  1 tanaka  tanaka    13 9月 5 19:39 ntp.conf -> /etc/ntp.conf
   ↑"/etc/ntp.conf"のリンクが同名で作成されました。
[tanaka@web1 tanaka]$ ln -s /etc/named.conf conf/named.bakEnter
[tanaka@web1 tanaka]$ ls -l conf/Enter ファイルを一覧します。
合計 0
lrwxrwxrwx  1 tanaka  tanaka    13 9月 5 19:39 ntp.conf -> /etc/ntp.conf
lrwxrwxrwx  1 tanaka  tanaka    15 9月 5 19:47 test.bak -> /etc/named.conf
   ↑"/etc/named.conf"のリンクが別名で作成されました。
[tanaka@web1 tanaka]$ ln -s /etc/yum.confEnter
[tanaka@web1 tanaka]$ ls -lEnter カレントディレクトリのファイルを一覧します。
合計 8
drwxrwxr-x  2 tanaka  tanaka   4096 9月 5 19:36 conf
-rw-rw-r--  1 tanaka  tanaka    88 9月 5 19:29 file1
lrwxrwxrwx  1 tanaka  tanaka    13 9月 5 19:53 yum.conf -> /etc/yum.conf
   ↑"/etc/yum.conf"のリンクがカレントディレクトリに同名で作成されました。
[tanaka@web1 tanaka]$

作成したシンボリックリンクは rm コマンドで削除することができます。

このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
Powered by White Box Enterprise Linux