タグ

コマンドに関するakira1908jpのブックマーク (46)

  • Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル

    以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(another-command)のように、$()でコマンドを括る記法だ。これを利用すると、括弧で括られたコマンドが実行され、その標準出力が文字列として取り出され、$()全体を置き換える。シェルスクリプトでは非常によく見る技術だ。 この$()でファイルの内容を読み出すというのを最近見た。このような用法は非常によく見る。 foo-command $(cat params.txt) しかし、より良い書き方があるのでこれを提唱したい。$(< params.txt)と書くことで全く同等のことができる。しかも速いのでこちらのほうが完全に上位互換となる。 foo-command $(< params.txt) この方法はBashのドキュメントのコマンド置換のコーナーにちゃんと書か

    Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル
  • 自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。 - じゃあ、おうちで学べる

    はじめに 自動化やツール開発において、通常時に上手くいくのは当たり前です。大切なのは失敗を想定することです。自動化したツールがエラーも出さずに実行結果的にも成功してるので動いていると思っていたら、実は問題が発生していて泣いた経験は、多くの人にあるのではないでしょうか。エラーを出力し、適切に失敗させて、ログに記録することで、問題の早期発見と迅速な対応が可能になります。また、エラーが発生する可能性のある箇所を事前に想定し、適切に処理することで、ツールの信頼性と安定性が向上します。 しかし、エラーハンドリングができていても、それだけでは不十分です。優れた自動化ツールは、環境の変化に柔軟に対応できるようにコードが設計されているべきです。 また、自動化ツールの完成度を高めるには、エラーハンドリングだけでなく、保守性、拡張性、ユーザビリティなども考慮する必要があります。 自動化ツールを開発する際は、常

    自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。 - じゃあ、おうちで学べる
  • findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita

    はじめに find コマンドの使い方は、ざっくり調べただけではよくわからんとなりますが、見逃しがちなルールを知れば簡単に理解できます。find コマンドに限りませんが使い方を調べるのが面倒だからと曖昧な理解で使うと逆にもっと分からなくなって時間がかかります。急がば回れ、理解して正しく使ったほうがシンプルで楽で簡単です。この記事では find コマンドの使い方を理解するために必要なルールと使い方の実践的な知識をまとめました。 Q&A(?): -type や -perm の説明はしないの? ⇒ それらはドキュメントを読むか検索すればすぐにわかることで難しいポイントではありません。重要なのは基のルールを理解することです。 関連記事 POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! 移植性の話はこちら ⇒ findコマンドのオ

    findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

    はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) # 変数 line に入ってる文字列を echo コマンドで出力して sed コマンドに渡し、 # sed の s コマンドで "from" を "to" に置換して出力したものを ret 変数で受け取る ret=$(echo "$line" | sed "s/from/to/")

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
  • Bashを使いこなすための必須コマンド71選 - Qiita

    はじめに mkdir, ls, cp, touch, mv, rm以上のコマンドにあんまり触れていない。。。という方、もっとコマンドを使いこなしたい!という方。。。必見。 基的だが全部網羅するには大変な基コマンド及びショートカットを溢れんばかり71選お届けします。たくさんありますので、表題に何のコマンドか書いてあるのをご活用ください。 一部、macユーザー向けとなっていることをご了承ください。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 Ctrl を使ったショートカット 最初に、Ctrlを使ったショートカットを紹介します。 Ctrl-A 行頭移動 ↓ Ctrl-E 行末移動 ↓ Ctrl-W 直前一単語を削除 ↓

    Bashを使いこなすための必須コマンド71選 - Qiita
  • GNU Screen - ArchWiki

    GNU Screen はテキストプログラムとシェルを分離させることができるラッパーです。Screen を使うことで、例えば、X のターミナルでテキストプログラムを起動して、X を終了し、プログラムを使い続けることなどが可能になります。 インストール GNU Screen は screen パッケージを使ってインストールできます。 使用方法 コマンドを入力するときはエスケープキーの ctrl+a を押してからキーバインディングを押します。 ユーザーによってはデフォルトのエスケープキー ctrl+a は不便かもしれません。下に書かれているようにエスケープキーは別のキーに変更することが可能です。 よく使われるコマンド ctrl+a ? コマンドとコマンドのデフォルトを表示 (とても重要です) ctrl+a : screen のコマンドプロンプトに入る ctrl+a " ウィンドウリスト ctrl

    GNU Screen - ArchWiki
  • 私がインフラ運用保守で意識して行っていること(コラム) - Qiita

    ~はじめに~ 運用保守は、手順書通りするだけの楽な業務と勘違いしていませんか? 私は3年間運用保守(インフラ)に携わり、手順書作成や障害対応/調査、運用支援など様々なことを行ってきました。そんな私が思うに運用保守は、全くそんな楽な業務でありません。 運用保守は過信と油断をすれば、すぐに業務影響を出してしまいます。 構築設計段階でのお客様に影響を出すのとは、全く影響度合いが違います。 既に稼働しているシステムで業務影響を出すというのは、エンドユーザーへ多大なるご迷惑をおかけするということ、つまり絶対に許されません。 そんな状況にならないために、私が運用保守をする上で意識して行っていることについて書きたいと思います。 ~運用保守をする上で意識して行っていること~ 1. 簡単な作業や慣れた作業でも慎重に行う 私はどんな作業だとしても、過信や油断をせずに慎重を行うようにしています。 簡単または慣れ

    私がインフラ運用保守で意識して行っていること(コラム) - Qiita
  • ComposerのPharパッケージという選択肢 - Qiita

    みなさんはPHPで書かれたツール類などを、どうやってインストールしているでしょうか。 まあComposerを使うのが基ではあるのですが、 Phiveみたいなツールもあったり、Composerを使うとしても composer global require を使うとか、composer require --devを使うとか、Composer bin pluginを使うとかの方法がありますよね。 PHPStan開発者のOndřejはこのように言っています。 PHPStanのインストール方法の選択肢については別に記事を書いています。 PHPStanについては上の記事にも書きましたが、composer require --dev phpstan/phpstanでインストールするだけで外部に依存性を持たない状態でパッケージをインストールできます。 Pharファイルを見る そもそもPHPStanのCo

    ComposerのPharパッケージという選択肢 - Qiita
  • 『マスタリングLinuxシェルスクリプト 第2版』、こういう1冊手元に有るとずっと使える本はちゃんと買っておきたいですね - Magnolia Tech

    マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 作者:Mokhtar Ebrahim,Andrew MallettオライリージャパンAmazon 令和最新版のシェルスクリプトの入門書とリファレンスがセットになった1冊。手元に置いておくと安心感ありますよね。 令和最新版なので、冒頭からデバッグしたいならVisual Studio Code がオススメ、と出てきます。 コンテナ使おうと思ったらシェルスクリプトの読み書きの出番がどんどん増えていって、コンテナに一番必要なスキルはシェルスクリプトのスキルでは?と思っている今日この頃です(違います)が、そのくらいの用途に必要な要素は全部盛り込んであり、シェルスクリプトの文法と実践的な使い方に加えて、一緒に利用されることの多いgrep、awk、sedといったコマンドの解説も併せて載

    『マスタリングLinuxシェルスクリプト 第2版』、こういう1冊手元に有るとずっと使える本はちゃんと買っておきたいですね - Magnolia Tech
  • Man page of TOP

    Section: Linux User's Manual (1) Updated: September 2002 Index JM Home Page roff page 名前 top - Linux のタスクを表示する 書式 top -hv | -bcisS -d delay -n iterations -p pid [, pid ...] 昔からのスイッチ '-' と空白の指定は任意である。 説明 top プログラムは稼働中のシステムの 動的なリアルタイムの概要を報告する。 Linux カーネルが現在管理しているタスクの一覧だけでなく、 システムの概要情報も表示できる。 表示されるシステムの概要情報のタイプと 各タスクについて表示される情報のタイプ・順序・サイズは、 ユーザーが全て設定可能で、その設定は次に起動したときにも保存できる。 このプログラムはプロセスの操作に関する 限定された

  • Linuxのtop コマンドの見方 ~メモリやload averageの単位,定義,目安~

    top コマンドは CPU/メモリの利用状態を全体、および各プロセスごとに確認することができます。 例えば以下のように表示されます。表示は 3 秒ごとに更新されます。 top - 00:47:32 up 2:37, 2 users, load average: 3.01, 1.52, 0.47 Tasks: 118 total, 2 running, 116 sleeping, 0 stopped, 0 zombie %Cpu(s): 12.5 us, 6.9 sy, 0.0 ni, 99.7 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 3736.1 total, 297.6 free, 235.2 used, 3203.3 buff/cache MiB Swap: 820.0 total, 812.5 free, 7.5 used. 3267

    Linuxのtop コマンドの見方 ~メモリやload averageの単位,定義,目安~
  • Visual Studio Codeを使うなら絶対に入れておきたい拡張機能Top20【2022最新版】 - Qiita

    この記事はNuco Advent Calendar 2022の14日目の記事です。 VSCodeに必須の機能20個を紹介していきます。 インストール数と星の数は記事作成時点(2022年11月時点)のものです。 Japanese Language Pack for Visual Studio Code vscode-icons Code Spell Checker zenkaku Path Autocomplete Prettier - Code formatter indent-rainbow GitLens Git History HTML CSS Support Output Colorizer TODO Highlight vscode-random Atom One Dark Theme Trailing Spaces REST Client Live Server Jupyter

    Visual Studio Codeを使うなら絶対に入れておきたい拡張機能Top20【2022最新版】 - Qiita
  • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

    はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

    シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
  • Go製ミドルウェアのメモリリークを解決した話 - Mirrativ Tech Blog

    インフラ・ストリーミングチームの id:udzura (@udzura)です。今回は、Goミドルウェアのメモリリークを見つけて解決する際に、どのようなプロセスを踏んでいったかを解説します。 Go製のミドルウェアの概要 ミラティブでは、Webアプリケーションのみならず、ミドルウェアに相当する部分についても必要なものは内製しています。その中の一つに、社内で「Radisha」と呼んでいる各種集計とキャッシュなどを行うためのミドルウェアがあります。Radishaは以下のような特徴を備えています。 GET、SET、SETEXなど基的なRedis互換のコマンドを実装している。そのため、既存のRedisクライアントライブラリから操作が可能である。 ランキング集計、一定時間内のアクセス集計などが行えるよう、Redis にない独自のコマンドを実装している。 高い可用性を志向しており、オンメモリのデータは

    Go製ミドルウェアのメモリリークを解決した話 - Mirrativ Tech Blog
  • Bash: わかるとほんのちょっとうれしくなること5選 - Qiita

    Bash の勉強を始めた頃、頭がごちゃごちゃになって調べたこと、わかるとほんのちょっとうれしくなったことを5個ピックアップしてみました。 - 目次 - alias sudo='sudo ' と alias sudo='sudo -E ' bash -c /dev/null grep -rl xargs で任意の位置に引数を展開する - 説明 - 1. alias sudo='sudo ' alias コマンドを使うと、長いコマンドを別名で登録できて、とても便利です。 でもそのまま sudo と組み合わせると、エラーになります。 例えば、la という登録名で、ls -a を実行させると、 sudo la でエラーになります。 bash のマニュアルには、以下のように書かれています。 alias [-p] [name[=value] ...] value の末尾に空白があると、エイリアスが展開

    Bash: わかるとほんのちょっとうれしくなること5選 - Qiita
  • 実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本

    ------------------------------------------------------ 2024 年 1 月更新 書がきっかけで「なんとか Docker を使えるようになりたい」というプログラマの方向けの入門書を秀和システム様から出版させていただけることになりました 開発系エンジニアのためのDocker絵とき入門 https://www.amazon.co.jp/dp/4798071501 紙書籍と電子書籍、どちらもございます この書籍と執筆経験は、みなさまからの驚くほどの高評価があればこそ得られた機会でした いつも当にありがとうございます 書籍化に際しまして、この場で次のとおり説明させていただきます 1️⃣ 書 ( Zenn ) は有料化しません 2️⃣ 書 ( Zenn ) は今後更新しません 3️⃣ 書 ( Zenn ) と出版される絵とき入門の違い

    実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本
  • インフラエンジニアを20年やってて初めて知ったtopコマンドの表示を劇的に見やすくする方法 | 株式会社ビヨンド

    こんにちは、カナダに来て1年弱ですが、いまだに"how are you?"にアイムファインセンキューと返してしまう全然英語が上達してない聖賢です。 インフラエンジニアならみんな大好きtopコマンド、おそらくビヨンドの中ではサーバ運用の中で最初に覚えるコマンドじゃないでしょうか。 実は結構奥が深いコマンドでいろんなことができるので、これまでドヤ顔で「こんなこともできるんやで」と上司の威厳、、、もとい先輩としての経験を後進に伝えていたのですが私も最近になって初めて知った超便利な使い方を紹介したいと思います。 ちょっと長いですがお付き合いください。 普通にtopコマンドを実行すると以下のような画面が表示されます 結構これだけでもサーバ運用には重要な情報が詰まっているのですが、topコマンドの見方などは他でも色々と紹介されていると思うので今回は割愛します 今回はこのtopコマンドの表示を最終的にこ

    インフラエンジニアを20年やってて初めて知ったtopコマンドの表示を劇的に見やすくする方法 | 株式会社ビヨンド
  • curlでパフォーマンス測定 | DevelopersIO

    コマンドラインツールのcurlを用いてHTTPによる通信のパフォーマンスを調べる方法を考えていこうと思います。 curlとは curlはURLを用いてデータをやりとりするためのコマンドラインツールもしくはライブラリです。 コマンドラインツールとしてはcurl、ライブラリとしてはlibcurlがあります。 HTTPだけではなくFTPやSMTPなど様々なプロトコルに対応しています。 自分は主にCLIからHTTPリクエストを送りたい時などに使っています。 使ってみたい方は以下の方法でインストールできると思います brew brew install curl apt apt install curl --write-outを使ってパフォーマンス測定 curlには様々なオプションが用意されていますが、今回、主に用いるのはこの-w, --write-outオプションです。 このオプションは指定したフォ

    curlでパフォーマンス測定 | DevelopersIO
  • 【普段使いできる】psql メタコマンド10選【🐘🐘】 - AppBrew Tech Blog

    AppBrew で LIPS のリードエンジニアをしている @spinute です。 突然ですが、みなさん、コマンドラインは好きですか? 私は好きです。好きなコマンドは tldr, glances, tig で、よく使うコマンド Top-10 はこんな感じです。1 $ history | awk '{print $2}' | sort | uniq -c | sort -nr | awk 'NR<=10 {print $2}' | cat -n 1 git 2 vi 3 fg 4 tig 5 l 6 cd 7 grep 8 curl 9 aws 10 go ストイック・ハードボイルド路線ではなく、シンプルで安定したインターフェースを提供しながらも、認知上の負荷を下げてくれるリッチなコマンドが好きです。 AppBrew では、ウェブ生まれアプリ育ちの人が多めだったり、ソフトウェアエンジニア

    【普段使いできる】psql メタコマンド10選【🐘🐘】 - AppBrew Tech Blog
  • Dockerハンドブック - 教会エンジニアの開発日記

    Dockerの概念や仕組みまではなんとなく理解できるもののDockerfileを書こうとするとスムーズに書けなかったり、そもそものDockerの基礎、あるいはコンテナ技術というものの基礎が抜け落ちていてDocker環境に移行できていないところも多いのではと思い、この記事を翻訳しました。 Source:The Docker Handbook by Farhan Hasin Chowdhury(@Twitter記事は、原著者の許諾のもとに翻訳・掲載しております。 コンテナ化の概念自体はかなり古いですが、2013年にDocker Engineが登場したことで、アプリケーションのコンテナ化がはるかに簡単になりました。 Stack Overflow Developer Survey-2020によると、 Dockerは#1 最も望まれるプラットフォーム、#2 最も愛されるプラットフォーム、および

    Dockerハンドブック - 教会エンジニアの開発日記