タグ

linuxに関するkenichiiceのブックマーク (171)

  • Linuxでのプロセス置換 - Qiita

    はじめに 導入 Linuxで使うbash等のシェルには、様々な○○置換という機能がありますが、その中でも「プロセス置換」( <(コマンド) や >(コマンド) ) というのはなかなかイメージし辛いのではないかと思います。 ※特にコマンド置換 ( $(コマンド)や`コマンド` ) と名前が紛らわしいというのもあります。 これはパイプと機能的にも仕組み的にも近いものですので、この機会にパイプとの関連性も含め、仕組みを紹介したいと思います。 環境 bash,zsh共にプロセス置換の機能を持っていますが、以下ではbashを前提として仕組みを説明します。 なお、各動作確認は x86_64 WSL1(Win10)/Ubuntu18.04.2 LTS, bash4.4.19(1) で行っています。 プロセス置換の概要 利用目的 bash manページのプロセス置換の項にも説明はあるのですが、なかなかそれ

    Linuxでのプロセス置換 - Qiita
    kenichiice
    kenichiice 2023/12/11
    パイプとプロセス置換の違い
  • GitHub - koute/not-perf: A sampling CPU profiler for Linux

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - koute/not-perf: A sampling CPU profiler for Linux
  • bashで手軽に非同期処理しつつ実行結果を簡単に受け取る方法 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashインフラLinuxプロセス置換シェルスクリプト非同期処理 こんにちは、羽山です。 みなさん元気にシェルスクリプトを書いていますか? 今回は bash で任意のコマンドを非同期実行しつつ、その実行結果を手軽に受け取る方法を紹介します。 よく利用される bash の非同期実行は & をコマンドの最後に付けてバックグランドで実行する方法ですが、以下のような制限や面倒くささがありがちです。 実行結果として簡単に受け取れるのは終了ステータスだけ 実行結果を得たい場合は一時ファイルへのリダイレクトや名前付きパイプを利用する 終了後に生成したファイルのクリーンナップ処理が必要 重複の回避などファイル名の生成に気を遣う必要がある 非同期処理の終了を wait で待機

    bashで手軽に非同期処理しつつ実行結果を簡単に受け取る方法 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
    kenichiice
    kenichiice 2023/02/02
    プロセス置換とexecを使うと便利という話
  • GitHub - gsamokovarov/jump: Jump helps you navigate faster by learning your habits. ✌️

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - gsamokovarov/jump: Jump helps you navigate faster by learning your habits. ✌️
    kenichiice
    kenichiice 2021/11/02
    https://rebuild.fm/313/ で紹介されていたやつ
  • 仕組みを学べるシンプルなターミナルエミュレータ「eduterm」 - Toshihiro YAMAGUCHI’s Diary

    私たちがよく使用するターミナル。 毎日使っているはずなのに、あまりその仕組みを知らない方も多いはず。 先日、私も思い立ってxtermのソースコードを読んでみようしたら、C言語のifdefの嵐に圧倒され、途中で中断してしまいました。 xtermは様々なプラットフォームで動作することを期待されているので、ifdefでたくさんの場合分けをしており、思いのほか読みづらいのです。 もっとシンプルなターミナルはないものかと、インターネットをさまよっていたところ、ちょうどよいターミナルを発見しました。 それが、この「eduterm」です。 https://www.uninformativ.de/git/eduterm/file/README.html edutermのソースコードは、たった1つのソースコードeduterm.cに書かれており、448行しかありません。 しかも、たくさんのコメントを残してくれ

    仕組みを学べるシンプルなターミナルエミュレータ「eduterm」 - Toshihiro YAMAGUCHI’s Diary
  • [Linux][C/C++] backtrace取得方法まとめ - Qiita

    __builtin_return_address() を使用する __builtin_return_address() を利用することで、callerのアドレスを取得できる。 引数の数値を増やすことで、更に上の呼び出し元を参照できる。 #include <stdio.h> #define __USE_GNU #include <dlfcn.h> void hoge() { Dl_info info; dladdr(__builtin_return_address(0), &info); fprintf(stderr, "%s : __builtin_return_address => %p\n", __func__, __builtin_return_address(0)); fprintf(stderr, "%s : Dl_info.dli_fname => %s\n", __func_

    [Linux][C/C++] backtrace取得方法まとめ - Qiita
  • Crontab.guru - The cron schedule expression generator

    We created Cronitor because cron itself can't alert you if your jobs fail or never start. Cronitor is easy to integrate and provides you with instant alerts when things go wrong.

    Crontab.guru - The cron schedule expression generator
    kenichiice
    kenichiice 2020/07/02
    cronが次いつ実行されるかを教えてくれる
  • ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita

    上記の画像を見ると分かる通り、カラフルで見やすいですね。右図のようにディレクトリのツリー表示にも対応しています。さらに --icons オプションを付けると、ファイルタイプに応じたアイコン表示も可能です。 bat 続いて cat コマンドの代替である bat の紹介です。 ファイルの拡張子に応じてソースコードを色付けして表示してくれます。また less のようなページャの機能も持っており、行数の長いファイルを渡すと自動でページャモードで開いてくれます。 hexyl hexyl はバイナリダンプコマンド od の代替コマンドです。bat の開発者と同じ方が開発しています。

    ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita
  • デスクトップLinuxにBtrfsとSnapperを使うようになってファイルを間違えて削除してしまう恐怖から開放されました

    デスクトップLinuxにBtrfsとSnapperを使うようになってファイルを間違えて削除してしまう恐怖から開放されました 今の私のデスクトップはbcache+Btrfsで, ラップトップはBtrfsという構成なのですが, Btrfsの機能を活かしたら最高に便利でした. Btrfsに関する基礎的な知識はこちらを参照してください. Btrfs - ArchWiki 圧縮にlzoを選んでるのと(zstdの方が良い) discardオプションを使っているのが(NVMeの場合fstrim.timerを使った方が良い) 今風では無いですがそれ以外は網羅しています. スナップショット Btrfsにはスナップショット機能があり, その時点でのディレクトリの状態を取っておけます. もちろんコピーした分だけサイズが増大するということはなく, コピーオンライトを使っているため, スナップショットを取った後に変

    デスクトップLinuxにBtrfsとSnapperを使うようになってファイルを間違えて削除してしまう恐怖から開放されました
  • ELF形式のヘッダ部分を解析する単純なプログラムを作ってみた。 - Qiita

    こんにちは、にわかです。 ELFのヘッダ部分を解析する単純なプログラムを作ってみました。(ELF形式の勉強のついでとして) セグメント情報とエントリポイントだけをターミナルに表示するだけの単純なプログラムです。 readelfコマンドで解析したらいいじゃんという意見もあると思うのですが、自分で作ってみる方が理解が深まると思ったんです。(リアルがうまくいかないので、たまに現実逃避して低レイヤの勉強をして気を紛らわしてます。) ELF形式のOSを起動をリアルモードから プログラム自体は、最後に載せているのでみたい方はそちらに飛んでください。 ELFとは ELF(Executable and Linkable Format)は、Linuxでデフォルトになっているオブジェクトファイルと実行ファイルのフォーマトです。 EXEフォーマットの仲間みたいなもんです。 実行ファイルもオブジェクトファイルもど

    ELF形式のヘッダ部分を解析する単純なプログラムを作ってみた。 - Qiita
  • Packages for Linux and Unix - pkgs.org

    Search and download Linux packages for Adélie, AlmaLinux, Alpine, ALT Linux, Amazon Linux, Arch Linux, CentOS, Debian, Fedora, FreeBSD, KaOS, Mageia, Mint, NetBSD, OpenMandriva, openSUSE, OpenWrt, RHEL, PCLinuxOS, Rocky Linux, Slackware, Solus, Ubuntu and Void Linux distributions

    kenichiice
    kenichiice 2019/06/10
    パッケージの情報を検索できて便利
  • CPU使用率は間違っている | Yakst

    Netflixのパフォーマンスエンジニアである筆者からの、topコマンドなどで表示されるCPU使用率(%CPU)は、いまや当の使用率を表しておらず、チューニングなどのための指標として使えないという指摘。なぜそうなってしまったのか、何を見れば当のCPU使用率がわかるのかをわかりやすく解説した記事。 私たちみんながCPU使用率として使っている指標は非常に誤解を招くもので、この状況は毎年悪化しています。CPU使用率とは何でしょうか?プロセッサーがどのくらい忙しいか?違います。CPU使用率が表しているのはそれではありません。私が話しているのは、あちこちで、あらゆる人たちに、あらゆる監視製品で、あるいはtop(1)でも使われている、"%CPU"という指標のことです。 あなたの考えているであろうCPU使用率90% : 実際 : "stalled"(訳注 : 以下ストールと言う)とは、プロセッサーが

    CPU使用率は間違っている | Yakst
    kenichiice
    kenichiice 2017/06/16
    「Linux perfなどを使って読み出せるハードウェアカウンターであるPerformance Monitoring Counters (PMC)を使います」「top(1)に対しては、Linuxではtiptop(1)があり、プロセス毎のIPCを表示してくれます。」
  • linuxカーネルで学ぶC言語のマクロ - Qiita

    はじめに 記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。

    linuxカーネルで学ぶC言語のマクロ - Qiita
  • IIJ内製運用ツール「iwatch」のご紹介 | IIJ Engineers Blog

    操作方法に関して詳しくは、 $ man iwatch をご覧ください。 watch コマンドと比べた時の利点 この iwatch に似た機能をもつコマンドとして有名な watch コマンドがありますが、iwatch には watch コマンドに負けない機能がいくつもあります。 既に上で説明したものもありますが、一覧でまとめると以下のようになります。 コマンド出力のスクロールが可能 出力が縦横に長いコマンドを実行した場合、コンソールのウインドウからはみ出ることが多々ありますが、 tail コマンドや cut コマンドを用いてパイプするなどの工夫をしなくても、iwatch であれば出力をキー操作でスクロールすることが可能です。 出力結果の差分を単語・行・文字単位でハイライト可能 watch コマンドでは -d オプションをつけることにより、文字単位での差分をハイライトすることができますが、 i

    IIJ内製運用ツール「iwatch」のご紹介 | IIJ Engineers Blog
  • コマンドラインツールを書くなら知っておきたい Bash の 予約済み Exit Code - Qiita

    上記の表の通り,Exit Code 1, 2, 126〜165, 255 は特別な意味を持ち,スクリプトやプログラム内で exit に指定するパラメータとしては避けるべきである.とりわけ,Exit Code 127 はトラブルシューティングで混乱の元である("command not found" で終了したのか,プログラム固有のエラーなのか区別できなくなる).しかしながら,多くのスクリプトが exit 1 を一般的な実行を続行できないエラーとして使っている.Exit Code 1 は Bash の一般的なエラーを含め,とても多くのエラーで発生しうるので,デバッグの時に切り分けが大変になるだろう. Exit Code を体系立てて定義する試みはある(/usr/include/sysexits.h)が,これは C と C++ プログラマー向けである.スクリプトに関しても同様な感じにするのが適切

    コマンドラインツールを書くなら知っておきたい Bash の 予約済み Exit Code - Qiita
  • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

    こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

    bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
  • 最強の dotfiles 駆動開発と GitHub で管理する運用方法 - Qiita

    【2015/07/16 追記】優れた dotfiles を設計する - TELLME.TOKYO この記事では書かなかった全体のロジックについて書きました Dotfiles Driven Development dotfiles とは Unix 系 OS で俗に言う設定ファイルのことです。.vimrc や .zshrc など、設定ファイルの多くは隠しファイルとしてファイル名の頭にドットがつくことからそう呼ばれています。 ほとんどのエンジニアは CLI 環境での開発は避けては通れないものに思います。CLI 環境は「黒い画面」として敬遠されがちで、CLI になると格段に作業効率がダウンする人も少なく無いです。その作業を効率化するキーとなるのは、設定ファイルの習熟度にあると思います。GUI 開発環境と比べてこちらはテキストベースでカスタマイズできるため、究極まで自分好みに合わせることが可能です。

    最強の dotfiles 駆動開発と GitHub で管理する運用方法 - Qiita
  • Exit Codes With Special Meanings

    Table E-1. Reserved Exit Codes Exit Code NumberMeaningExampleComments

    kenichiice
    kenichiice 2016/05/26
    終了コードの値について
  • 自作Linuxコンテナの時代 - ゆううきブログ

    最近、Docker以外のコンテナ型仮想化技術の流れとして、自作コンテナエンジンの時代が来るのではないかと感じている。 自作コンテナエンジンとは、コンテナ型仮想化技術を構成する個々の要素技術を組み合わせ、自分の用途にあわせて最適化したコンテナエンジンのことだ。 他のOSのコンテナ仮想化技術について疎いため、以下ではLinuxに限定して話を進める。 概要 Dockerも含めて、Linuxコンテナはコンテナを構成する複数の要素技術の組み合わせである。自分のやりたいことに対して、Dockerをはじめ既存のコンテナエンジンが複雑すぎるケースがある。そこで、自分の用途にあわせてコンテナエンジンを自作することを考えてみる。libcontainerに代表されるように、Linuxコンテナエンジンを自作しやすい環境が整いつつある。今後は、巨大なコンテナエンジンに対して、UNIX哲学に基づいて制御可能な小さなコ

    自作Linuxコンテナの時代 - ゆううきブログ
    kenichiice
    kenichiice 2016/04/27
    「自作コンテナといっても、機能が多くなければ、実装するのはそれほど難しくない。 スクリプト1枚で十分ということもある。ただし、作るもののアイデアはLinuxコンテナの要素技術をある程度理解していなければでて」
  • moreutils について - Qiita

    moreutils とは Unix 初期の時代には誰も書こうとは考えなかった、日々拡大を続ける Unix ツール集 この投稿の趣旨 moreutils は便利なのにあまり知られていないので、知名度を上げるためにまとめました。 moreutils が提供するコマンドは数多くありますが、その中で特に私自身が便利だと思うものを使い方とともに紹介します。 chronic 下記を $ backup >/dev/null 2>&1 下記のように

    moreutils について - Qiita
    kenichiice
    kenichiice 2015/12/14
    「moreutils は便利なのにあまり知られていないので、知名度を上げるためにまとめました。」