CentOSコマンド

提供:あわ自由帳

このページは、自宅サーバーの日常管理でよく使うコマンドをまとめたものです。
centos 7 で確認しています。

CentOSのバージョン番号を表示する

[root@host3 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

CentOSの32bit,64bit 確認

[root@host3 ~]# uname -i
x86_64

CentOSのランレベル

現在のランレベルを調べる

現在がどのようになっているのか確認するコマンドが下記です。下記ではgraphical.targetに設定されておりCUIログインの設定となっております。

[root@host3 ~]# systemctl get-default
multi-user.target

起動するランレベル

例えばmulti-user.targetのCUIログインに変更する場合は以下のようにコマンドを実行します。

[root@host3 ~]# systemctl set-default multi-user.target                                                            
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

ランレベルの意味

このgraphical.targetやmulti-user.targetについてはrunlevelの数字で以下のように対比されています。上のset-defaultで指定するときにはrunlevelXで指定することはできず、multi-user.targetやgraphical.targetのみ指定できます。

[root@host3 ~]# ls -al /lib/systemd/system/runlevel*target
lrwxrwxrwx 1 root root 15  6月 25 03:45 /lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx 1 root root 13  6月 25 03:45 /lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx 1 root root 17  6月 25 03:45 /lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx 1 root root 17  6月 25 03:45 /lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx 1 root root 17  6月 25 03:45 /lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx 1 root root 16  6月 25 03:45 /lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx 1 root root 13  6月 25 03:45 /lib/systemd/system/runlevel6.target -> reboot.target
ランレベル 意味
シャットダウン(システム停止)
シングルモードユーザー(rootのみ)
ネットワーク無しのマルチユーザーモード
通常のマルチユーザーモード(テキストログイン)
未使用
グラフィカルログインによるマルチユーザーモード
システム再起動

cd:ディレクトリ間の移動

説明

cdコマンドは現在のディレクトリから他のディレクトリに移動するときに使用します。

構文

cd [ ディレクトリ名 ]

例 cyberamディレクトリからanythingディレクトリに移動し、親ディレクトリであるcyberamディレクトリに戻る。 (../を指定すると1つ上の階層に移動できます)

# cd anything
# cd ../
# pwd
/home/cyberam

chgrp:ファイル所有グループの変更

説明

chgrpコマンドはファイルの所有グループの変更に使用します。

構文

chgrp グループ名 ファイル名

moonファイルの所有グループをagroupに変更する。

# chgrp agroup moon.txt

chmod:パーミッションの変更

説明

chmodコマンドはディレクトリ、ファイルのアクセス権(パーミッション)の設定の変更に使用します。

構文

chmod [ オプション ] パーミッション設定 ファイル名(複数指定可)

オプション

-R 指定したディレクトリ以下の全てのファイル、サブディレクトリのアクセス権を変更する。

対象

   u 	ファイル所有者
   g 	グループ
   o 	その他のユーザ
   a 	全てのユーザ

操作

   + 	記述した権限の付加
   - 	記述した権限の削除
   = 	記述した権限にする

アクセス権

   r 	読み込み権限
   w 	書き込み権限
   x 	実行権限

所有者、グループのメンバーにmoonファイルの書き込み権限を与える。

# chmod ug+w moon.txt

chown:ファイル所有者の変更

説明

chownコマンドはファイルの所有者の変更に使用します。

構文

chown [ オプション ] ユーザ名 ファイル名

オプション

-c 	変更されたファイルの情報を表示する。
-f 	変更に失敗したファイルがあってもエラー表示しない。

moonファイルの所有者をtomに変更する。

# chown tom moon.txt

cp:ファイルのコピー

説明

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コマンドはファイルがどこにあるか探したい場合に使用します。 検索の開始パス以下の全てのサブディレクトリ内のファイルも検索対象です。

構文

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コマンドは指定されたファイルを移動します。

構文

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/

グループ関係のコマンド

ひとつのユーザーが複数のグループに所属する事ができる。

  • grupadd グループを作成
  • 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)

実際に存在するユーザーを、追加で別のグループに所属させる場合は今所属するグループを調べてからおこなう。

# id sysop
uid=500(sysop) gid=500(sysop) 所属グループ=500(sysop),10(wheel)

# usermod -G wheel,apache sysop

# id sysop
uid=500(sysop) gid=500(sysop) 所属グループ=500(sysop),10(wheel),48(apache)