忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   
カテゴリー「Linux コマンド」の記事一覧

【Linux】プロセス/ポート番号

==============================
ポートとプロセスIDとプロセス名
==============================
netstat -anp | more
PR

【Linux】ネットワーク調査

ネットワークの設定状態を確認する方法
#*****************************
# 疎通確認
ping -c 3 <IPアドレス>
traceroute <IPアドレス>
netstat -rn
#*****************************
# 設定ファイルの存在確認
ls -ltr /etc/sysconfig/network-scripts/
#*****************************
# IPアドレスとens***確認
route -n | egrep "(ens|<IPアドレス>)"
#*****************************
# metric が表示されることを確認
ip route | egrep "(ens|metric)"
#*****************************
# noprefixroute が表示されることを確認する
ip addr | egrep "(ens|noprefixroute)"
#*****************************
# MACアドレス確認
arp <IPアドレス>
#*****************************
# ssh接続の確認
ssh -l <ユーザ名> <IPアドレス>
#*****************************
# デバイス再起動(設定が正しく反映されてない場合に実施)
nmcli c up ens***
#=============================
# ■ NetworkManagerの状態表示
systemctl status NetworkManager --no-pager
#=============================
# ■ NetworkManagerのリスタート
systemctl restart NetworkManager
#=============================
# ■ 設定値の再読み込み
nmcli con reload
#=============================
# ■ IPルールのリスト表示
ip rule list
#=============================
# ■ 設定値のみ表示
egrep "BOOTPROTO|IPADDR|PREFIX|GATEWAY" /etc/sysconfig/network-scripts/ifcfg-ens192
#=============================
# ■ デバイス番号の確認(ensXXX)
lspci -v | grep "Physical Slot"

【Linux】ジャーナルログ

ジャーナルログの調査方法
#*****************************
journalctl -ex -r
journalctl -n <表示行数>
journalctl --grep "<文字列>" -r
journalctl -u <サービス名>
journalctl -k
journalctl --since="YYYY-MM-DD hh:mm:00" --until="YYYY-MM-DD hh:mm:00"
#=============================
# ジャーナルコマンド(文字列検索)
journalctl --grep 'ERROR' -r
journalctl --grep 'error' -r
journalctl --grep 'WARN' -r
journalctl --grep 'warn' -r
#=============================
# ジャーナルコマン(エラーレベル)
journalctl -p 3 -xb -r
#=============================
# ジャーナルコマン(サービス名検索)
journalctl -u <サービス名>*
#=============================
# ジャーナルコマンド(行数指定)
journalctl -n 150
#=============================
# ジャーナルコマンド(ページャー表示)
journalctl -ex -r

【Linux】ログ調査

