UNIXコマンド


UNIXシステムでは、主にコマンドラインからコマンドを入力して作業を進めていきます。
最近では、Windowsみたいに、X-Window上のGUI環境から設定できるソフトもありますが、基本はコマンドラインからの作業になりますので、よく使うコマンドは覚えておく必要があります。

su/cd/tar/ls/more/mkdir rm/cp/mv/chown/chgrp/chmod/shutdown/ftp
su
一般ユーザーからルート(スーパーユーザー)に成り代わる時に使用するコマンドです。ルート(スーパーユーザー)を持っていないと実行できない事が多いです。suと打ち込みますと、パスワードの入力を求めてきますので、ルート権限のパスワードを入力して、一般ユーザーからルート権限に成り代わります。

例えば、以下のように使用します。

$ su
Password: xxxxxx
hoge#

cd
カレントディレクトリを移動します

例えば、/usrというディレクトリに移動したい場合は、以下のように使用します。

hoge# cd /usr

/が付くと絶対パス、付かないと相対パスになります。
tar
ファイルの圧縮や解凍に使用します。
使い方は以下の通りです。
tar [オプション] [ファイル名]

オプション
c	アーカイブファイルを新規作成する
f	指定されたファイルにアーカイブデーターを出力する
t	アーカイブファイルの内容を表示する
v	ファイル名のほかにタイムスタンプやアクセス権などの詳細な情報を表示する
x	アーカイブからファイルを取り出す
z	アーカイブファイルをgzipで圧縮する(FreeBSD、Linux)

例えばxxx.tar.gzという圧縮ファイルを、ディレクトリ付きで解凍する場合は、以下のようにします。

hoge# tar zxvf xxx.tar.gz
ls
ファイルの一覧を表示します。

使い方
ls [オプション] [パス]

オプション
-1	1ファイルを1行で表示する
-A	ピリオド(.)から始まる特殊なファイルも含めて表示する
         (ただし、カレントディレクトリ、親ディレクトリは表示しない)
-a	ピリオド(.)から始まる特殊なファイルも含めて表示する
-C	一覧を整形して一行に複数のファイルを表示する
-F	ファイル名にファイルの種類を表す文字を追加する
-R	指定したパス以下のツリーすべての一覧を表示する
-l	詳細な情報を表示する
-t	タイムスタンプ順にソートして表示する
-r	逆順にソートして表示する
-d	引数がディレクトリの場合、そのディレクトリ以下のファイル一覧ではなく、
         そのディレクトリ自体の情報を表示する

例えば以下のよう使います。

hoge# ls -l
more
ファイルの内容を画面単位で表示します。
ディレクトリ/ファイル一覧をlsコマンドで表示させても、ディレクトリ数が多いと、スクロールしてしまって、すべてのディレクトリやファイルをみることができませんので、moreを組み合わせて使用すると便利です。

使い方
more [オプション] [ファイル名]

オプション
-c	一行ずつスクロールせず、画面をクリアーして表示します。
-/	指定したパターンを検索して、そのパターンが含まれる行から表示します。

よく使う使用例
パイプ(|)を使用して使うと便利です。
パイプには、二つのコマンドを組み合わせて使うときに使用します。

hoge# ls -l | more
mkdir
mkdirはディレクトリを作成するコマンドです。mkdir [作成するディレクトリ名] と打ち込んで使用します。

使い方
ls [オプション] [ディレクトリ名]

オプション
-m	作成するディレクトリのアクセス権を設定します
-p	指定したディレクトリを確実に作成する。引数に存在しない中間的ディレクトリがあった場合は、
         それも新規作成する

一般的な使い方

hoge# mkdir xxx
rm
ファイル/ディレクトリを削除します
逆にファイルを作成する場合はtouchコマンドを使用します。
使い方
rm [オプション] [ファイル名/ディレクトリ]

オプション
-f	アクセス権のないファイル、存在しないファイルを指定してもユーザーに通知しない
-i	ファイルを削除する前に確認する
-r	指定されたディレクトリ以下のツリーも含めてすべて削除する

cp
ファイルをコピーします

使い方
cp [オプション] [コピー元ファイル] [コピー先ファイル]

オプション
-p	コピー元の所有者、タイムスタンプ、アクセス権などの情報を保存したままコピーする
-i	コピー先がすでに存在する場合、上書きするかどうかの確認をする
-f	コピー先がすでに存在しても、強制的に上書きする
-R	コピー元のディレクトリツリーをそのままコピーする

mv
ファイルの移動、ファイル名の変更を行います

使い方
mv [オプション] [移動元ファイル] [移動先ファイル名]

オプション
-i	コピー先がすでに存在する場合、上書きするかどうかの確認をする
-f	コピー先がすでに存在しても、強制的に上書きする

