CentOS 7の基本コマンドと設定方法

環境説明

オペレーティングシステム: CentOS Linux release 7.6.1810 (Core)

コマンドと設定方法

エラーメッセージと対処法

bash: ip コマンドが見つかりません

エラーメッセージ:

bash: ip コマンドが見つかりません

解決策:

yum -y install net-tools

-bash: telnet: コマンドが見つかりません

エラーメッセージ:

-bash: telnet: コマンドが見つかりません

インストール:

yum install telnet-server

-bash: netstat: コマンドが見つかりません

エラーメッセージ:

-bash: netstat: コマンドが見つかりません

サービスをインストール:

yum install net-tools

-bash: zip: コマンドが見つかりません

エラーメッセージ:

-bash: zip: コマンドが見つかりません

サービスをインストール:

yum install zip unzip

RPMパッケージ取得:

wget http://example.com/unzip-6.0.rpm
wget http://example.com/zip-3.0.rpm

-bash: tree: コマンドが見つかりません

エラーメッセージ:

-bash: tree: コマンドが見つかりません

サービスをインストール:

yum -y install tree

-bash: vim: コマンドが見つかりません

エラーメッセージ:

-bash: vim: コマンドが見つかりません

サービスをインストール:

yum install vim-enhanced

-bash: wget: コマンドが見つかりません

エラーメッセージ:

-bash: wget: コマンドが見つかりません

サービスをインストール:

yum -y install wget

-bash: rz: コマンドが見つかりません

エラーメッセージ:

-bash: rz: コマンドが見つかりません

または

-bash: sz: コマンドが見つかりません

サービスをインストール:

yum -y install lrzsz

repomd.xml ファイルが見つからない

Yumリポジトリを設定する際、repomd.xmlファイルが見つからないというメッセージが出ることがあります。これは以前に設定したYumリポジトリが誤っているためです。

cd /etc/yum.repos.d/

効いている設定ファイルを見つけて、誤ったリポジトリ設定を削除します。 キャッシュをクリアします:

yum clean all
yum makecache

これでYumは正常に動作します。

$‘\r’: コマンドが見つかりません

エラー情報:

$'\r': コマンドが見つかりません

原因: Windows形式の改行コードを使用している場合があります。

対処法:

yum -y install dos2unix
dos2unix example.sh

電源管理

スタートアッププログラム設定

例:ファイアウォール

スタートアップ設定確認:

systemctl is-enabled firewalld.service

結果(有効の場合):

enabled

無効化:

systemctl disable firewalld.service

変更後の確認:

systemctl is-enabled firewalld.service

結果(無効化後):

disabled

有効化:

systemctl enable firewalld.service

自作スクリプトの自動起動設定

この方法はCentOS 6/7共通です。

ディレクトリ:

cd /etc/rc.d/

ファイル:

rc.local

実行権限を付与:

chmod +x /etc/rc.d/rc.local

ファイル末尾に以下を追加:

# test
sh /root/startup.sh

ファイル startup.sh の内容:

touch /root/file.txt

/root/ ディレクトリ下に file.txt がないことを確認し、再起動してテストします。

安全なシャットダウン

Linuxでは多くのデータがメモリ上に存在するため、安全なシャットダウンを行うには以下のコマンドを使います。

sync; sync; shutdown -h now

安全な再起動

同様に安全な再起動は以下の通りです。

sync; sync; reboot

日付と時刻

手動設定

現在の日付や時刻を確認する:

timedatectl status

日付と時刻を設定する:

timedatectl set-time "YYYY-MM-DD HH:MM:SS"

タイムゾーンを設定する:

timedatectl set-timezone Asia/Tokyo

ntpを停止する必要がある場合:

timedatectl set-ntp false

自動同期

chrony を使用して時刻を自動同期します。

インストール:

yum -y install chrony

設定ファイル(同期サーバーを指定可能):

/etc/chrony.conf

自動起動設定:

systemctl enable chronyd

ステータス確認:

systemctl status chronyd

ディレクトリとファイル操作

ファイルの最後数行を表示

filename ファイルの最後の内容を監視します(デフォルト10行):

tail -f filename

ファイル内検索

grep コマンドを使用してファイル内の文字列を検索します:

grep "target_string" filename.log

大文字小文字を無視する場合:

grep -i "target_string" *.log

ファイル検索

特定の名前を持つファイルをディレクトリから検索します:

find / -name filename

vi 編集器

vi コマンドを使用してファイルを編集します:

vi filename
vi +n filename # n 行目にカーソル移動
vi + filename # 最終行にカーソル移動
vi +/pattern filename # 指定パターンにカーソル移動
:%s#old#new#g # abc を 123 に置換

