原文 The TTY demystified http://www.linusakesson.net/programming/tty/ 翻訳 TTYサブシステムはLinuxおよびUNIX一般の設計において中心的な位置を占めます。しかし、不幸なことにその重要性はしばしば見過ごされ、良い入門記事を見つけづらくなっています。それでも、LinuxにおけるTTYの基礎知識は開発者やパワーユーザーにとって不可欠です。 これから見ていくシステムはあまりエレガントではありません。TTYシステムはユーザーから見るととても便利ですが、実際は特殊ケースが多く、入り組んでいます。なぜこうなっているのかを理解するには、歴史を紐解く必要があります。 歴史 1869年、株価表示器が発明されました。株価表示器は、タイプライター、長いワイヤーのペア、表示用紙テーププリンタから構成される電気機械で、遠く離れた場所にリアルタイ
Tmux has liberated me from tiling window mangers. Not that I didn’t like those, but I occasionally have to work with macOS or default GNOME setups. And over the years I realised that I only need a terminal multiplexor to do terminal tiling for me, the rest of the windows are just fine to be full-screen in separate workspaces. So, I ended up doing 80% of my work in terminals with tmux. But, the pre
こんにちは。大阪の市田です。 今回はコマンドラインの実行を簡単に実行できるスニペットマネージャをご紹介します。 背景 覚えられないコマンドの存在 普段の業務では、MacからAWS CLIの実行やサーバへのログインなどを行っています。 しかし、どうしても覚えられないコマンドってありますよね? 例えば、AWS CLIでオプションをたくさん付けたり、jqで書式を整理して実行したりする時、どうしてもコマンドが長くなってしまいます。 下記は、EC2インスタンスに対して、インスタンスタイプとプライベートIP、Nameタグの内容を表示するAWS CLIの内容です。 aws ec2 describe-instances | jq -r '.Reservations[].Instances[] | .InstanceType + "\t" + .PrivateIpAddress + "\t" + (.Tag
紺の背景に青色文字なんて絶対に読めないし、蛍光グリーンの文字が目に刺さるってチカチカする。まだこれぐらいなら気合で読めるのですが、とあるPythonサンプルスクリプトをVimで開いてみましょう。 この配色はまさに狂気の沙汰 !!! 唖然としてそっ閉じしてしまう配色ですね。配色も悪ければフォントも悪い。これでもフォントを18ptに上げているので、実際はもーっと見にくいです。したがって、起動は遅くても程よい配色で表現してくれるVisual Studio Code版のターミナルに逃げちゃうのです(実際、私もそうでした)。 否!!! Windows PowerShellだってカスタマイズすれば、十分使えるSSHクライアントになり得るのです。例えばこんな風に、ものの10分程度で。※画像中央のスライドバーを左右に動かしてみてください どうですか、MacのTerminalにも劣らないカラーではないでしょ
Starting with macOS Catalina, your Mac uses zsh as the default login shell and interactive shell. You can make zsh the default in earlier versions of macOS as well. By default, your Mac uses either zsh or bash as the command-line interpreter for the login shell and interactive shell: zsh (Z shell) is the default shell for all newly created user accounts, starting with macOS Catalina. bash is the d
今までbashのTab補完にはどうやって色付けすれば良いのだろうと思っていました。 lsした時に色付けするのは--color=autoのaliasを ~/.bashrc に書いていればOKですが、cd [Tab] でカレントディレクトリの補完をしようとした時には色付けされません。 これはどうやら ~/.inputrc で set colored-stats on とする事で設定できるみたい。 .inputrcはreadlineの設定ファイルなので、他にも色々と設定しておくと幸せになれそうです。 設定可能な項目を見ていると、以下のように設定すると便利そう。 # 補完時に大文字小文字を無視 set completion-ignore-case on # ファイルタイプをカラフルに set colored-stats on # 補完の接頭辞をカラフルに set colored-completio
はじめに bashには次の2つの理由によって、組み込みコマンド(builtin command)というものが存在します。 スクリプトの高速化のため。組み込みコマンドであれば通常のコマンドを実行する場合に比べてプロセスの生成コスト(fork()/exec())が削減できる bash自身の状態を変更させるため。例えばcdコマンドを/bin/cdとして用意してbashから当該コマンドを実行しても、当該コマンドのpwdが変更されるだけで、bashのそれは変更されないため、意味がない 今回は前者に焦点を合わせて、その効果と、組み込みコマンドの自作方法について述べます。 予備知識: 組込みコマンドによるスクリプト高速化の効果 組込みコマンドそのものの存在、及びその存在意義について既にご存知のかたは、この節を飛ばしてもらって構いません。 例えば皆さんがbashスクリプトからechoコマンドを実行した場合
ファイル a, b はそれぞれ重複する行を含んでいないと仮定する。 # a, b に共通な行を抜き出す cat a b | sort | uniq -d > common # b にだけ含まれる行を抜き出す cat a b | sort | uniq > all cat a all | sort | uniq -u >only_in_b"Shell Programming Examples" by Bruce Blinn の DirCmp を見ていて発見。 存在意義がわからなかったオプションの使い道を見つけたときは妙に感動する。 Unix コマンドの神秘。 [追記:2007-01-25] "Shell Programming Examples" by Bruce Blinn ftp://ftp.prenhall.com/pub/ptr/hewlett_packard_professiona
とうとうこの時がやってきましたね。 fish 3.0がリリースされました!! すごい。いいぞ。 fish 2.0がリリースされたのが2013年とからしいので、実に5年ぶりのメジャーアップグレードとなります。 fishってなによ the friendly interactive shell です。 カスタマイズなしで高機能な補完が効くなど、とにかくユーザーに優しく便利なシェルです。 とりあえず試す 以下よりどうぞ。 GitHub: https://github.com/fish-shell/fish-shell Ubuntuであれば以下のコマンドでインストールできます。 sudo apt-add-repository ppa:fish-shell/release-3 sudo apt-get update sudo apt-get install fish 注目の変更点など waitコマンド
ホーム 検索 - ログイン | | ヘルプ 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) [ Prev ] [ Next ] [ 技術 ] 何をいまさら当たり前の事を・・・と思われるだろう。 $ nohup long_run_batch.sh & SSHからログアウト後も実行を続けたいバッチジョブを、"&"を付けてバックグラウンドジョブとしてnohupから起動するのは定番中の定番である。 しかし、「nohupを使わなくても実行を続けることが出来る」やり方があったり、さらには「nohupを付けてもログアウト時に終了してしまう」パターンがあるとしたらどうだろう? そして、ある日あなたの後輩や同僚がこれらについてあなたに質問してきたら、あなたはどう答えるだろうか? 「Web上で検索したら見つか
Vim には,分割しているウィンドウのうちカーソルが居るカレントウィンドウを除いて他を閉じる :only というコマンドがあります.それを拡張して,一時的にカレントウィンドウを最大化し,最大化前に戻せる ZoomWin というプラグインがあり,愛用しています.因みに Emacs にもemacs-zoom-window が最近出来たようです. 僕は最近ローカルでも tmux を真面目に使いはじめたので,tmux でも pane を最大化したり元に戻したりしたくなりました.そんなわけで早速設定しました. 最新の tmux (1.8) のみしか使わない場合 最新の tmux (1.8) では resize-pane に -Z オプションを指定でき,これがそのままやりたい機能を提供してくれます.デフォルトでは {プレフィクス} z に割り当てられており,カーソルが居る pane の最大化↔最大化解
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashインフラLinuxプロセス置換ファイルディスクリプタシェルスクリプト こんにちは、羽山です。 今回は意外と知らないかもしれないbashの「プロセス置換」という機能を紹介します。 UNIXでは「1つのプログラムは1つの機能にとどめ、フィルタとして動作できるようにせよ」という設計思想があります。 その言葉の通り、大抵のコマンドはパイプでつないでフィルタのように動作可能ですが、必ずしも理想的に設計されていない、もしくは仕様上できないコマンドもあります。 例えば、よく使う diff コマンドがこれにあたります。 指定するファイル名を - とすれば片方は標準入力から読み込めますが、もう片方はどうしても引数で指定しなければいけません。 コマンドの実行結果を直接比
- はじめに - データ分析、機械学習という仕事柄、csvやtsvを見る機会が多い。 処理する時は大体はpythonのpandasで読み込んで〜とするのだが、コンソール上で作業する時、どうしても「このcsvなんだっけ…」という事が発生する。 cat hoge.csv | head 等として上部だけ見たり、jsonならjqコマンドに流すのだが、いかんせん見栄えの問題で一瞬で判断出来なかったりする。 https://stedolan.github.io/jq/ そこで、table形式にしてコンソール上で表示して見れると嬉しいなと思って調べた事をまとめる記事。 端的に結果を最初に言うと、一般的なコンソールで使うだけならcsvkitなるCLIツールがかなり機能的で便利。tty-tableコマンドとしてjqコマンドのように扱えるtty-tableも綺麗に見れて良い。 CLIツールを今から自前で作るな
todoをtmuxで表示する2017-12-22 13:34:00 naoty/todoに改良して、上のスクリーンキャストのようにtmuxのstatus lineに次のtodoを表示できるようにしてみた。 nextというコマンドを追加し、最も優先順位の高いtodoを表示できるようにした。また、doneコマンドに引数を指定しない場合にnextで表示されるtodoを完了できるようにした。doneコマンドなどで次のtodoが変わっても、tmuxが自動的に更新してくれるのですぐに切り替わる。 iTerm2の画面分割を使っていたためtmuxは使ってこなかったが、status lineに次のtodoを表示するアイデアを思いついたため使い始めた。この使い方によって、次にやることをlistコマンドで何度も確認する必要がなくなったし、次にやるべきことのみに集中できるため、とてもいい。 導入方法 まず、nao
この記事は Emacs Advent Calendar 2017 の 12 日目の記事です。 Emacs とシェルを連携させたいとき主に M-x shell を使っていたが、最近は tmux 上で起動したシェルを使うようになった。M-x shell を使う主な理由は、シェルの出力を Emacs でいじりたい (主にヤンクしたい) ということ。しかしそのために微妙に操作感の違う M-x shell をだましだまし使い続けるのも後ろめたい。普段使いで慣れているふつうのターミナルでシェルを使いつつ Emacs と連携できるならそれに越したことはない。 tmux のキャプチャ機能を使うことで容易にこれが達成できる。アイデアは こちら で紹介されていたもので、それを手元で実装した。本稿はそんな小ネタ的なお話。 流れはこんな感じ: Emacs から tmux new-window で default-
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く