CentOS7
コマンド†
使用しているシェルが利用している言語を確認†
[root@localhost ~]# echo $LANG |
環境変数LANGを「ja_JP.utf8」に変更†
[root@localhost ~]# export LANG=ja_JP.utf8 |
ホスト名の確認†
[root@localhost ~]# less /etc/sysconfig/network |
OSのバージョン確認†
[root@localhost ~]# less /etc/redhat-release |
カーネルバージョンの確認†
[root@localhost ~]# uname -a |
CPUの確認†
[root@localhost ~]# less /proc/cpuinfo |
メモリの確認†
[root@localhost ~]# less /proc/meminfo |
内臓ハードディスクの確認†
[root@localhost ~]# fdisk -l |
RAID確認†
[root@localhost ~]# ls -al /dev/md0 |
ディスクパーティション確認†
[root@localhost ~]# less /proc/partitions |
GRUBローダのインストール先確認†
[root@localhost ~]# less /etc/grub.conf |
MBRのFilesystemのマウントポイント /boot†
[root@localhost ~]# df /boot |
タイムゾーンの確認†
[root@localhost ~]# less /etc/sysconfig/clock |
NIC(eth0)設定確認†
[root@localhost ~]# less /etc/sysconfig/network-scripts/ifcfg-eth0 |
ホスト名前解決の確認†
[root@localhost ~]# less /etc/resolv.conf |
名前解決の順序指定†
[root@localhost ~]# less /etc/nsswitch.conf |
kdump OS起動時の動作確認†
[root@localhost ~]# chkconfig kdump --list |
ntpd OS起動時の動作確認†
[root@localhost ~]# chkconfig ntpd --list |
ローカルタイムソースを確認†
[root@localhost ~]# less /etc/sysconfig/clock |
ssh†
リモートログイン
[root@localhost ~]# ssh <サーバーIPアドレス> -l <ユーザー名> -p 22 -i /home/<ユーザー名>/key_file |
- -lでユーザー名を指定する。
- -pでポート番号を指定する。
- -4でIPv4を使用する。
- -6でIPv6を使用する。
- -iで秘密鍵ファイルを指定する。
SSHファイル転送 (ローカル→リモート)
SSHファイル転送 (リモート→ローカル)
ディレクトリ毎
Slabの内訳表示†
[root@localhost ~]# slabtop --once --sort=c | head -n 12 |
sar†
sarコマンドに-vオプションを付けると「ディレクトリ・キャッシュ内の未使用キャッシュ・エントリの数」であるdentunusdが確認できる。dentunusdがnegative dentryの数になる。
[root@localhost ~]# sar -v 0 |
12:00:00 AM dentunusd file-nr inode-nr pty-nr 12:00:00 AM 8637647 768 40414 1 |
slabキャッシュ解放†
ページキャッシュの解放
[root@localhost ~]# sync; echo 1 > /proc/sys/vm/drop_caches |
slabオブジェクト(dentryとinodeを含む)の解放
[root@localhost ~]# sync; echo 2 > /proc/sys/vm/drop_caches |
slabオブジェクトとページキャッシュの解放
[root@localhost ~]# sync; echo 3 > /proc/sys/vm/drop_caches |
systemctl (systemd)†
[root@localhost ~]# systemctl start |
[root@localhost ~]# systemctl stop |
[root@localhost ~]# systemctl reload |
[root@localhost ~]# systemctl status |
[root@localhost ~]# systemctl enable |
[root@localhost ~]# systemctl disable |
現在起動しているサービスの一覧を表示 (--all を付けると全サービスがリストされる)
[root@dlp ~]# systemctl -t service |
サービスの起動設定の一覧を表示
[root@localhost ~]# systemctl list-unit-files -t service |
nmcli†
NetworkManager を参照
yum†
[root@localhost ~]# yum install | パッケージのインストール |
[root@localhost ~]# yum update | パッケージのアップデート |
[root@localhost ~]# yum remove | パッケージのアンインストール |
[root@localhost ~]# yum list installed | インストール済パッケージ |
[root@localhost ~]# yum list updates | アップデート可能なパッケージ |
[root@localhost ~]# yum list available | 利用可能なパッケージ |
[root@localhost ~]# yum list extras | 利用できないパッケージ |
[root@localhost ~]# yum search --enablerepo=remi,remi-php73 php | grep php73-php-xmlrpc | パッケージの検索 |
rpm†
[root@localhost ~]# rpm -qa | grep php |
インストールされているパッケージの確認
[root@localhost ~]# rpm -qa <パッケージ名> |
x | 1文字削除 |
dd | 1行削除(1行カット) |
yy | 1行コピー |
p | ペースト |
1G | 文頭 |
G | 文末 |
0 | 行頭 |
$ | 行末 |
/ | 前方検索 |
? | 後方検索 |
n | 次の候補 |
N | 前の候補 |
find†
[root@localhost ~]# find /etc -name php.ini |
[root@localhost ~]# find /etc -name \*.dat |
[root@localhost ~]# find ./etc/ *.dat |
今日アクセスしたファイル
[root@localhost ~]# find ./etc/ -atime 0 |
3日以内にアクセスされたファイルやディレクトリ
[root@localhost ~]# find ./etc/ -atime -3 |
ファイル容量が0の物を検索
[root@localhost ~]# find / -empty |
ファイル名に「01」が含まれるファイルのみを検索
[root@localhost ~]# find /*01* -type f |
ファイル名に「01」が含まれるディレクトリのみを検索
[root@localhost ~]# find /*01* -type d |
nc(netcat)コマンド:ポートスキャン†
[root@localhost ~]# nc -z -v ホスト名 0-1024 |
lsof†
リッスンしているサービスやポートを表示
[root@localhost ~]# lsof -i -n -P |
オプション -i でIPアドレスとバインドされているプロセスを表示できます。-n はIPアドレスの名前解決(逆引き)をしない、-P はポート番号の変換をしない、という意味です。
ssh は *:22 と表示されていますが、これは全てのNICインタフェースのIPアドレスでLISTENする、という意味です。
例えば2つのNICがあり、1つはWebサービス用IP(10.1.1.1/24)、もう1つは管理用IP(192.168.10.1/24)がアサインされていた場合、本来であれば SSH アクセスは管理用IPのみで LISTEN すればよいところを、色々なクライアントがアクセス可能な Webサービス用IP(10.1.1.1) でもSSHが許可されてしまいます。
「ss」コマンドは、ネットワーク通信で利用する「ソケット」についての情報などを出力するコマンドです ※1。従来はnetstatコマンドが使用されていましたが、現在はssコマンドへの移行が進んでいます。
[root@localhost ~]# ss [オプション] [フィルター] |
[root@localhost ~]# ss -natu |
ssの主なオプション(表示対象関係)†
短いオプション | 長いオプション | 意味 |
-fソケット | --family ソケット | 表示するソケットの種類(ファミリー)をunix、inet、inet6、link、netlinkから指定する |
-x | --unix | UNIXドメインソケットを表示(-f unix相当) |
-4 | --ipv4 | IPv4のソケットだけを表示(-f inet相当) |
-6 | --ipv6 | IPv6のソケットだけを表示(-f inet6相当) |
-0 | --packet | パケットソケットを表示(-f link相当) |
-t | --tcp | TCPソケットを表示 |
-u | --udp | UDPソケットを表示 |
-d | --dccp | DCCPソケットを表示 |
-w | --raw | RAWソケットを表示 |
-a | --all | 接続待ち状態(LISTEN)のソケットと接続待ち状態にないソケットの両方を表示する |
-l | --listening | 接続待ち状態のソケットだけを表示する |
-N | ネームスペース | --net=ネームスペース 指定したネームスペースに切り替える |
-A | クエリ | --query=クエリ, --socket=クエリ 対象をカンマ区切りで指定する(all、inet、tcp、udp、raw、unix、packet、netlink、unix_dgram、unix_stream、unix_seqpacket、packet_raw、packet_dgramから選択) |
-F | ファイル名 | --filter=ファイル名 フィルターの指定をファイルから読み込む |
ssの主なオプション(表示内容関係)†
短いオプション | 長いオプション | 意味 |
-n | --numeric | サービス名の名前解決を行わない(ポート番号を表示) |
-r | --resolve | 名前解決を行う |
-e | --extended | 詳細情報を表示 |
-o | --options | タイマー情報も表示する |
-m | --memory | 各ソケットのメモリの使用量も表示する |
-p | --processes | ソケットを使用しているプロセスも表示する |
-Z | --context | -pオプションに加えてセキュリティコンテキストも表示(SELinux) |
-z | --contexts | -Zオプションに加えてソケットコンテキストも表示(SELinux) |
-i | --info | 内部TCPの情報も表示する |
-s | --summary | ソケットの種類ごとに本数を表示する |
-D | ファイル名 | --diag=ファイル名 RAW情報をファイルに出力する(画面には何も出力しない) |
sudo†
ユーザーをwheelグループに追加†
[root@localhost ~]# usermod -G wheel <username> |
visudoで/etc/sudoersを開き、下記の行のコメントアウトを外す。†
[root@localhost ~]# visudo |
## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL |
sudoの実行をパスワードなしで許可する場合は、下記のほうのコメントアウトを外す。†
[root@localhost ~]# visudo |
## Allows people in group wheel to run all commands %wheel ALL=(ALL) NOPASSWD:ALL |
特定のユーザーのみsudoを許可する†
[root@localhost ~]# visudo |
<username> ALL=(ALL) NOPASSWD: ALL |
route†
ルーティングテーブルの内容を表示する†
[root@localhost ~]# route ←IPv4のルーティングテーブルを表示 |
[root@localhost ~]# route -6 ←IPv6のルーティングテーブルを表示 |
経路を追加する†
[root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.2.1 eth0 ←インタフェースを指定して経路を追加する |
[root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.2.1 ←経路を追加する |
経路を削除する†
[root@localhost ~]# route del -net 192.168.1.0/24 gw 192.168.2.1 eth0 ←インタフェースを指定して経路を削除する |
[root@localhost ~]# route del -net 192.168.1.0/24 gw 192.168.2.1 ←経路を削除する |
拒否経路を追加する†
[root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.2.1 eth0 reject ←インタフェースを指定して拒否経路を追加する |
[root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.2.1 reject ←拒否経路を追加する |
拒否経路を削除する†
[root@localhost ~]# route del -net 192.168.1.0/24 gw 192.168.2.1 eth0 reject ←インタフェースを指定して拒否経路を削除する |
[root@localhost ~]# route del -net 192.168.1.0/24 gw 192.168.2.1 reject ←拒否経路を削除する |