LPIC102のコマンドまとめ+α

前回に続いて、LPIC102に出てくるコマンド(+α)を纏めました。
かなり適当ですので気を付けてください。(※あと、前回に引き続いてver4での話なので、最新のver10だと増えてたり消えてたりする可能性があります。)

・whois
 ドメインの登録者や管理者、所属団体の情報を得るコマンド。whoisサーバーに問い合わせる。

・dig
 DNSサーバへの登録情報を表示するコマンド。DNSサーバに問い合わせる。host -aと同じ?
 /etc/resolv.confが0バイトの場合は、DNSサーバが設定されていないため使えない。 
 dig @XXX.XXX.XXX.XXX yahoo.co.jp (dig @DNSサーバー ホスト名 検索タイプ)
 検索タイプは
  a IPアドレス(デフォ)
  any すべての情報
  mx メールサーバの情報
  ns ネームサーバの情報

・nslookup
 DNSサーバーに問い合わせるコマンド。/etc/resolv.confが0バイトの場合は、DNSサーバが設定されていないため使えない。 

・netstat
 ローカルネットワークの情報を表示するコマンド。
 ※netstat -rでデフォルトゲートウェイを表示
 -r ルーティングテーブルを表示する
 そのまま 有効なネットワーク接続を表示する、開いているソケットの情報を表示する→ Proto Recv-Q Send-Q Local Addressみたいな感じ
 -i インターフェースの統計情報を表示する
 ☆細かな説明
  -a --all すべてのソケット情報を表示する
  -c --continuous 状況を1秒ごとにリアルタイムで表示する
  -i --interfaces ネットワークインターフェースの状態を表示する
  -n --numeric アドレスやポートを数値で表示する
  -p --program PIDとプロセス名も表示する
  -r --route ルーティングテーブルを表示する
  -t --tcp TCPポートのみを表示する
  -u --udp UDPポートのみを表示する
  
 ・ifconfig
 インターフェースの設定や表示を行うコマンド。

・ifup
 インターフェースをアップ

・ifdown
 インターフェースをダウン

・traceroute
 リモートホストまでの経路を表示するコマンド。
 ICMPプロトコルを使う。
 -nで名前空間を使わないので早い。

・traceroute6
 tracerouteのIPv6版

・mail
 メールの送受信を行うコマンド。

・mailq
 メールキューにたまった送信待ちメールを表示するコマンド。

・newaliases
 /etc/aliasesに設定したファイルの内容を反映する。
 ※/etc/aliasesには転送先等の設定が記載してある。

・lpr
 プリンターキューにジョブを登録して、印刷する。
 -#n n部印刷
 -Pプリンタ 『プリンタ』で印刷
 ※デーモンの名前はipd

・lpq
 プリンターキューに登録されたジョブを表示するコマンド。

・lprm
 プリントキューにある印刷ジョブを削除

・journalctl
 systemdが動作するシステムで、各ユニットが出力するログを表示する。
 ※/var/log/journal ディレクトリが存在しないとだめ。
 -a --all 画面表示できないものも表示する。
 -b --boot 特定のシステム起動時のログを表示する。journalctl -b -1で前回の起動からシャットダウンのログ。→ 0が今回の起動時、-1が前回、-2が二回前、1は最古のログ、2は二番目に古いログ...
 -f --follow 新規に追加されたログをリアルタイムで表示する。(tailと同じ感じ?)
 -k --dmesg カーネルからのメッセージを表示する。
 -l --full 画面表示可能なログを全て表示する。
 -n --lines 指定行数分表示する。
 --no-pager lessコマンドを使わないする。(デフォルトはlessでページングされる)
 -o --output ログの出力形式を変更する。
 -r --reverse 最古のログから表示する。(デフォルトは最新から表示)
 --since 指定した日付以降のログを表示する。
 -u --unit 特定のユニットからのログを表示する。
 --until 指定した日付までのログを表示する。

・who
 現在システムにログインいているユーザの情報を表示するコマンド。/var/run/utmpを参照する。
 省略してwと打ってもOK。

・getent
 名前解決やサービス名解決の際の問い合わせ順序を検索。
 /etc/nsswitch.confに従って検索を行う。
 hosts: files dns

・host
 DNSサーバーに問い合わせるコマンド。/etc/resolv.confが0バイトの場合は、DNSサーバが設定されていないため使えない。
 -t 問い合わせる情報の指定
  a IPアドレス(digと同じ)
  mx(メールサーバー)
  ns(ネームサーバー)
  any(すべて)
 -v 詳細な出力

・hostname
 一時的にホスト名を変更するコマンド。(再起動で元に戻る)
 恒久的に変えたいなら、「/etc/sysconfig/network」(RedHat)、「/etc/hostname」(Debian)を変える。

・ssh
 リモートマシーンにログインするコマンド。
 -X 環境変数を自動で設定。
 -L SSHポートトンネリング(SSH接続先のホストから接続可能なホストと通信)を設定
  ssh -L [ローカルアドレス:]ローカルポート:転送先ホスト:転送先ポート SSHアクセスホスト
 -l ログインユーザ名の指定
 -p 接続先ポート番号
 -o ssh|configで設定できるオプションの指定

・sudo
 他ユーザの権限でコマンドを実行する。
 -l 委譲されている権限を表示する。
 ※設定はvisudoで/etc/sudoersを編集する。

・visudo
 /etc/sudoersを編集するコマンド。

・date
 システムクロックの表示設定を行う。
 date [MMDDhhmm[CC[YY]][.ss]]で変更
 date 100404252020.10 → 2020年10月4日 4:25:10
 システムクロック→linuxのカーネルが持つ時刻

・hwclock
 ハードウェアクロックの表示設定を行う。
 ハードウェアクロック→コンピュータ内蔵の時刻
 -r (--show) 表示
 -w (--systoch) システムクロックの時刻をハードウェアクロックに設定
 -s (--hctosys) ハードウェアクロックの時刻をシステムクロックに設定
 -a (--adjust) /etc/adjtimeファイルの設定をもとに、ハードウェアクロックの時刻を調節

・cal
 カレンダーを表示する

・ip
  ネットワークデバイスやルーティング、ポリシーなどの表示と変更を行うコマンド
 ip link set インタフェース up|down インターフェースの有効無効
 ※オブジェクト
  addr IPv6,IPv4のアドレス
  link ネットワークデバイス
  neighbour IPv4のARPキャッシュ、IPv6のNDキャッシュ
  route ルーティングテーブル
 add 追加、del 削除、show 表示
 ex.ip link show→インタフェースの状況のみを確認
 ※ip route showでデフォルトゲートウェイ表示
  192.168.3.0/26 test 192.168.2.101 dev etc0みたいな感じ。
  (routeやnetstat -rはDestination,Gatewayみたいな感じ)

・route
 ルーティングテーブルの設定や表示を行うコマンド。
 ※引数なしでデフォルトゲートウェイで表示
 -F ルーティングテーブルを表示
 -C ルーティングキャッシュを表示
 -n 名前解決をせうにルーティングテーブルを表示(すばやく表示!)
 add 追加、del 削除
 -host ホストのアドレス
 -net ネットワークアドレス
 netmask サブネットマスク
 gw ゲートウェイ
 default gw デフォルトゲートウェイ

・usermod
 ユーザ情報を変更するコマンド。
 -d ホームディレクトリ指定
 -g プライマリグループを指定
 -G サブグループを指定
 -s ログインシェルを指定(nologinとか指定するとログインできなくなる)
 -L パスワードをロック
 -U パスワードをアンロック
 -p 暗号化パスワードを指定

・groupmod
 グループ情報を変更するコマンド
 -g グループID変更
 -n グループ名変更

・id
 -u ユーザIDを表示
 -g プライマリグループを表示
 -G 所属するすべてのグループIDを表示

・useradd
 ユーザアカウント追加

・userdel
 ユーザアカウント削除
 -r ホームディレクトリも削除
 -f 強制的に削除

・groupadd
 グループアカウント追加

・groupdel
 グループアカウント削除

・groups
 所属グループ表示する

・gpasswd
 グループのパスワードやメンバーを設定する

・crontab
 /var/spool/cron/ユーザ名を編集
 -e 編集
 -l 表示
 -r 削除

・passwd
 パスワード関連のコマンド
 -l パスワードをロック
 -u パスワードをアンロック

・chage
 パスワードの有効期限を設定したり、確認したりする。(CHange password AGEの略)
 -l アカウントの期限に関する情報を表示
  Last password change,Password exprises Password inactive....みたいなの
 -m パスワードの変更の間隔の最短日数を指定
 -M パスワードが有効な最長日数を指定
 -I パスワードの有効切れ後にアカウントがロックされるまでの日数を指定
 -W パスワードの有効期限前に警告を出す日数を指定
 -E ユーザーアカウントの有効期限を指定

・startX
 X Window System(GUI環境)が起動。

・showrgb
 X上で使用できる色の対応表を表示する。
 255 250 250 snow
 248 248 255 ghost white

・xhost
 Xサーバにアクセスを許可・不許可する。

・xdpyinfo
 Xサーバに関する各種ディスプレイ情報を表示する

・xwininfo
 選択したXウィンドウの情報を表示する

・nc
 NetCat(TCPやUDPを使った通信を行うことのできるツール)コマンド。
 -l 指定したアドレスやポート番号で接続を待ち受ける(リッスン)
 -p 送信元のポート番号を指定
 -u UDPで動作(デフォルトはTCP)

・env
 環境変数の表示や一時的な変更を行う
 -i 何も環境変数が設定していない状態にする
 -u 環境変数を一時的に削除
 環境変数=値 環境変数の値を一時的に変更
 そのまま 環境変数の表示

・locale
 オプションなしで現在のロケールを表示
 -a 現在のシステムで使えるロケールを表示

・iconv
 文字コードを変換するコマンド
 -l 扱える文字コードを表示
 -f 変換前の文字コードを指定
 -t 変換後の文字コードを指定

・tracert
 リモートホストまでの経路情報を表示する。
 ※WInのコマンド。

・set
 シェル設定の変更や確認を行う
 ※set -o noclobberでリダイレクトによるファイルの上書きを禁止
 ※引数なしで、全てのシェル変数と環境変数を表示
 細かな設定
  set [-o][+o] hogehoge (-oで有効、+oで無効)
  allexport 新規作成、変更した変数を自動的に環境変数にする
  emacs emacsと同じキーバインド
  ignoreeof Ctrl+Dでログアウトしない
  noclobber リダイレクト演算子(>,>&,<>)で上書きしない
  noglob パス名の展開(*,?)を無効にする
  noexec シェルスクリプトを読み込むが実行はせず、構文の確認のみ行う
  vi viと同じキーバインドにする。
 ※シェル関数も見れるよ!!


・printenv
 指定した環境変数を表示。指定なしですべて。

・tzconfig
 /etc/localtimeと/etc/timezoneの両方設定。

・tzselect
 環境変数TZや/etc/timezoneファイルで指定する値を確認

・nmap
 指定したホストの開いているポートを一覧表示(ポートスキャン)する事ができるコマンド。
 ※netstatやlsofと違って、リモートのホストも参照できる。(netstatやlsofはローカルだけ)

・ftp
 ファイルの転送を行う

・ssh-keygen
 公開鍵/秘密鍵のペア作成
 ※クライアントで鍵を作成。公開鍵「~/.ssh/id_rsa.pub」をサーバの認証鍵リスト「~/.ssh/authorized_keys」に登録する。

・lsof
 システムのリソースを使用しているプロセスの情報を表示
 特定のポート番号を指定する場合は「lsof -i:ポート番号」

・mount
 ファイルシステムのマウントや、マウント済みのファイルシステムを表示

・fuser
 システムの特定のリソースを使用中のプロセスを検索、強制終了する。
 -k SIGKILL送信
 -m マウントされたファイルを指定
 -n 名前空間指定 file,udp,tcp
 -u 検索結果にユーザ名追加
 -v 詳細情報表示
 ※lsofでもリソースを使用中のプロセスは検索できるが、終了はできない

・at
 1回限りのジョブのスケジュールを一覧で表示する
  -l 予約中のジョブを表示(atqと同じ)
 -d 番号 予約中ジョブを削除(atrmと同じ)
 書式:at now +10min、at 00:00
 hh:mm atコマンドを実行した日のhh時mm分にジョブを実行
 hh:mm MMDDYYYY YYYY年MM月DD日のhh時mm分にジョブを実行
 now +1min 現在時刻から1分後にジョブを実行

・source
 ファイルに書かれたコマンドを現在のシェルで実行。
 ※シェルスクリプトに実行権が無い場合でも実行できる

・sh
 コマンドを実行するために、あたかもシェルの新しいコピーが呼び出されたかのように、コマンド置換を実行。
 ※スクリプト内のexport等はシェル内でのみ有効
 ※シェルスクリプトに実行権が無い場合でも実行できる

・bash
 標準入力やファイルから読み込んだコマンドを実行。
 ※シェルスクリプトに実行権が無い場合でも実行できる
 ※./hogehogeみたいなのは実行権が必要

・gpg
 ファイルの暗号化や復号を行う。
 --gen-key 公開鍵のペアを作成
 --export 公開鍵を出力
 --import 公開鍵をインポート
 -e ファイル 相手側の公開鍵を使用して暗号化
 -r メールアドレス 暗号化に使用する公開鍵の持ち主のメールアドレス
 -o ファイル 出力ファイル名
 -c 共通鍵を使って暗号化
 ※gpg hogehoge.txt.gpg → 「hogehoge.txt.gpg」を自分の秘密鍵を使用して復号したい。
  gpg -o pubkey --export user1@nnnn.com → user1@nnnn.comを用いる公開鍵をpubkeyという名前で出力

・ping
 宛先アドレスに到達可能か
 -c 疎通確認用パケットの送信回数
 -i 疎通確認要パケットの送信間隔
 -n 結果表示時の形式をホスト名でなく、アドレスで表示
 ICMPを使用。

