suer TIL

Linuxes

LINUX
2026-09-12 2026-09-12
eye catch

【Linux】free -hのavailableとbuff/cacheの読み方

freeが少ないのはメモリ不足ではない free -hでメモリの状況を確認すると、free列がほとんど残っていない状態をよく見かける。 $ free -h total used free shared buff/cache available Mem: 5.8Gi 476Mi 295Mi 700Ki 5.2Gi 5.3Gi Swap: 0B 0B 0B freeが295Miしかないため空きメモリが枯渇しているように見えるが、availableは5.3Giある。 Linuxは余ったメモリをディスクキャッシュとして使い切る方針で動くため、稼働時間の長いサーバーほどfreeは小さくなる。 メモリの余裕を判断する列はfreeではなくavailableである。
LINUX
2026-08-11 2026-08-11
eye catch

【Shell Script】bash -xで実行トレースを表示してデバッグする

シェルスクリプトが意図した動作をしない シェルスクリプトはエラーメッセージを出さずに間違った結果を返す場合がある。 以下はログファイルが10個を超えたときに警告を出すスクリプトである。
LINUX
2026-08-11 2026-08-11
eye catch

【Shell Script】waitで並列実行したジョブの成否を判定する

並列実行したジョブの失敗を検知したい 複数のホストへのデプロイのような処理は、&でバックグラウンド実行すれば並列に走らせられる。すべての終了を待つには引数なしのwaitを使う。
LINUX
2026-08-11 2026-08-11
eye catch

【nkf】文字コードを判定して変換する

文字コードが分からないファイルを変換したい iconv は変換元の文字コードを -f で指定する必要がある。手元のファイルがShift_JISとEUC-JPのどちらなのか分からない場合、まず判定してから変換しなければならない。
LINUX
2026-08-11 2026-08-11
eye catch

【iconv】ファイルの文字コードを変換する

ファイルの文字コードを変換したい Shift_JISで書かれたCSVをUTF-8で読みたい場合や、逆にUTF-8のテキストをWindows向けにShift_JISへ戻したい場合、iconv コマンドを使う。
LINUX
2026-08-11 2026-08-11
eye catch

【Shell Script】プロセス置換 <(command) でコマンド出力をファイルとして渡す

コマンドの出力をファイル名で受け取るコマンドに渡したい diffやcommのようにファイル名を引数に取るコマンドへ、別のコマンドの出力を渡したい場面がある。素直に書くと一時ファイルを経由する。 $ sort a.txt > /tmp/a.sorted $ sort b.txt > /tmp/b.sorted $ diff /tmp/a.sorted /tmp/b.sorted $ rm /tmp/a.sorted /tmp/b.sorted bashやzshのプロセス置換<(command)を使うと、一時ファイルなしで1行にまとまる。
LINUX
2026-08-10 2026-08-10
eye catch

【Shell Script】getoptsでコマンドラインオプションを解析する

シェルスクリプトで-vや-f fileのようなオプションを扱いたい シェルスクリプトに-vや-f fileのようなオプションを渡したい場合、$1や$2を自力で判定すると、オプションの順序やまとめ書きへの対応が煩雑になる。シェルのビルトインコマンドgetoptsを使うと、UNIXコマンドと同じ形式のオプション解析を簡潔に書ける。
LINUX
2026-08-10 2026-08-10
eye catch

【touch -d】任意の日時のファイルを作る

任意の日時のファイルを作りたい ログのローテーションやfind -mtimeによる検索の動作を確認したい場合、更新日時が過去や未来のファイルが必要になる。touchコマンドの-dオプションを使うと、任意の日時のファイルを作成できる。
LINUX
2026-08-10 2026-08-10
eye catch

【シェル】echo -e と printf の使い分け(改行の制御)

シェルスクリプトで文字列の途中に改行を入れたい場合、echo -e "a\nb"と書く方法がある。しかしechoの-eは環境によって解釈が異なるため、移植性を求めるならprintfを使う。
LINUX
2026-08-09 2026-08-09
eye catch

【GitHub CLI】gh repo createでリポジトリ作成からpushまでまとめて実行する

ローカルリポジトリからGitHubリポジトリを作成してpushする 手元でgit initしたリポジトリをGitHubに上げる場合、通常はGitHub上でリポジトリを作成し、git remote addでリモートを登録し、git pushする。 GitHub CLIのgh repo createに--sourceと--pushを指定すると、一連の手順をコマンド1つで完了できる。
LINUX
2026-08-08 2026-08-08
  • ««
  • «
  • 11
  • 12
  • 13
  • 14
  • 15
  • »
  • »»
AUTHOR
author image
suer
ふつうのプログラマ
LATESTS
eye catch
【mise】mise bootstrap mise-shell-activateでシェル起動ファイルへの組み込みを宣言的に管理する
LINUX
2026-09-12 2026-09-12
eye catch
【mise】mise bootstrap secretsでシークレット入力の有無を確認する
LINUX
2026-09-12 2026-09-12
eye catch
【mise】mise bootstrap packagesでシステムパッケージを宣言的に管理する
LINUX
2026-09-12 2026-09-12
eye catch
【mise】mise bootstrap planで適用前に変更内容を確認する
LINUX
2026-09-12 2026-09-12
eye catch
【mise】mise config setでmise.tomlに値を書き込む
LINUX
2026-09-12 2026-09-12
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer