このページは、自宅サーバーの日常管理でよく使うコマンドをまとめたものです。
目次 |
# cat /etc/redhat-release CentOS release 5.5 (Final)
# uname -i i386 or x86_64
cdコマンドは現在のディレクトリから他のディレクトリに移動するときに使用します。
cd [ ディレクトリ名 ]
例 cyberamディレクトリからanythingディレクトリに移動し、親ディレクトリであるcyberamディレクトリに戻る。 (../を指定すると1つ上の階層に移動できます)
# cd anything # cd ../ # pwd /home/cyberam
chgrpコマンドはファイルの所有グループの変更に使用します。
chgrp グループ名 ファイル名
moonファイルの所有グループをagroupに変更する。
# chgrp agroup moon.txt
chmodコマンドはディレクトリ、ファイルのアクセス権(パーミッション)の設定の変更に使用します。
chmod [ オプション ] パーミッション設定 ファイル名(複数指定可)
-R 指定したディレクトリ以下の全てのファイル、サブディレクトリのアクセス権を変更する。
u ファイル所有者 g グループ o その他のユーザ a 全てのユーザ
+ 記述した権限の付加 - 記述した権限の削除 = 記述した権限にする
r 読み込み権限 w 書き込み権限 x 実行権限
所有者、グループのメンバーにmoonファイルの書き込み権限を与える。
# chmod ug+w moon.txt
chownコマンドはファイルの所有者の変更に使用します。
chown [ オプション ] ユーザ名 ファイル名
-c 変更されたファイルの情報を表示する。 -f 変更に失敗したファイルがあってもエラー表示しない。
moonファイルの所有者をtomに変更する。
# chown tom moon.txt
cpコマンドは指定されたファイルをコピーします。
cp [ オプション ] コピー元ファイル名 コピー先ファイル名
-f 指定されたファイル名のファイルが既に存在しても強制的に上書きする。 -i コピー先に同じ名前のファイルが既に存在する場合、ファイルを上書きするか確認する。 -p 元ファイルの属性情報もコピーする。 -R ディレクトリを再帰的にコピーする。 -r ディレクトリを再帰的にコピーする。(-Rオプションと通常大きな違いはない。)
カレントディレクトリのyesファイルをdata/fileというディレクトリにコピーする。
# cp yes.txt data/file
カレントディレクトリのyesファイルをコピーし、noファイルを作成する。
# cp yes.txt no.txt
xxxx1ディレクトリの内容をすべてxxxx2にコピー
# cp -r xxxx1 xxxx2
findコマンドはファイルがどこにあるか探したい場合に使用します。 検索の開始パス以下の全てのサブディレクトリ内のファイルも検索対象です。
find 検索の開始パス オプション アクション
-depth ディレクトリ本体の前にディレクトリ内を先に評価する。 -follow シンボリックリンクの参照先を検索する。 -xdev 他のファイルシステムのディレクトリは探索しない。
-name パターン 指定したパターンに一致するファイルを検索する。 -perm アクセス権 指定したアクセス権でファイルを検索する。 -type ファイルタイプ 指定したファイルタイプでファイルを検索する。 -size [+ or -]n 指定したサイズ(n)よりも大きい(+)または小さい(-)ファイルを検索する。 -atime[+ or -]n 指定した時(n)よりも前にアクセスされた(+)または後にアクセスされた(-)ファイルを検索する。 -mtime[+ or -]n 指定された時(n)よりも前に更新された(+)または後に更新された(-)ファイルを検索する。
-print 検索したファイルのファイル名のみ出力する。
-fprint ファイル名 検索結果をファイルに出力する。同名のファイルがある場合は上書きする。
-ls 検索したファイルの詳細情報を出力する。
-exec コマンド 検索したファイル名を引数にしコマンドを実行する。引数の位置は{ }で指定する。
-ok コマンド 検索したファイル名を引数にし実行するか確認した後コマンドを実行する。
ファイル名が.txtで終わるファイルをカレントディレクトリ以下から検索し、そのファイル名を出力する。
# find . -name '*.txt' -print fish.txt network.txt math.txt
ファイル名が.datで終わり、ファイルサイズが30kバイト以上のファイルをカレントディレクトリ以下から検索し、そのファイルの詳細情報を出力する。
# find . -name '*.dat' -size +30k -ls -rw-rw-rw- 1 cyberam group 46 Oct 12 03:11 ./computer.dat -rw-rw-r-- 1 cyberam group 58 Oct 15 13:46 ./school.dat
ファイル名がcoreというファイルを/binディレクトリ以下から検索し、そのファイルを削除する。
# find /bin-name core -exec rm {} \;
mvコマンドは指定されたファイルを移動します。
mv [ オプション ] 移動元ファイル名 移動先ファイル名
-f 指定されたファイル名のファイルが既に存在しても強制的に上書きする。 -i 移動先に同じ名前のファイルが既に存在する場合、ファイルを上書きするか確認する。 -p 元ファイルの属性情報もコピーする。 -R ディレクトリを再帰的にコピーする。 -r ディレクトリを再帰的にコピーする。(-Rオプションと通常大きな違いはない。)
カレントディレクトリのyesファイルをdata/fileというディレクトリに移動する。
# mv yes.txt data/file
カレントディレクトリのyesファイルを移動し、noファイルを作成する。
# mv yes.txt no.txt
OpenPNE-x.xx.xディレクトリのファイルをOpenPNEディレクトリを作成し移動
# mv OpenPNE-x.xx.x/ /var/www/OpenPNE
phpmyadminディレクトリを/var/www/ディレクトリに移動
# mv phpmyadmin/ /var/www/
ひとつのユーザーが複数のグループに所属する事ができる。 と言うことが判明。 goupadd グループを作成 groupdel グループを削除 usermod ユーザーのグループ情報を変更 sg ユーザーのグループを変更 id ユーザーのグループ情報を表示
# groupadd group_a # groupadd group_b # usermod -G group_a,group_b aiko # su aiko # sg group_a # id uid=500(aiko) gid=502(group_a) 所属グループ=501(aiko),502(group_a),503(group_b)
実際に存在するユーザーを、追加で別のグループに所属させる場合は今所属するグループを調べてkらおこなう。
# id sysop uid=500(sysop) gid=500(sysop) 所属グループ=500(sysop),10(wheel) # usermod -G sysop,wheel,apache sysop # id sysop uid=500(sysop) gid=500(sysop) 所属グループ=500(sysop),10(wheel),48(apache)