Linux

【Linux】gzip・gunzipでファイルを圧縮する方法|元ファイルが消える罠・tar.gzとの違い

Linuxのgzip・gunzipを実機で確認しながら解説します。gzipが元ファイルを消して.gzに置き換える最重要の挙動、gunzipでの解凍、-kや-cで元ファイルを残す方法、zcatで解凍せず中身を見る方法、gzipは1ファイルだけを圧縮するためディレクトリはtar.gzが必要なこと、圧縮レベル-1から-9の違いまで整理します。
Linux

【Linux】wgetでファイルをダウンロードする方法|curlとの違い・-cで再開・-rで再帰取得

Linuxのwgetコマンドを実際のサーバーで確認しながら解説します。wgetがURLのファイル名でそのまま保存する基本、-Oでの保存名指定、同名ファイルが.1付きで上書きされないこと、curlとの使い分け(wgetは保存向き・curlは表示向き)、-cでの中断ダウンロードの再開、-rでの再帰取得、404が終了コード8になることまで整理します。
Linux

【Linux】ss・netstatでポートと接続を確認する方法|-tlnpでLISTEN確認・netstatは非推奨

Linuxのss・netstatでポートや接続を確認する方法を実機で確認しながら解説します。ss -tlnpでリッスン中のポートとプロセスを調べる基本、-t/-u/-l/-n/-p/-aオプションの意味、特定ポートでの絞り込みや確立済み接続(ESTABLISHED)の確認、現在はnetstatが非推奨でssが標準になっていること、netstatとssのコマンド対応まで整理します。
Linux

【Linux】dig・nslookupでDNSを調べる方法|A/MX/TXTレコード・+short・@でDNS指定

Linuxのdig・nslookupでDNSを調べる方法を実際のドメインで確認しながら解説します。digでAレコード(IPアドレス)を引く基本、+shortで結果だけ簡潔に表示する方法、MX(メール)・TXT(SPF等)・NS(ネームサーバー)レコードの調べ方、IPからドメインを引く逆引き、@でDNSサーバーを指定する方法、nslookupとの違い、存在しないドメインのNXDOMAINまで整理します。
Linux

【Linux】pingで疎通確認する方法|-cで回数指定・応答が無い=ダウンとは限らない罠

Linuxのpingコマンドを実際のホストで確認しながら解説します。pingで到達性を確認する基本、Linuxでは-cを付けないと無限に続くこと、ドメイン名から自動でIPを解決すること、パケットロスやrtt(応答時間)の読み方、そしてICMPをブロックするサーバーはpingに応答しなくても落ちているとは限らない罠、-W/-i/-sなどのオプションまで整理します。
Linux

【Linux】readで入力を読み取る方法|while readの定番・-rの罠・IFSで区切り変更

Linuxのreadコマンドを実機で確認しながら解説します。readで標準入力から1行読み取る基本と複数変数への分割、while readでファイルを1行ずつ処理する定番パターン、readがバックスラッシュを解釈してしまい-rが必須である罠、最終行に改行が無いとwhile readが最後を読み落とす罠、IFSで区切り文字を変えてCSVを読む方法、read -pのプロンプトまで整理します。
Linux

【Linux】test・[ ]で条件を判定する方法|スペース必須の罠・文字列と数値の比較・ファイル判定

