いろいろ備忘録日記

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

linux

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 というオプションがあって、これを指定するとタイムスタンプを出力してくれます。 ただ、この出力内容がヘルプ見…

WSL2とVSCodeで欲しい環境を好きなだけ作る

概要 WSLにて現在実行しているものを一覧出力 WSLにて特定のイメージをインポートする 作った仮想マシンを停止したい場合 作った仮想マシンを削除したい場合 作った仮想マシンをエクスポートしたい場合 一般ユーザの作成 仮想マシンに特定のユーザでログイン…

シェルスクリプトメモ-01 (ブレース展開, brace expansion)

概要 ブレース展開って? シーケンスな値を展開 非シーケンシャルな値を展開 ワイルドカード使用 組み合わせ値を生成 参考資料 概要 以下、自分用メモです。 bashのブレース展開について、よく忘れるのでメモメモ。 ブレース展開って? ブレース展開は、{ } …

ncコマンドでポートが開いてるか確認する (linux, debian, ncat)

概要 ncのインストール (debianの場合) ポート確認する際に指定するオプション 試してみる ポートが開いていない場合 ポート開ける ポートが開いている場合 参考資料 概要 業務で通信するアプリを作っていて、対向先のポートが開いてるのかどうかを事前に確…

ターミナルで突然何も入力出来なくなった場合のTips (linux, stty)

概要 stty コマンドで設定を見てみる 参考情報 概要 4月も終わりになり、GW明けから新人さんもそろそろ実務開始されるところも多いのではないでしょうか。 ということで、自分が新人のときに何度も遭遇してパニクっていた件についてメモメモ。 今までWindow…

Ubuntu 21.04で拡張セッションを有効にして全画面で接続する (Hyper-V)

概要 iso をダウンロードして、VM作る 仮想マシンのUbuntuに接続して、ターミナル開く linux-vm-tools を入れる xrdpの設定ファイルを調整 VMを再起動 ホスト側でPowerShellを使ってVMの設定変更 Hyper-V マネージャから接続 参考資料 概要 Ubuntu 21.04 が…

dotnet build 時とかのロゴ表示を抑制 (--nologo -v q)

概要 参考資料 概要 以下、自分用メモです。 dotnet build を実行すると通常以下のようにロゴとかビルド対象のプロジェクトとかが出力されます。 gitpod /workspace/try-csharp $ dotnet build Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NE…

BinaryFormatterが非推奨として警告されるようになっていた (.NET 5)

概要 警告を抑制する方法 コード上で pragma つけて制御 プロジェクトファイルで指定 参考資料 概要 以下、自分用メモです。 久しぶりに、自分のC#サンプル リポジトリをコンパイルしてみたら github.com 以下のような警告がブワーって出てびっくり。 gitpo…

visudo のエディタを nano から vim に変更する

概要 参考資料 概要 以下、自分用メモです。 いつから、変更されていたのかは分からないのですが、visudo した際に表示されるエディタが nano に変わっていました。 個人的には vim がいいので、以下変更するための手順をメモメモ。。。 debian:~$ cat /etc/…

CentOSの代替候補 AlmaLinux が GA になった

概要 参考情報 概要 ちょっと前に Project Lenix って名前で始まったと思ってたら、もうGAになったみたいですね。 GAになるまでがとても早かったイメージ。 以下、情報メモメモ。。。 CentOSとRHELはオシゴトで使うことが多いので大事な情報です。個人的に。…

ファイルが含まれているパッケージを探す (RedHat系、Debian系)

概要 RedHat系 (RHEL, CentOS など) Debian系 (Debian, Ubuntu など) 参考情報 概要 小ネタ。知っているとたまに助かるときがあったりします。よく忘れるのでついでにメモも兼ねて。 RedHat系 (RHEL, CentOS など) yum (dnf) コマンドで provides or whatpro…

vimでバイナリファイルを編集する

概要 参考情報 概要 小ネタ。知っているとたまに助かるときがあったりします。よく忘れるのでついでにメモも兼ねて。 vim でバイナリファイルを見たり、編集したりしたい場合は以下のようにします。 まず、バイナリモードで開きましょう。 $ vim -b xxxx.bin…