#=============================
# ■ ログ確認(特定文字で抽出)
#-----------------------------
#【書式】grep -i "<検索文字列>" /var/log/messages
#-----------------------------
grep -i " emerg" /var/log/messages
grep -i " alert" /var/log/messages
grep -i " crit" /var/log/messages
grep -i " err" /var/log/messages
grep -i " warn" /var/log/messages
grep -i " fatal" /var/log/messages
grep -i " alarm" /var/log/messages
grep -i "notice" /var/log/messages
#-----------------------------
grep -i "info" /var/log/messages
grep -i "debug" /var/log/messages
grep -i "none" /var/log/messages
※一括で複数の情報を取得する場合は、以下をコピペ貼り付け実行
#=============================
# ■ 日時取得
x_DATE_x=`date +"%y%m%d%H%M%S"`
echo ${x_DATE_x}
#=============================
# ■ 情報採取
cd /tmp
mkdir LOG_${x_DATE_x}
cd LOG_${x_DATE_x}
#-----------------------------
ls -l /var/log/
\cp -pf /var/log/dmesg dmesg_LOG_${x_DATE_x}.txt
\cp -pf /var/log/messages messages_${x_DATE_x}.txt
\cp -pf /var/log/boot.log boot_${x_DATE_x}.txt
#-----------------------------
dmesg > dmesg_${x_DATE_x}.txt
dmidecode > dmidecode_${x_DATE_x}.txt
#-----------------------------
uname -a > uname-a_${x_DATE_x}.txt
sysctl -a > sysctl-a_${x_DATE_x}.txt
ps -eflm > ps-eflm_${x_DATE_x}.txt
df -h > df-h_${x_DATE_x}.txt
env > env_${x_DATE_x}.txt
set > set_${x_DATE_x}.txt
#-----------------------------
rpm -qa > rpm-qa_${x_DATE_x}.txt
rpm -qai > rpm-qai_${x_DATE_x}.txt
#-----------------------------
ipcs > ipcs_${x_DATE_x}.txt
ipcs -t > ipcs-t_${x_DATE_x}.txt
ipcs -p > ipcs-p_${x_DATE_x}.txt
ipcs -c > ipcs-c_${x_DATE_x}.txt
ipcs -u > ipcs-u_${x_DATE_x}.txt
ipcs -l > ipcs-l_${x_DATE_x}.txt
#-----------------------------
vmstat 1 5 > vmstat-1-5_${x_DATE_x}.txt
netstat -s > netstat-s_${x_DATE_x}.txt
netstat -a > netstat-a_${x_DATE_x}.txt
top n 5 > top_n_5_${x_DATE_x}.txt

【Linux】dmesg

※dmesgログの取得方法
#=============================
# ■ dmesgコマンド結果の取得
#-----------------------------
dmesg > /tmp/dmesg_cmd.txt
#-----------------------------
# ■ dmesgログファイル取得
\cp -pf /var/log/dmesg /tmp/dmesg_log.txt
#-----------------------------
# ■ dmesgに出力日時を付加する場合
dmesg -T > /tmp/dmesg-T.txt
#=============================
# ■ syslogからdmesg部分を抽出する場合
grep -i "localhost kernel" /var/log/messages > /tmp/msg.txt
※dmesgのログが作られない場合、以下を実施する
#-----------------------------
# ■ dmesgのサービス確認
sudo systemctl list-unit-files --type=service | grep dmesg.service
systemctl status dmesg.service
#-----------------------------
# ■ dmesgの設定ファイルを確認する
ls -l /etc/systemd/system/dmesg.service
 ⇒ファイルが無い場合は作成する(作成方法はネットで検索)
#-----------------------------
# ■ dmesgのログファイルを確認する
ls -l /var/log/dmesg
 ⇒ファイルが無い場合は作成する(作成方法はネットで検索)
#-----------------------------
# ■ dmesgサービスの有効化・スタート・状態確認
systemctl enable dmesg.service
systemctl start dmesg.service
systemctl status dmesg.service

【Linux】文字/改行

※文字コードと改行コードの確認と設定
#=============================
# ■文字コード
#-----------------------------
# 文字コード確認
file <対象ファイル>
file -i <対象ファイル>
nkf –guess <対象ファイル>
#-----------------------------
# 文字コード変換
iconv -f <変換 文字コード> -t <変換 文字コード> <対象ファイル>
iconv -f <変換前 文字コード> -t <変換後 文字コード> <対象ファイル> > <出力ファイル>
#-----------------------------
# 対応している文字コード一覧
iconv -l
#=============================
# ■改行コード
#-----------------------------
# 改行コード確認
od -c <対象ファイル>
#-----------------------------
# 改行コード変換 LF(Linux)
sed -i -e 's/\r//g' <対象ファイル>
#-----------------------------
# 改行コード変換 CR+LF(Windows)
sed -i -e 's/$/\r/g' <対象ファイル>

【Linux】sedコマンド

sedコマンドでファイル編集する場合の書式例
******************************
■ '#'を消して設定をコメント削除(有効)する(区切り文字 '@')
 sed -i -e "s@#path /@path /@" <ファイル>
