Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Content-Length: 329735 | pFad | http://b.hatena.ne.jp/wonder-wall/shell/
何だと!? タイトルのまんま。 恥ずかしながらこれ今まで知らなかった。 もしかして常識だったりする? ちなみに確認したのは Linux だけど、glibc の posix サブディレクトリ配下の execl*execvpe の挙動なので glibc 使ってればみんな一緒じゃないかな?知らんけど… 環境変数 PATH が設定されていない時 unset PATH とした状態。 この場合、PATH=/bin:/usr/bin と設定されているのと同じ意味になる(追記も参照のこと)。 当然カレントディレクトリは含まれていない。 環境変数 PATH が空の時 PATH= とした状態。 「PATH 環境変数が設定されていない時」とは異なる事に注意。 この場合、PATH=. と設定されているのと同じ意味になる。 つまり、カレントディレクトリが含まれている。 環境変数 PATH の最後が : で終わってい
POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき!ShellScriptBashshellPOSIX はじめに find の出力を xargs にパイプで渡すというのはよく見かける使い方ですが、find -print0 | xargs -0 が使えない POSIX 準拠のシェルスクリプトでは find -exec {} + を使った方が良いです。安全かつ十分に速いからです。よく見かける -exec {} ; ではなく -exec {} + ですので間違えないようにしてください。多くのケースでは + の方が優れているのですが ; ばっかり使われているのを見ると、意外と知られてない気がします。 少しだけ予備知識として、-exec {} ; は -exec {} \; と ; をバックスラッシュでエスケープするのがよく見る使い方
Your source for news and insights on distributed systems, programming, machine learning, and more
開発者にとってシェルが必要不可欠なものであることは論を俟ちませんが、当たり前の存在すぎてこれがどのように実現されているのかを知る機会はあまりないと思います。本トークでは、シェルがどのように実現されているのかを、実際にシェルを実装する過程を通じてお話しします。 ※ もともとのトークのタイトルは「入門 シェル」でしたが,わかりやすさのため「入門 シェル実装」にタイトルを変更しています.Read less
モバイルアプリエンジニアの山下(@yamshta)です。 先日、エンジニアチームでの勉強会にてターミナルを題材としたハンズオンを行いました。 techblog.lclco.com 今回はその際に共有した業務効率を上げるためのターミナル環境構築について紹介します。 以下に心当たりのある方は一緒に構築していきましょう。 ターミナルがモノクロ ターミナルをいい感じにしたいけどよくわからない ターミナルにこだわりが無い iTerm2 まずはじめにプリインストールされているターミナルとはお別れをします。 ターミナルアプリには、便利な機能が含まれている『iTerm2』を使うのがオススメです。こだわりが無い人こそ、とりあえずこれを使っておきましょう。 iTerm2 - macOS Terminal Replacement 上記のページからダウンロードして、解凍したものをApplicationフォルダに移
κeenです。雰囲気でシェルを使ってる人が多いとのことだったので少しばかり込み入った知識を。 あと一応POSIX準拠かどうかも気にしながらやっていきます。 基礎知識編 シェルの種類 まず、POSIXにシェルが定義されています。 これに最低限の機能で準拠しているものをPOSIXシェルと呼ぶことにします。いわゆる/bin/shです。具体的な実装はbsh、ash、dashあたりでしょうか。 最低限の機能以上に色々拡張されているシェルを拡張POSIXシェルと呼ぶことにします。具体的な実装はbash、zsh、kshなどでしょうか。 ここでは触れませんがPOSIX準拠でないシェルも存在してcshやtcshなどのシェルがあります。あと確か最近話題のfishも違ったような。 さて、1つ問題になるのは普段使いのコマンドラインはおおむね拡張POSIXシェルでしょうが、サーバで使うシェルやデプロイスクリプトで呼
fzf インストール アップデート 使い方:基本 動作確認 絞り込み画面での操作 絞り込み画面の表示変更 絞り込み画面での検索パターン キーバインド オートコンプリート 環境変数 使い方:応用 fzf-tmux オートコンプリート(プロセス、ホスト名、環境変数) --ansi, --nth, --with-nthと性能 外部プログラム実行 プレビューウィンドウ 色変更 Wikiに書いてあった使用例 プレビューにツリー表示 --select-1, --exit-0 フルコマンドプレビュー fe, fkill Vim連携 fzf github.com fzf(fuzzy finder)はコマンドラインであいまい検索ができるツール(類似ツールとしてはpercol, peco, selecta, pick, pmenuなどがある)。ファイル名やコマンド履歴などをインタラクティブに絞り込んでいくこと
GoAccess インストール 使い方:ターミナル 基本 tail -f 複数ファイル キーバインド 使い方:HTML版 基本 リアルタイム解析 参考:ダミーログ生成 GoAccess GoAccess - Visual Web Log Analyzer(公式ページ) github.com GoAccessはリアルタイムにWebログを解析するツール(GoAccessという名前だがGoではなくCで書かれているようだ)。インストールすれば複雑な設定不要で利用できるので手軽に解析したいときに便利。ここにHTML版デモページがあるので解析項目等を確認できる。 解析可能なログフォーマットの一覧は下記。 Amazon CloudFront (Download Distribution). Amazon Simple Storage Service (S3) AWS Elastic Load Balan
fkill インストール 使い方 gkill インストール 使い方 プロセスをkillするにはps aux | grep プロセス名としてkillする方法や、pgrep, pkillを使う方法(参考ブログ)があるが、インタラクティブにプロセスをkillできるfkill, gkillというコマンドがあったので試してみる。 fkill github.com fkillはmacOS, Linux, Windowsで動作するとのこと。Fabulously kill processesという説明なのでfkillのfはFabulouslyなのだろうか。 インストール npmでインストールできるので下記コマンドを実行。 $ npm install --global fkill-cliヘルプメッセージ。 $ fkill --help Fabulously kill processes. Cross-pla
ccat インストール 使い方 ccat github.com catやlessをシンタックスハイライトさせるにはpygmentsやsource-highlightを使う方法があるが、ccatというコマンドがあったので試してみる。 サポートしている言語の一覧は下記。 JavaScript Java Ruby Python Go C JSON 作者によるとcatとccatの処理時間の差はほとんどないとのこと。 $ wc -l main.go 123 main.go $ time cat main.go > /dev/null cat main.go > /dev/null 0.00s user 0.00s system 61% cpu 0.005 total $ time ccat main.go > /dev/null ccat main.go > /dev/null 0.00s user
glances インストール 使い方 ctop インストール 使い方 gtop インストール 使い方 htop インストール 使い方 vtop インストール 使い方 cpustat インストール 使い方 GitHubを眺めていたらtopの代わりとして使えそうなコマンドが色々あったので試してみる。 glances Glances - An Eye on your system(公式ページ) github.com glancesは色々な情報を表示できるモニタリングツール。 インストール pipでインストールできるので下記コマンドを実行。 $ pip install glances 使い方 glancesで起動できる。図のように色々な情報がまとめて表示可能。 ブラウザで確認できるWebサーバモードや、リモートマシンを監視するクライアント/サーバモードもあるようだ。 ctop ctop(公式ページ
github.com Fasd(発音はfastに似ているということなので、ファースド?ファスド?)は作者の説明によるとautojumpやzのようなコマンドラインの生産性を上げるツールで、よく使うファイルとディレクトリに素早くアクセスできるようになる。 Fasdはアクセスしたファイルとディレクトリの情報を記録しておき"frecency"というランク付けをする。"frecency"は"frequency"と"recency"を併せた造語で、頻繁かつ最近アクセスしたものほど高ランクになるらしい。 インストール Fasdコマンドのインストール方法は下記ページに書かれている。 Installing via Package Managers · clvv/fasd Wiki · GitHub CentOSの場合はRPMパッケージをインストール。 $ sudo rpm -ivh https://buil
icdiff インストール 使い方 git diffで使う icdiff icdiff: side-by-side highlighted command line diffs github.com 2つのファイルを横並び(サイドバイサイド)で比較する場合、diff -yを使う、vimdiffを使う、WindowsならWinMergeなどのソフトを使う方法があるが、今回はicdiffコマンドを試してみる。 icdiffを使うとコマンドラインで図のように横並び、文字単位で差分を表示することができる。icdiffはImproved Colored Diffの略だと思われる。 インストール pipでインストールできるので下記コマンドを実行。 $ pip install icdiffまたはここからバイナリをダウンロードしてパスが通っているディレクトリに置く。 ヘルプメッセージは以下の通り。 $ i
exa インストール 使い方 ソースからビルドする場合 ヘルプメッセージ exa exa · a modern replacement for ls github.com exaというRustで書かれたモダンなlsの代替コマンドを試してみる。 特徴としては下記項目が挙げられている。 デフォルトで色分け 詳細なファイル情報表示 ツリービュー Gitサポート 高速 インストール Macならbrewでインストールできる。 $ brew install exaまたは、下記リンクにmacOS 64bit用とLinux 64bit用のバイナリがあるのでダウンロードする。 Releases · ogham/exa · GitHub ソースからビルドする方法は後述。 使い方 lsと同じように使えばよい。指定できるオプションはlsと似ている。 ヘッダ、inode、Blocks情報などを表示。 ツリービューに
progress インストール 使い方 progress github.com progressというコマンドを使用するとcp, mv, ddなどのLinuxコマンドの進捗を表示することができるようなので試してみる。 インストール READMEにはソースコードからビルドする方法が書かれていたのでビルドしてみる。ビルドにはlibncurses5-devかncurses-develが必要とのこと。 実際にビルドしてみたところコードは少ないのですぐに終わった。 $ git clone https://github.com/Xfennec/progress $ cd progress $ make cc -g -Wall -D_FILE_OFFSET_BITS=64 -c progress.c cc -g -Wall -D_FILE_OFFSET_BITS=64 -c sizes.c cc -g
ccze インストール 使い方 色設定 ccze wonderwall.hatenablog.com 上記記事でcczeというログに色を付けるコマンドを知ったので使い方を調べてみる。 ccze(1): robust log colorizer - Linux man page(cczeマニュアルページ) インストール CentOSの場合(今回はCentOSで試してみる)。 $ sudo yum install cczeUbuntuの場合。 $ sudo apt-get install cczeMacの場合。 $ brew install cczeヘルプメッセージ。 $ ccze --help Usage: ccze [OPTION...] ccze -- cheer up 'yer logs. -a, --argument=PLUGIN=ARGS... Add ARGUMENTS to P
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
Fetched URL: http://b.hatena.ne.jp/wonder-wall/shell/
Alternative Proxies: