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
ランレベル | 意味 |
---|---|
0 | シャットダウン(システム停止) |
1 | シングルモードユーザー(rootのみ) |
2 | ネットワーク無しのマルチユーザーモード |
3 | 通常のマルチユーザーモード(テキストログイン) |
4 | 未使用 |
5 | グラフィカルログインによるマルチユーザーモード |
6 | システム再起動 |
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)