******************************
■ '#'を付けてコメントアウト化(無効)する(区切り文字 '@')
 sed -i -e "s@path /var/@#path /var/@" <ファイル>
******************************
■ 行末を削除する
 sed -i -e '$d' <ファイル>
******************************
■ 行末に'/var/'を追記する
 sed -i -e '$a /var/' <ファイル>
******************************
空白行削除する
 sed -i -e '/^$/d' <ファイル>
******************************
条件文字列のある行だけ対象に置換する
 sed -i '/<条件文字列>/s/<変更前>/<変更後>/g' <対象ファイル>

【Linux】設定値の確認

━━━━━━━━━━━━━━━━━━━
■ 設定ファイルの内容
───────────────────
cat /etc/redhat-release
cat /etc/hostname
cat /proc/mdstat
cat /etc/hosts
cat /etc/nsswitch.conf | grep -v "^#" | grep -v "^$"
cat /etc/snmp/snmpd.conf
cat /etc/sysconfig/snmp.conf
cat /etc/chrony.conf | grep -v "^#" | grep -v "^$"
cat /etc/security/limits.conf | grep -v "^#" | grep -v "^$"
cat /etc/sssd/sssd.conf
cat /etc/rsyslog.conf
cat /etc/passwd | sort -f
cat /etc/group| sort -f
cat /etc/sudoers | grep -v "^#" | grep -v "^$"
cat /etc/ssh/sshd_config | grep -v "^#" | grep -v "^$"
cat /etc/profile | grep -v "^#" | grep -v "^$"
cat /etc/sysctl.conf | grep -v "^#" | grep -v "^$"
cat /etc/kdump.conf | grep -v "^#" | grep -v "^$"
cat /etc/pam.d/login | grep -v "^#" | grep -v "^$"
cat /etc/rc.d/rc.local | grep -v "^#" | grep -v "^$"
ls -l /etc/sysconfig/network-scripts
cat /etc/sysconfig/network-scripts/ens***
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 設定確認コマンド
───────────────────
uname -r
hostname
getenforce
df -h
lsblk -l
systemctl get-default
timedatectl status | grep zone
rpm -qa | sort -f
systemctl -t service list-unit-files --no-pager
ip route
route -n
nmcli d show <デバイス名>
nmcli c show <コネクション名>
getent passwd | sort -f
getent group | sort -f
getent hosts
getent networks
━━━━━━━━━━━━━━━━━━━
■ 出力結果の表示方法
───────────────────
ソートして表示させる
<コマンド> | sort -f
───────────────────
コメントや空行は表示させない
<コマンド> | grep -v "^#" | grep -v "^$"
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 検索コマンド
───────────────────
ファイルのパス検索
find / -name <ファイル名>
───────────────────
コマンドのパス検索
which <コマンド名>
───────────────────
パッケージ検索
rpm -qa | grep <パッケージ名>
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 作業ログの取り方
───────────────────
実施した作業を記録しファイルに保存する
script <ファイル名.txt>
───────────────────
コマンドの出力結果をファイルに保存する
echo ★ログ取得★ > log_`hostname`_`date +%Y%m%d`
echo ====== >> log_`hostname`_`date +%Y%m%d`
echo "【<コマンド>】を実行する" >> log_`hostname`_`date +%Y%m%d`
<コマンド> >> log_`hostname`_`date +%Y%m%d`
echo ====== >> log_`hostname`_`date +%Y%m%d`
━━━━━━━━━━━━━━━━━━━
■ pingコマンドの回数指定オプションの差異
───────────────────
Windowsの場合
ping -n 2 <IPアドレス>
───────────────────
Linuxの場合
ping -c 2 <IPアドレス>
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 別ユーザでログインする場合の例
───────────────────
root以外のユーザで以下を実行
su - tomcat --shell=/bin/bash
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 再帰的に所有者:グループを変更する
───────────────────
chown -R <ユーザ名>:<グループ名>
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ oom-killer回避の為、以下をcron登録して毎分実行
───────────────────
* * * * * root ps -ef | grep -E "crond|sshd$|rsyslogd|snmpd" | grep -v grep | awk '{print $2}' | while read pid;do echo "-17" > /proc/${pid}/oom_adj;done > /dev/null 2>&1
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 別ユーザでコマンド実行する場合のオプション
───────────────────
deamon --user <ユーザ名> <コマンド>
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ ログメッセージ確認の例
───────────────────
tail -n 20 /var/log/messages
━━━━━━━━━━━━━━━━━━━