Linuxのtest・[ ]によるシェルスクリプトの条件判定を実機で確認しながら解説します。[ ]とtestが同じであること、[ の前後や中にスペースが必須である罠、数値比較(-eq/-lt/-gt)と文字列比較(=/!=)の違いと混同の危険、-f/-d/-e/-zでのファイル・空文字列の判定、変数のクォート忘れの罠、bash拡張の[[ ]]まで整理します。
Linux

【Linux】basename・dirnameの使い方|パスからファイル名/ディレクトリを取り出す・拡張子除去

Linuxのbasename・dirnameを実機で確認しながら解説します。basenameでパスからファイル名だけ、dirnameでディレクトリ部分だけを取り出す方法、basenameの第2引数で拡張子を除去する使い方とそれが「末尾一致を消すだけ」である罠、末尾スラッシュやスラッシュなしの単語の扱い、スクリプトでのパス処理やforループでの一括変換の定番パターンまで整理します。
Linux

【Linux】which・type・commandの違い|コマンドの正体を調べる・aliasを見抜く

Linuxのwhich・type・commandを実機で確認しながら解説します。whichで実行ファイルのパスを調べる方法、typeがalias・シェル関数・組み込みコマンド・実体ファイルを区別できること、whichはaliasや関数を見抜けず空を返す罠、type -tで種別だけ取得する方法、POSIX標準で移植性の高いcommand -vまで整理します。
Linux

【Linux】echo・printfの使い方|-e/-nの罠・シェルによる違い・書式指定とゼロ埋め

Linuxのecho・printfを実機で確認しながら解説します。echoの基本と-nで改行なし・-eでエスケープ有効、echoの挙動がシェル(bashとsh/dash)で変わりecho -eが移植性に欠ける罠、printfが改行を自動で付けないこと、%s・%d・%fの書式指定、ゼロ埋めや桁揃え、1つの書式を複数の引数に繰り返し適用する動きまで整理します。
Linux

【Linux】dateコマンドの使い方|日付フォーマット・%mと%Mの罠・-dで日付計算

Linuxのdateコマンドを実機で確認しながら解説します。+書式での日付フォーマット、%m(月)と%M(分)・%H(時)の取り違えという定番の罠、-dでの相対日付の計算(tomorrow・1 day ago・next month)、UNIXタイムスタンプと日付の相互変換、TZ環境変数でのタイムゾーン変更、バックアップファイル名への活用まで整理します。
Linux

【Linux】cutコマンドで列を切り出す方法|-d/-f・連続スペースの罠・awkとの違い

Linuxのcutコマンドを実機で確認しながら解説します。-dで区切り文字・-fでフィールド番号を指定した列の抽出、-cでの文字位置の切り出し、cutの区切り文字は1文字だけで連続スペースをまとめないためスペース区切りで崩れる罠、フィールドの順序を入れ替えられない制約、awkとの使い分け、output-delimiterオプションでの出力区切り変更まで整理します。
Linux

【Linux】cat・lessの使い方|ファイル表示・大きなファイルはlessが正解・行番号/検索

Linuxのcat・lessを実機で確認しながら解説します。catでのファイル表示・-nでの行番号・複数ファイルの連結、大きなファイルはcatだと画面を流れ切ってしまうためlessで開くべき理由、less内の検索(/)・末尾へ移動(G)・終了(q)などのキー操作、tacでの逆順表示まで、ファイル閲覧の使い分けを整理します。
Linux

【Linux】touch・mkdirの使い方|ファイル/フォルダ作成・-pで入れ子を一気に作る

Linuxのtouch・mkdirを実機で確認しながら解説します。touchでの空ファイル作成とタイムスタンプの更新(中身は変えない)、mkdirでの入れ子ディレクトリ作成が-pなしでは失敗する罠と-pでの一括作成、-pが既存ディレクトリでもエラーにならない性質、touch -tや-rでの日時操作、ブレース展開との組み合わせまで整理します。
Linux

【Linux】tmuxの使い方|SSH切断しても作業が消えないセッション管理・デタッチ/アタッチ

Linuxのtmuxを実機で確認しながら解説します。tmuxのセッションを作って作業し、接続が切れても(デタッチしても)処理が続くことの実証、attachでの再接続、切断中の出力もあとから確認できること、名前付きセッションの使い分け・一覧・終了、nohupとの使い分け、Ctrl+b dなど最低限のキー操作まで整理します。
Linux

【Linux】nohupの使い方|SSH切断でコマンドが止まる理由とdisownとの違い

Linuxのnohupコマンドを実際のSSH接続で確認しながら解説します。SSHを切断すると実行中のコマンドがSIGHUPで終了してしまう理由、nohupを付けるとSSH切断後も処理が継続することの実証、nohup.outの自動生成、disownやsetsidとの違い(disownだけではSSH切断時のセッション終了を防げないことを実際に検証した結果)まで整理します。
Linux

【Linux】aliasの使い方|.bashrcへの永続化とスクリプトで効かない罠

Linuxのaliasコマンドを実機で確認しながら解説します。aliasの基本的な作り方と一覧表示・unalias、.bashrcに書いて永続化する方法、そしてシェルスクリプトの中ではaliasが展開されず「command not found」になる罠(同じスクリプト内で定義しても効かないこと)、\command・command commandでの一時的なバイパス、typeでの判別まで整理します。
Linux

【Linux】head・tailの使い方|先頭/末尾N行の取得とtail -fでのログ監視

Linuxのhead・tailコマンドを実機で確認しながら解説します。先頭・末尾のN行を取得する基本、既定は10行であること、tail -fでログファイルの追記をリアルタイムに監視する方法を実際に追記しながら検証、ログローテーションでファイルが置き換わると-fでは追従できず-Fが必要になることの実証、tail -n +Nやhead -n -Nの応用まで整理します。
Linux

【Linux】du・dfでディスク使用量を調べる方法|削除したのに容量が減らない罠

Linuxのdu・dfコマンドを実機で確認しながら解説します。duでファイル・ディレクトリの使用量を調べる方法とduとdfの役割の違い、-hやmax-depthオプションでの見やすい集計、sortと組み合わせて大きいディレクトリを見つける方法、そしてファイルをrmで削除したのにdfの空き容量が増えない罠(削除済みだがプロセスが開いたままのファイル)を実際に再現しながら整理します。
Linux

【Linux】diffコマンドの使い方|2つのファイルを比較・-u統一形式・終了コードでの判定

Linuxのdiffコマンドを実機で確認しながら解説します。diffの基本的な出力の読み方(・c/a/d)、-uで見やすいunified形式(gitと同じ見た目)にする方法、-qで差分の有無だけ確認する方法、-iでの大文字小文字無視、-rでのディレクトリ再帰比較、スクリプトで使うための終了コード(0/1/2)の意味まで整理します。