Skip to content

Linuxコマンド(システム管理)のチートシート

inoue.h edited this page Aug 16, 2023 · 2 revisions

Home > Software > ソフトウエア開発・PC管理のメモ帳 > this page (このページ)


Linuxのシステム情報を得たり、設定を変更したりするコマンドを個人的にメモしたものです



Table of Contents

システム状態表示

Linuxディストリビューションのバージョン表示
 lsb_release -a
コンピュータ名やカーネルバージョンの表示
 uname -a
 cat /proc/version
ハードウエア情報全ての表示
 lshw -businfo

-businfo : 各デバイス1行で、かつPCI,SCSIバス番号の表示

 dmidecode -t [type name] | -s [system name]

-t : bios, system, memory, connector, ... , -s : bios-version, processor-version, ...

CPU情報
 lscpu
 less /proc/cpuinfo
PCIバスに接続されたデバイス情報
 lspci -tvnn

-t : ツリー表示, -m : 詳細表示, -n:ベンダ・プロダクトID表示, -nn : 詳細

USBバスに接続されたデバイス情報
 lsusb -t|-v

-t : ツリー表示, -v : 詳細表示

ブロックデバイス、キャラクタデバイスの一覧表示
 less /proc/devices
モジュール情報
 lsmod
ロケールの表示
 locale
光学ドライブの読み書き可能メディア照会
 cat /proc/sys/dev/cdrom/info

サービスの管理

upstart (Debian/Ubuntu)

一覧表示 (起動されているサービスはprocess番号が表示される)

 initctl list

有効・無効化は、/etc/init以下の設定ファイルを編集する。例としてsambaデーモンの設定ファイルの該当部分を示す

 start on (local-filesystems and net-device-up)
 stop on runlevel [!2345]

サービスの手動での起動・停止・再起動・状態表示

 initctl start|stop|restart|status [service]

SysVinit (Debian/Ubuntu)

一覧表示

 sysv-rc-init --list

有効・無効化

 sysv-rc-init [service] on|off

サービスの有効・無効化は/etc/rc*.d//etc/init.d/の起動スクリプトへのシンボリックリンクを張ることにより行われる。

サービスの手動での起動・停止

 service [service] start|stop|restart

Systemd

一覧表示

 systemctl list-unit-files
 systemctl list-unit-files -t service

起動状態の一覧表示

 systemctl list-units
 systemctl list-units -t service

状態表示

 systemctl status [unit.service]

依存関係の表示

 systemctl list-dependencies [unit.service]

有効化

 systemctl enable [unit.service]

無効化

 systemctl disable [unit.service]

手動起動

 systemctl start [unit.service]

手動停止

 systemctl stop [unit.service]

強制リロード

 systemctl reload [unit.service]
解析
ログの確認
 journalctl -u [unit.service]

起動に掛かった時間の表示

 systemd-analyze 

起動に掛かったそれぞれのサービスに対する時間の表示

 systemd-analyze blame

ユーザ管理

ログインユーザ一覧
 lslogins -u|-o==USER,GROUP,HOMEDIR,SHELL,LAST-LOGIN

-u : 一般ユーザのみ表示, -o=USER,HOMEDIR,... : 指定された情報を表示

ユーザの情報(UID, グループ名とGID, サブグループ名とGID)表示
 id [user]
ユーザ新規追加
 useradd -d /home/user -m -e 2016-12-31 -g group -G group1,group2 -p password -s /bin/bash [user]

-m : ホームディレクトリを作成する(/etc/skel/ 以下がコピーされる)

ユーザ削除
 userdel -r [user]

-r : ホームディレクトリを削除する

ユーザ名を変更
 usermod -l [user_new] -d /home/user_new -m [user_old]

-m : 新しいユーザのホームディレクトリに、現在のホームディレクトリ内のファイルが移動される

パスワード変更
 passwd -S [user]

-S : 情報表示のみを行う(ロック状態, 最終パスワード変更日,...)

ユーザをロック/アンロック
 usermod -L|-U [user]
シェル変更
 chsh -s /bin/bash [user]

オプション付けずに実行 : 対話形式で変更, -s シェル名 : 指定したシェルに変更

 usermod -s /bin/bash [user]
ホーム ディレクトリの変更
 usermod -d /home/user [user]
デフォルト グループの変更
 usermod -g [group] [user]
サブグループの変更
 usermod -aG [group1,group2,...] [user]

-aG : サブグループの「追加」, -G : サブグループの「置き換え」

プロセス管理

指定したプロセス名のPIDを得る(-x オプションで完全一致の場合のみ)

 pgrep -x [プロセス名]

指定したプロセスを停止する(-x オプションで完全一致の場合のみ, -HUP はプロセスのリロード)

 pkill -x -HUP [プロセス名]

指定したプロセスが実行中の場合、指定したプログラムを実行する

 [ -n "$(pgrep -x プロセス名)" ] && 実行するプログラム

スケジューリング

crontab 編集

 crontab -u USER -e

crontab 現在値の表示

 crontab -u USER -l

ディスクドライブ関連

ブロックデバイス情報
 lsblk -f

-f : ファイルシステムとボリュームラベル表示,

 blkid -po udev /dev/sda1

-po udev : 指定されたブロックデバイスのローレベル情報を表示, オプション無し : ブロックデバイス一覧表示

パーティションテーブルの表示、編集
 fdisk -l /dev/sda

-l : 表示のみ

ボリュームラベルの変更
extの場合
 e2label /dev/sdb1 [新しいラベル名]

FAT32の場合、現在のボリュームラベルを表示後に変更入力に遷移

 mlabel -i /dev/sdb1

画面表示・ディスプレイ関係

画面表示の明るさ、ガンマ設定
設定(ガンマ値は0.0〜1.0, 明るさは0.0〜)
 xrandr --output HDMI1 --gamma 1.0:1.0:1.0
 xrandr --brightness 1.0
 xrandr --output HDMI1 --gamma 0.6:0.6:0.6 --brightness 0.5

現在値の表示

 xrandr --verbose | grep -e Gamma -e Brightness

ガンマ設定値のみ変更する

 xgamma -gamma 0.9
画面解像度
スケーリング1.0倍(通常の表示)
 xrandr --output HDMI1 --scale 1.0x1.0

スケーリング1.2倍(縮小・圧縮して表示)

 xrandr --output HDMI1 --scale 1.2x1.2

仮想的にデスクトップを広げて表示

 xrandr --output HDMI1 --panning 3840x2860

仮想的にデスクトップ広げたデスクトップを元に戻す

 xrandr --output HDMI1 --panning 0x0

起動、シャットダウン

シャットダウン
指定した時刻にシャットダウン(例は15時30分)
 shutdown -h 15:30