【Linux】設定情報表示

━━━━━━━━━━━━━━━━━━━
OS情報
 uname -a
 uname -r
 cat /etc/redhat-release
 cat /etc/passwd | sort
 /opt/FJSVmpd/bin/iompadm info
━━━━━━━━━━━━━━━━━━━
ハードウェア情報
 lshw
 lshw -short
 lscpu
 cat /proc/cpuinfo
 cat /proc/meminfo
 lsblk
 df -h
 parted -l
 ls -la /dev/disk/by-uuid/
━━━━━━━━━━━━━━━━━━━
ソフトウェア情報
 rpm -qa | sort
 rpm -qi  <パッケージ名>
━━━━━━━━━━━━━━━━━━━
ソフトウェア情報(例)
 /usr/sbin/apachectl -v
 openssl version
 /usr/bin/ssh -v
 java -version
 python -V
━━━━━━━━━━━━━━━━━━━
サービス情報
 systemctl status
 systemctl list-unit-files
 sysctl -a | sort
 chkconfig --list
━━━━━━━━━━━━━━━━━━━
ネットワーク情報
 ip a
 route -n
 nmcli
 nmcli dev show
 nmcli con show
 which ip
  ip route
 which netstat
  netstat -nr
 firewall-cmd --list-all
メモリの空き容量
 free -tm
━━━━━━━━━━━━━━━━━━━

【Linux】コマンド備忘録①

▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲
■【Linuxコマンド】★scp転送
▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲
 
【ファイルのGET/PUT】
---------------------------------------
# scp <ユーザ名>@<IPアドレス>:<コピー元のパス> <コピー先のパス>
# scp <コピー元のパス> <ユーザ名>@<IPアドレス>:<コピー先のパス>
---------------------------------------
 
【ディレクトリのGET/PUT】
---------------------------------------
# scp -rp <ユーザ名>@<IPアドレス>:<コピー元のパス> <コピー先のパス>
# scp -rp <コピー元のパス> <ユーザ名>@<IPアドレス>:<コピー先のパス>
 【オプションの意味】
    -p 属性を保持
    -r 再帰的
---------------------------------------
 
▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲
■【Linuxコマンド】★tar圧縮/展開
▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲
 
【圧縮,展開,内容表示(zip形式)】
---------------------------------------
# tar -czvf <アーカイブ名.tar.gz> <対象ディレクトリ>
# tar -xzvf <アーカイブ名.tar.gz>
# tar -tzvf <アーカイブ名.tar.gz>
# tar -czvf <アーカイブ名.tar.gz> -C <ディレクトリパス> <対象ディレクトリ>
# tar -xzvf <アーカイブ名.tar.gz> -C /<任意のディレクトリ>
 【オプションの意味】
    -c 圧縮
    -z ZIP形式
    -v 詳細
    -f ファイルの出力先
    -x 展開
    -t 内容表示
    -C チェンジディレクトリ(相対パス)
      (tarは相対パスを使う方が安全)
---------------------------------------
 
▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲
■【Linuxコマンド】★日付取得
▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲
 
【年月日時分秒】
---------------------------------------
# `date +%Y%m%d%H%M%S`
# $(date +%Y%m%d%H%M%S)
---------------------------------------

更新日付

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

 | HOME |  次のページ>>
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]