ファイルのパーミッション、グループ、オーナー

ファイルやディレクトリにはアクセス権があり、そのファイルに設定されているアクセス権以外の人には、アクセスできないようにしたり、誰もがアクセスできるようにしたりすることができます。
ルート権限を持っている人はすべてにアクセスする事ができます。)
chown
chownはファイルやディレクトリのオーナー(持ち主)を変更するためのコマンドです。chown 持ち主名/番号と打ち込むことで、そのファイルやディレクトリの持ち主を変更できます。持ち主がnobodyの場合は、誰でもそのファイルやディレクトリなどを使用することが出来ます。番号と持ち主との関係は/etc/groupのファイルに設定されていますので、そちらを参考にしてください。

使い方
chown [オプション][ユーザー[:グループ] ファイル名]

オプション
-R	指定されたディレクトリ以下のファイルのアクセス権をすべて変更する
-f	アクセス権を変更できなかった場合も、エラーメッセージを表示しない
chgrp
chgrpは、グループを変更するコマンドです。/etc/groupのファイルで設定、追加、変更する事ができます。

使い方
chgrp [オプション][グループ ファイル名]

オプション
-R	指定されたディレクトリ以下のファイルのアクセス権をすべて変更する
-f	アクセス権を変更できなかった場合も、エラーメッセージを表示しない
chmod
chmodは、ディレクトリやファイルのパーミッションを変更するためのコマンドです。右からオーナー、グループ、一般として割り当てられていて、それぞれ属性を持っています。属性は4、2、1の三つで表され、4が読み込みの許可。2が書き込みの許可。1が実行の許可を持っています。例えばオナーだけに読み込みの許可を与える場合には、400として指定します。オナーとグループと一般ユーザーに読み込みと書き込みの許可を洗える場合には、足し算をして666として指定します。それぞれに読み込み書き込み実行の権限を与える場合には777とします。誰でもが何でもできる状態です。

ファイル属性オーナー(持ち主)グループ一般(nobody)
読み込み444
書き込み222
実行111
読み込み/書き込み666
読み込み/実行555
読み込み/書き込み/実行777

使い方
chmod [オプション][アクセス権 ファイル名/ディレクトリ名]

オプション
-R	指定されたディレクトリ以下のファイルのアクセス権をすべて変更する
-f	アクセス権を変更できなかった場合も、エラーメッセージを表示しない

システムの停止と再起動

UNIXシステムを終了させるときには、終了処理をさせないと、システムが壊れたり、HDDが破損してしまう場合があるので、次のコマンドで終了させます。
shutdown
システムの停止と再起動をします。
使い方は以下の通りです。
shutdown [オプション] [時間] [メッセージ]

時間:		終了させる時間を指定
メッセージ:	終了させるときのメッセージを指定

オプション
-h	システムを終了させて電源を切れる状態にします
-r	システムを終了させて再起動します
-k	シャットダウンをさせないで、ユーザーへシャットダウンの警告メッセージを
         送信します。FreeBSDでは一般ユーザーのログインもできなくします。

終了例

hoge# shutdown -h now

再起動例

hoge# shutdown -r now

ファイルの転送

ftpコマンドは、ファイル転送プロトコルを使用して、指定されたホストとの間でファイルを転送します。
ftp
ホストとの間でファイルの転送
使い方は以下の通りです。
ftp [オプション] [ホスト名 [ポート番号]}

オプション
-g	ファイル名の展開機能を無効にする
-i	複数のファイルを転送中にプロント表示しない
-n	自動ログインを行わない
-v	リモートサーバーからすべての応答を表示する

anyomous接続例

hoge# ftp ftp.FreeBSD.org
ftp: connect to address 2001:4f8:0:2::e: No route to host
Trying 204.152.184.73...
Connected to ftp.FreeBSD.org.
220 freebsd.isc.org FTP server ready.
Name (ftp.FreeBSD.org:freeman): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password:適当に入力
230-
230-You have reached freebsd.isc.org/ftp.freebsd.org.
230-
230-<insert some funky ASCII art here>
230-
230-This server is operated by Internet Software Consortium (ISC), 
230-on behalf of the FreeBSD Project, and is serving the full 
230-FreeBSD FTP archive via IPv4 and IPv6.
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/
250 CWD command successful.
ftp> get ports.tar.gz
local: ports.tar.gz remote: ports.tar.gz
550 Local error: conversion program not found. Cannot TAR+GZIP file.
ftp> exit
221-You have transferred 0 bytes in 0 files.
221-Total traffic for this session was 831 bytes in 0 transfers.
221-Thank you for using the FTP service on freebsd.isc.org.
221 Goodbye.
hoge# 

簡単に解説すると

BACK