・ping6
 pingのIPv6版
 
・tracepath
 宛先アドレスまでの経路と経路上の最大転送単位

・tracepath6
 tracepathのIPv6版

・xvidtune
 ディスプレイの表示位置を表示

・xwininfo
 選択したXウィンドウの情報を表示
 Absolute upper-left X: 25
 Absolute upper-left Y: 123

・xdpyinfo
 ディスプレイの各種情報を表示
 name of display: :0
 version number: 11.0

・exec
 指定したコマンドを既存のジョブと置き換えて実行するコマンド

・declare
 変数を宣言するコマンド。
 -fでシェル関数の確認

・function
 シェル関数を定義するコマンド

・unalias
 エイリアスの削除。-aですべて。

・ulimit
 ユーザやシェルが利用するリソースを制限する
 -a リソースの制限値をすべて表示
 -c コアファイルのサイズを制限
 -f 出力ファイルのサイズを制限
 -u ユーザー1人が起動できるプロセス数を制限
 -v シェルが使用できる仮想メモリを制限

・xlsclients
 実行中のXクライアントを表示
 test.example.com ibus-x11
 test.example.com gnome-shell

・last
 システムにログインしたユーザ情報一覧を表示(「/var/log/wtmpに記載された情報を元に表示)
 user04 pts/8 192.168.0.30 Tue Nov 28 13:38 still logged in
 user01 pts/8 192.168.1.31 Tue Nov 28 13:37 - 13:37 (00:00)
 
・lastb
 ログインの失敗の情報を表示

・telnet
 他のサーバにCUIログインする

・unset
 設定済みの環境変数やシェル変数の削除

・コマンド実行時のエトセトラ

・「\」バックスラッシュを入力してコマンドを実行すると、エイリアスが無効化される。


・ウェルノンポート

あらかじめ予約されているポート。0~1023番。
20 FTP ファイル転送(データ用)
21 FTP ファイル転送(制御用)
22 SSH リモートログイン(暗号化あり)
23 TELNET リモートログイン(暗号化なし) ※使用を推奨されない
25 SMTP 電子メール送信
53 DNS 名前解決
80 HTTP HTMLファイル送信(暗号化なし)
110 POP3 電子メール受信
123 NTP(時刻同期サービス)
143 IMAP 電子メール受信
161/162 SNMP(ネットワーク管理サービス)
389 LDAP(LDAPサービス)
443 HTTPS HTMLファイル転送
465 SMTPS(SMTPに、伝送路を暗号化するSSL/TLSを組み合わせたもの)
514 SYSLOG(ログサービス)
636 LDAPS(LDAPによる接続前にサーバとクライアントの間でSSLによる仮想的な通信路を形成する)
993 IMAPS(IMAPによる接続前にサーバとクライアントの間でSSLによる仮想的な通信路を形成する)
995 POP3S(POP3に、伝送路を暗号化するSSL/TLSを組み合わせたもの)

631...CUPSのポート???

・アドレス関連

IPv4のネットワークアドレスはall0、ブロードキャストアドレスはall1(サブネットマスクの0の部分が)、それ以外はホストアドレス
※IPアドレスが192.168.18.1でサブネットマスクが255.255.255.0
 ネットワークアドレス:192.168.18.0、ブロードキャストアドレス:192.168.18.255

・IPアドレスのクラス
クラスA 0.0.0.0~127.255.255.255  サブネットマスク:255.0.0.0
クラスB 128.0.0.0~191.255.255.255 サブネットマスク:255.255.0.0
クラスC 192.0.0.0~223.255.255.255 サブネットマスク:255.255.255.0
クラスD 224.0.0.0~239.255.255.255
クラスE 240.0.0.0~255.255.255.255
サブネットマスク255.255.0.0の場合

・SUID

SUID...どのユーザが実行しても指定されたユーザで実行されるパーミッション。4000。
 ※find / -perm -4000、find / -perm -u+sで検索
SGID...2000。
 ※find / -perm -g+s -gid 0、find / -perm -2000 -gid 0で検索。
 -gidはグループID指定。rootは0。-uidでユーザID。

・受験前に確認したいサイト

https://genchan.net/it/server/7713/
LINUX(LPIC102)の試験でとりあえずこれ覚えておこうって思うものを27の項目にまとめてみた
 →今回と前回で網羅できていない部分(プロトコル名とか、ソフトウェア名とか、文字コードとか...)なんかが良い感じにまとまっている。

https://qiita.com/kyohmizu/items/d5d6fedc527efa9f649c
LPIC 102 チートシート
 →このnoteいらないのでは....

・更新履歴

 10/4 初版

この記事が気に入ったらサポートをしてみませんか?