ファイル末尾にデータ追加

sed コマンドを使って filename.txt の最後にメッセージを追加します:

sed -i '$a message' filename.txt

ファイル内容クリア

ファイルの内容を空にする:

cat /dev/null > filename.txt

ディスク使用量確認

ディレクトリのサイズを確認します:

du -sh
du -h --max-depth=1 ./

SCPを使用したファイル転送

SCPはSSHプロトコルを使った安全なファイル転送コマンドです。

基本的な使い方:

scp local_file remote_user@remote_ip:/remote/path
scp -r local_dir remote_user@remote_ip:/remote/path

マウントポイントの設定

/dev/vdb デバイスを /mnt/data にマウントする手順:

lsblk
sudo fdisk /dev/vdb
sudo mkfs.ext4 /dev/vdb1
sudo mkdir -p /mnt/data
sudo mount /dev/vdb1 /mnt/data
df -Th
sudo vi /etc/fstab
# 追記:
# /dev/vdb1 /mnt/data ext4 defaults 0 2

ネットワーク設定

ファイアウォール設定

ポートの開放状況を確認:

firewall-cmd --zone=public --list-ports

ポートを開く:

firewall-cmd --zone=public --add-port=80/tcp --permanent

ポートを閉じる:

firewall-cmd --zone=public --remove-port=80/tcp --permanent

設定を反映させるには、ファイアウォールを再起動します:

systemctl restart firewalld.service

リスニングポート確認

netstat コマンドを使用してリスニングポートを確認します:

netstat -tulnp | grep 8080

ss コマンドも利用できます:

ss -tnlp | grep 22

静的IP設定

ネットワーク設定ファイルを編集します:

vi /etc/sysconfig/network-scripts/ifcfg-ens*

必要な設定項目:

ONBOOT=yes
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8

ネットワークを再起動します:

systemctl restart network

DNS設定

DNSサーバーを設定する方法:

vi /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8

hostname変更

現在のホスト名を確認:

hostname

ホスト名を変更:

hostnamectl set-hostname new_hostname

変更を反映させるには再起動が必要です:

reboot

curlコマンド

curlはHTTPリクエストを送信するための強力なツールです。

詳細情報を取得する:

curl -v http://example.com

出力をファイルに保存:

curl -o output.txt http://example.com

SELinux設定

SELinuxを一時的に無効化する方法:

setenforce 0

恒久的に無効化するには:

vi /etc/selinux/config
SELINUX=disabled
reboot

ソフトリンク作成

ソフトリンクを作成する:

ln -s /path/to/source /path/to/link

JARファイルのバックグラウンド実行

JARファイルをバックグラウンドで実行する:

nohup java -jar app.jar > logs/output.log 2>&1 &

環境変数の設定

一時的な環境変数の設定:

export MY_VAR=value
echo $MY_VAR

永続的な環境変数の設定:

vi /etc/profile
export MY_VAR=value
source /etc/profile

OSバージョン確認

OSバージョンを確認する:

cat /etc/os-release

文字セットの設定

現在の文字セットを確認する:

locale

文字セットを変更する:

localectl set-locale LANG=ja_JP.UTF-8
reboot

ファイルチェックサム

MD5チェックサムを計算する:

md5sum filename

圧縮と解凍

ZIP

ZIPファイルを作成する:

zip -r archive.zip /path/to/files

ZIPファイルを解凍する:

unzip archive.zip

TAR

TARファイルを作成する:

tar -cvf archive.tar /path/to/files

TAR.GZファイルを作成する:

tar -czvf archive.tar.gz /path/to/files

RPMとYUM

RPM

RPMパッケージをインストールする:

rpm -ivh package.rpm

RPMパッケージをアンインストールする:

rpm -e package_name

YUM

YUMリポジトリリストを確認する:

yum repolist

パッケージをインストールする:

yum install package_name

パッケージをアンインストールする:

yum remove package_name

定期タスク

cronジョブを設定する:

crontab -e

毎日の午前3時にスクリプトを実行する例:

0 3 * * * /path/to/script.sh

SSHによる無パスワードログイン

AからBへの無パスワードログインを設定する:

ssh-keygen
scp ~/.ssh/id_rsa.pub user@B:/home/user/.ssh/
ssh user@B 'cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys'

ユーザー管理

ユーザーを追加する:

useradd new_user
passwd new_user

ユーザーを削除する:

userdel new_user

sudoers設定

sudoアクセスを許可する:

visudo
new_user ALL=(ALL) NOPASSWD:ALL

ハードウェア情報

CPU情報を確認する:

lscpu

メモリ情報を確認する:

free -m

タグ: CentOS Shell Network filesystem SystemManagement

6月16日 22:10 投稿