いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

linux

gdbgui (gdbをブラウザで操作)

概要 参考情報 概要 以下、自分用のメモです。まだ触れていないのですが、忘れないうちにメモメモ。。。 gdbをブラウザで操作出来るgdbguiっていうのがあるんですね。 github.com www.gdbgui.com 上のサイトから画像リンクを拝借。以下のような感じみたい。 …

連番が付いているファイルをsortコマンドでいい感じにソート (-V, --version-sort)

概要 試してみる 参考情報 概要 以下、自分用のメモです。使いたいときによく忘れるので、ここにメモメモ。。。 大した話では無いのですが、ファイル名に連番が付与されているものが複数存在している場合に、sortして表示したいときが結構あります。 んで、…

ブレース展開を使ってファイルを一気に作成 (bash, brace expansion)

概要 試してみる 参考情報 概要 以下、自分用のメモです。使いたいときによく忘れるので、ここにメモメモ。。。 大した話では無いのですが、何かの確認用とかに複数のファイルが必要になったりするときがあります。 大抵、連番な形のファイルが欲しいときが…

WSLでdevboxを使う

概要 試してみる インストール devbox.jsonファイルを生成 Zigをインストールみてみる devboxのシェルに入る devbox環境を抜ける 参考情報 概要 以下、自分用のメモです。忘れないうちにメモメモ。。。 最近、jetpackというところからリリースされている dev…

Bashで '**' の展開をONにする (globstar)

概要 まずは今の設定を出力しておく globstarを有効 参考情報 概要 以下、自分用のメモです。いつも忘れるので。。 業務でお客様の環境でシェル操作をする場合、勝手に設定変更して、それを保存しておくことはなかなか出来ません。 なので、一時的な設定変更…

WSLでGUIアプリとsystemdが使えるようになっていた

概要 やり方 systemd を有効にする 参考情報 概要 以下、自分用のメモです。 いつのまにか Windows 10 でもWSLから Linux GUIアプリ と systemd が使えるようになっていたんですね。 learn.microsoft.com WSLを起動したら以下のメッセージが表示されたので気…

一時的にCtrl-CでSIGINTを飛ばさないように設定する (stty)

概要 やり方 参考情報 概要 以下、自分用のメモです。知ってるとちょっと便利なときがあるかもしれません。 業務などで、ターミナルで作業してて、時間がかかるバッチ処理なんかをコマンドで実行している場合に ボケーっとしてて、不意にCtrl-Cを押してしま…

whichコマンドの代わりに command -v を使う

概要 参考情報 概要 以下、自分用のメモです。いつも忘れるのでここにメモメモ。。。 たまに which コマンドが無い環境があります。 whichコマンドは外部コマンドなので入っていない環境もあります。 でも、同じようなことをしたい場合がそういうときに限っ…

ttyd (ブラウザ経由でターミナルを共有)(C port of GoTTY with CJK and IME support)

概要 参考情報 概要 以下、自分用のメモです。まだ試してませんが、忘れないうちにメモメモ。。。 ブラウザ経由でターミナルを共有できるものかー。便利ですね。存在を全然知りませんでした。 CJK and IME support と記載されているので、日本語関連も問題な…

物理CPU、CPUのコア数、論理CPU数を取得

概要 サンプル 参考情報 概要 以下、自分用のメモです。使いたいときによく忘れるので。。 サンプル # 物理 CPU の数 $ grep physical.id /proc/cpuinfo | sort -u | wc -l 1 # CPU ごとのコアの数 $ grep cpu.cores /proc/cpuinfo | sort -u cpu cores : 8 …

特定のPIDの実メモリ上の使用サイズ(RSS)を表示するスクリプト (bash)

概要 スクリプト 参考情報 概要 何気に便利だなーって思ったので、忘れないうちにメモメモ。。。 以下の動画を見ていたら出てきた。18:00頃ですね。 youtu.be やってることはとてもシンプルなシェルスクリプト。 必要なときにサラサラとその場で書ける行数で…

grepコマンド チートシート (Grep cheatsheet)

概要 参考情報 概要 毎回場所忘れているチートシート。。すごく便利です。 dev.to 上にかかれているものプラス、個人的には バイナリファイル を対象から外す -I オプションが意外と使いますね。 $ grep main ./* grep: ./App.class: binary file matches ./…

Dragonfly (Redis互換でio_uringを使うインメモリデータストア)

概要 参考情報 概要 Dragonfly、最近名前は聞いたことあったのですが、全然知らなかったので以下の記事がすごく助かりました。感謝。 Redis互換なので、知っている知識も再利用できますね。 zenn.dev dragonflydb.io github.com まだ、発展途上みたいですがR…

Makefile内でプロセスを起動して後からそのプロセスをkillするやり方

概要 参考情報 概要 たまに使いたいときによく忘れているので、ここにメモメモ。。。 PIDファイルを作っておいて、後でそれを元にkillしているだけですが、以下のようにします。 start-server: @(cd server; ./server & echo $$! > server.PID) stop-server:…

makeでコマンド実行中にエラーが出ても処理を継続するやり方 (--keep-going, || :)

概要 サンプル 参考情報 概要 周りに知らない人が結構いたので、メモ代わりにここに残しておきます。 makeでは通常ターゲット内でエラーが発生したら、その時点で実行がエラーとなり中止となります。 でも、たまにエラーが出ても構わないときもあります。 そ…

makeで特定のディレクトリの下にあるMakefileを移動せずに実行する (-C, --directory)

概要 概要 周りに知らない人が結構いたので、メモ代わりにここに残しておきます。 makeを実行する際に、毎回Makefileが存在するディレクトリまで cd して、$ make と実行して、また元の場所に戻ってという作業を繰り返している場合、以下のようにすると少し…

treeコマンドが存在しない場合でも似た出力を行うやり方

概要 参考情報 概要 忘れないうちにメモメモ。。。 コンテナで作業してたりすると、treeコマンドが入っていない場合があります。 インストールして良い環境であれば tree コマンド入れてしまえばいいのですが、そうもいかない環境もあります。 そのようなと…

Bashの補完で大文字小文字を無視するように設定

概要 参考情報 概要 いつも忘れるので、ここにメモメモ。。。 Bashではデフォルトで補完時に大文字小文字を区別して補完してくれます。 大文字小文字を無視して補完してほしい場合は以下のようにする。 $ echo "set completion-ignore-case on" >> ~/.inputr…

Linuxで大きなテキストファイルをサクッと作るやり方

概要 参考情報 概要 いいやり方を知ったので忘れないうちにメモメモ。。。 プログラムで読み込みの速度測りたいので、たまに大きなテキストファイルが欲しいときがあります。 Linux系限定となるやり方ですが、以下のようにするとサクッと作れます。 $ tr -dc…

標準出力と標準エラー出力にリダイレクトしながら出力をターミナルに表示 (bash, tee, process substitution)

概要 サンプル 参考情報 概要 こんなやり方あるって知らなかったので、目からウロコでした。 忘れないうちにメモメモ。。。 stackoverflow.com 何かの出力を標準出力と標準エラー出力に分けてリダイレクトさせるのは以下で出来ます。 $ ./script.sh 1> stdou…

CentOS 8 が 今日で EOL になる

概要 参考情報 概要 www.centos.org centos.org にある通り、今日で CentOS 8 は EOL になりますね。業務では結構使われているディストリビューションなので注意しましょう。 当初は、 2029-05-31 となっていた期日がいきなり 2021-12-31 になってしまって、…

WSL2 with Alpine Linux で WSL Integrationを使えるようにする (alpine-pkg-glibc)

概要 参考情報 概要 忘れてしまう前にメモメモ。。。 先日、WSL2でAlpine Linuxのイメージを作った場合、デフォルトではDockerのWSL Integrationがうまく動きません。 $ docker image list -bash: /usr/bin/docker: No such file or directory Dockerのドキ…

batコマンド (cat コマンドのクローン, gitとも連携できる)

概要 cat コマンド bat コマンド 追記:Ubuntuでのインストール 参考情報 概要 知らなかったので、忘れないうちにメモメモ。。。 catコマンドのクローンで、かつ、見やすくてgitとも連携できるコマンド。 見やすいですねーこれ。 github.com Alpine Linuxに…

WSL2でAlpine Linuxの環境を作る

概要 rootfs をインポート 起動して初期設定 一般ユーザでの初期設定 参考情報 概要 Alpine Linux のページで rootfs ファイルがあるのを発見したので、ついでにWSL2の環境を作ったので忘れないうちにメモメモ。。 Alpine Linux の rootfs は以下からダウン…

7-Zip がメジャーバージョンアップ (v21)

概要 概要 結構使っている人が多いと思われる 7-Zip さんがメジャーバージョンアップしましたね。とりあえずメモメモ。。。 www.7-zip.org forest.watch.impress.co.jp 上の窓の社さんの記事にも書いてる通りですが、今回のメジャーバージョンアップで macOS…

シェルスクリプトの実行ユーザがrootかどうかをチェック (bash, id -u)

概要 rootユーザ(superuser account) のユーザIDは常に0 参考情報 概要 以下、よく忘れるので自分用のメモです。 たまにシェルスクリプトの説明とかで、「このスクリプトはrootユーザで実行してください」みたいなものを見ることがあります。(実務では特に…

grepの結果で行ではなくヒットした部分のみを出力 (-o, --only-matching)

概要 参考情報 概要 以下、よく忘れるので自分用のメモです。 grepコマンドの結果は基本的に条件にヒットした「行」が出力されます。 gitpod /workspace/try-linux $ echo 'golang java csharp rust javascript python' | grep -E '[^ ]{6,}' golang java cs…

makeで標準入力を受け取って後続処理したい ($$xxx, .ONESHELL:)

概要 参考情報 概要 よく忘れるので、ここにメモメモ。 サンプルを実行するためのMakefileがあるとして、実行時に場所を打ち込んでもらって その結果を元に後続処理をしたい場合、以下のようにしてやると出来ます。 default: run run: @read -p "ENTER EXAMP…

catコマンドのちょっとしたTips

概要 行番号を付与して出力 TABを可視化 行末を $ で表示 重複する空行を除去 参考情報 概要 小ネタ。 大抵、最初に覚えるコマンドの一つである cat コマンドさん。 実はいろんなオプションがあって、面白いです。 行番号を付与して出力 -n オプション、また…

pingしたときにタイムスタンプをつけて出力したい (ping, moreutils, ts)

概要 moreutils パッケージの中の ts コマンドを使う 参考情報 概要 以下、個人用メモです。忘れないうちにメモメモ。。 ping コマンドには -D というオプションがあって、これを指定するとタイムスタンプを出力してくれます。 ただ、この出力内容がヘルプ見…