タグ

shellに関するa2ikmのブックマーク (157)

  • pecoを使い始めた - $shibayu36->blog;

    なんかpercol最近いきなり流行ってるなーと思ってたら、percolのgo版pecoがいつの間にか出てて流行ってた。ターミナル版anything的なpercolをzawの代わりに試してみた - $shibayu36->blog;みたいな感じで、昔からpercol使っててまあいいかと思ってたけど 設定ファイルが分かりやすい brewで簡単に入れることが出来る そこそこ開発されてる というメリットもありそうなので乗り換えようとしてみている。 https://github.com/peco/peco pecoのファイル運用 前と大体同じ感じでやる。基的にこういうツールは自分でいろいろ作りたくなってきて、設定が増えてきて破滅するので、ファイルを置くディレクトリを決めておいてそこに置いておくことにする。 .zshrc : 決めたディレクトリのファイルの全ロードと、キーバインドの設定 ~/.zsh

    pecoを使い始めた - $shibayu36->blog;
  • chmodやchownのreferenceオプションを知った時は目から鱗だった話

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 元々ホスティング会社で働いていたので、その特性上ownerやpermissionを色々と弄る事が多く、数年前の社会人時代にchmodやchownをもっと楽に使えないかなぁと調べた時に目から鱗だったのがchmodやchownのreferenceオプションでした。 今回は単にreferenceオプション楽ですよね、という記事なのでご存知の方は退屈な記事だと思いますが、まわりに聞いてみた所意外と知られていなかったりしたので、ブログエントリにしておこうと思います。 referenceオプションを使うと、任意のファイルを指定することで、変更対象のownerやpermissionを指定したファイルと同じ設定にすることができます。 例えば、/bin/pin

    chmodやchownのreferenceオプションを知った時は目から鱗だった話
  • The 3 Good Habits for Shell Beginners

    「シェル苦手な人に、今日から始めて欲しい3つの考え方」 @nanapi勉強会 vol2 - Shellの活用でこれだけ毎日が便利になる http://nanapi.doorkeeper.jp/events/11514

    The 3 Good Habits for Shell Beginners
  • zshのキーバインドで余っているキーを探す - mollifier delta blog

    初めに zsh最強シェル入門を買ってから、zshのカスタマイズにはまっています。今日はコマンドライン編集のキーバインドをいい感じにしようとしていました。 で、色々やってたけど、キーがぜんぜん足りません。 何か使いやすいキーに割り当てようとしても、たいていのキーはデフォルトで使われています。そこで、「何にも割り当てがないし、押しやすいキー」(いい子)と「押しやすいくせにほとんど使っていないキー」(わるい子)を探すことにしました。 デフォルト設定を調べる 使いやすいキーバインドと言えば、「Ctrl+なんちゃら」。ということで、デフォルトのキーバインドのうちC-*という形式のやつを調べました。 % bindkey -d # デフォルト設定に戻す % bindkey -e # emacsモードを使う % bindkey # 今設定されているすべてのキーバインドを表示する "^@" set-mark

    zshのキーバインドで余っているキーを探す - mollifier delta blog
  • ワンライナーWebサーバを集めてみた - Qiita

    クライアントサイドのJavaScriptをいじっていて,不意にローカルファイルでは実行できない領域に踏み込んでしまうことがあると思います.最近では,HTTPSが必須であったり,HTTP2を使ってみたくなることもあります.とりあえず私が踏み込んでしまったのはWebWorkersですが,他にもWebRTCや・・・(思い出し中)・・・(見つからなかった)・・・などが該当します. そんな時にいちいちApacheやnginxを立ち上げるのも面倒なので,ちょっと検索した結果を残しておきます. [2018/4/18追記] 最近ではHTTPSを使用する必要が高まっています.これを受け,HTTPSに対応する方法が増えてきたので,全て網羅できませんが,可能な限り追記・変更を行いました. PythonSimpleHTTPServer)編 Pythonでは(バージョン2.4以降限定らしいですが)モジュールをスク

    ワンライナーWebサーバを集めてみた - Qiita
  • lsコマンドでファイルのタイムスタンプを統一し、秒も表示する方法 - OKWAVE

    お世話になります。 lsコマンドの使用方法で質問があります。 例えば日(2008年11月24日) ls -al コマンドでファイルのタイムスタンプを確認すると 最終更新日時が「2008年11月23日22時41分08秒」のように6ヶ月以内のファイルは 11月23 22:41 と表示されますが、 最終更新日時が「2007年01月06日18時05分04秒」のように6ヶ月以上昔のファイルは 1月 6 2007 と表示されます。 最終更新日時がいつであっても常に 2007/01/06 18:05:04 のように固定の YYYY/MM/DD HH:MM:SS 形式(秒も出力し、ゼロサプレスも行わない形式)で表示したいのですが その方法がわからずに困っています。 (ログファイルとかで秒が表示されるとうれしいです。) 御存知の方、よろしくお願いします。

    lsコマンドでファイルのタイムスタンプを統一し、秒も表示する方法 - OKWAVE
    a2ikm
    a2ikm 2013/12/28
    --time-style=+%c便利
  • xargs -P が激しく便利なのでメモ - おともだちティータイム

    xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列

    xargs -P が激しく便利なのでメモ - おともだちティータイム
  • findのexecが便利 - マツモブログ

    あるディレクトリ配下の全ての.svn達を消し去ろうとしてたんですが、わざわざスクリプト書くのも何だかなぁ。と思っていたらfindに-execというオプションが有るのをはずかしながら初めて知りました。 マニュアル -exec command ; command を実行する。コマンドの戻り値が 0 ならば真。 find のコマンドラインで指定されたこれ以降の引き数は、 `;' を含む引き数にいたるまで、すべてcommand の引き数とみなされる。 文字列 `{}' は現在処理しているファイル名に置き換えられる。 これは command 引き数のどこにあってもよく、単独で置かれていなくてもよい (単独で置かれていなければならないような find もある)。 これらの文字はシェルによって展開されないよう、 `\' によってエスケープするか引用符で囲む必要がある。 コマンドは find を実行したデ

    findのexecが便利 - マツモブログ
  • find コマンドの -mtime は +1 でも2日前のファイルが対象

    Landscape トップページ | < 前の日 2005-07-02 2005-07-06 次の日 2005-07-07 > Landscape - エンジニアのメモ 2005-07-06 find コマンドの -mtime は +1 でも2日前のファイルが対象 当サイト内を Google 検索できます * find コマンドの -mtime は +1 でも2日前のファイルが対象この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [unix] [シェルスクリプト] find コマンドの -mtime は +1 でも2日前のファイルが対象となる。つまり、(n + 1) 日前のファイルが対象。n は +0 を指定しても、一日以上前のファイルが対象になる。 - find が古いファイルを検索してくれないとあるテスト用 DB があり、定期的にバックアップを取っている。バ

  • hub pull-requestを楽にするラッパー - There's an echo in my head

    ランチ名を{issue}_hogeってフォーマットにしてる前提で、 使い方: $ pull-request $ pull-request -h develop

    hub pull-requestを楽にするラッパー - There's an echo in my head
  • GitHub - magicmonty/bash-git-prompt: An informative and fancy bash prompt for Git users

    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 - magicmonty/bash-git-prompt: An informative and fancy bash prompt for Git users
  • /contrib/completion/

    a2ikm
    a2ikm 2013/10/04
    補完やプロンプト表示の関数はこっからとってくる
  • 入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    入力と出力 リダイレクションとパイプ コマンドの実行結果は通常、標準出力であるディスプレイに出力される。この実行結果はリダイレクション(>、>>)やパイプ(|)を使用することにより、ディスプレイではなくテキストファイルやコマンドに対して出力するように切り替えることができる。 また、リダイレクションはコマンドの出力先をテキストファイルに切り替える以外にも、これとは逆にコマンドへの入力元をテキストファイルに切り替えることもできる。 なお、リダイレクションとパイプは次のように使い分ける。 リダイレクション データを渡す対象がファイルである場合はリダイレクションを使用する。 パイプ データを渡す対象がコマンドである場合はパイプを使用する。 リダイレクション [>, », <] コマンドの出力を file へ上書きする → コマンドの実行結果の出力先を、ディスプレイからファイルへ切り替えたい場合は、

    入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • シェルスクリプトでハマった件→【募】ステキな回避方法 - (ひ)メモ

    追記: 解答編を下の方に書きました!!! 追記: お題に不備があったので変更しました>< あとgistに一式置いたので簡単にテストできます!! https://gist.github.com/hirose31/6232206 git clone https://gist.github.com/6232206.git oreno cd oreno ./test.sh source_me.sh ... シェルは GNU bash, version 4.1.5(1)-release です。 こんな source_me.sh と、 case $PATH in */oreno/bin*) : # do nothing ;; *) . orenorc LOADED_ORENO=1; export LOADED_ORENO ;; esac orenorc ってファイルがあって、 ORENO_HOME="

    シェルスクリプトでハマった件→【募】ステキな回避方法 - (ひ)メモ
  • Enter で ls と git status を表示すると便利 - Qiita

    とある方の "エンターだけで ls と git status 表示するようにしてある" というつぶやきを見て便利そうだと思ったのでやってみました。 基的なやり方は以下の記事が参考になりました。 zshでコマンドが空の状態でenter押したときに任意のコマンドを実行する方法 - kei_q ただ、上記方法では私の環境の場合、プロンプトが1回余分に表示されてしまって気持ちが悪いので、その辺りも手を加えました。 Installation 以下スクリプトを .zshrc に記述すれば、何も入力されていない状態で Enter を打つだけで ls と git status が表示されるようになります。 function do_enter() { if [ -n "$BUFFER" ]; then zle accept-line return 0 fi echo ls # ↓おすすめ # ls_abb

    Enter で ls と git status を表示すると便利 - Qiita
  • find で空白を含んだパスに検索を実行し、結果を xargs に渡す - 酔いどれコード

    find で空白を含んだパスに対して検索を実行し、その結果を xargs に渡しても思うような結果が得られない。どうしてかというと、xargs は標準入力から空白または改行で区切られた文字列群を読み込むから。パスに含まれた空白が xargs に区切り文字として解釈されてしまう。 % ls "Foo Bar" hoge1.txt hoge2.txt % find "Foo Bar" -name "*.txt" | xargs grep "Hello" grep: Foo: No such file or directory # "Foo" で一つ目の入力として捉えられている grep: Bar/hoge1.txt: No such file or directory # "Bar/hoge1.txt" で二つ目の入力として捉えられている grep: Foo: No such file or

    find で空白を含んだパスに検索を実行し、結果を xargs に渡す - 酔いどれコード
  • Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita

    コマンドのパスを知りたいんじゃなく、コマンドの存在をチェックしたいだけならwhichよりhashを使ったほうが良いかもっていう話。→追記: typeが最強っぽい。 追記: command -vも良い。プログラムの存在チェックorパスを探したいだけなら互換性を考えると一番良いかも。 比較してみる whichよりhashよりtype=command -vが高速→typeまたはcommand -vの勝ち whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。 $ time bash -c 'for((i=0;i<10000;i++));do which perl; done >/dev/null' real 0m7.739s user 0m2.928s sys 0m

    Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita
    a2ikm
    a2ikm 2013/05/09
    chefのレシピを書くときに多用してる
  • Bashシェルスクリプトで自分の絶対パスを取得

    2011.8.25追記: そりゃあありますよね。ターゲットのプラットフォームで標準で使えるようならば可読性も高いしこちらの方がよいと思います。 僕はこれから作るものはたぶんreadlinkに乗り換えます。masaruyokoi様ありがとうございました。 コメントで教えていただきました。 masaruyokoi on 2011年8月25日(木曜日) at 12:06 said readlink -f や -e を使うと良いですよ。 Debian や FreeBSD では realpath というコマンドもあります。 以下はオリジナルエントリです。 シェルスクリプトで自分の絶対パスを知る方法はこんな方法しかないんだろうか? #!/bin/sh D=`dirname $0` echo `cd $D;pwd` Pythonだとしょっちゅう書いてるアレ。 #!/usr/bin/env/ python

    Bashシェルスクリプトで自分の絶対パスを取得
  • How can I check if a program exists from a Bash script?

    How would I validate that a program exists, in a way that will either return an error and exit, or continue with the script? It seems like it should be easy, but it's been stumping me.

    How can I check if a program exists from a Bash script?
    a2ikm
    a2ikm 2013/02/19
    if command -v foo >/dev/null 2>&1; then hogehoge; fiでOK
  • rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ

    rbenvを使ってみる - すぎゃーんメモの続き。 現時点でのrbenvのバージョンは0.2.1。 rbenvを使っていると.rbenv-versionファイルの有無でrubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いているのだろう?と思って少し調べてみた。 上記記事のようにrbenvの設定をした環境では、 $ which ruby /Users/sugyan/.rbenv/shims/rubyとなり、${RBENV_ROOT}/shims以下のrubyを指すことになる。ここへのPATHは$HOME/.rbenv/libexec/rbenv-initに echo 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"' と書かれているので、eval "$(rbenv init -)"してあれ

    rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ
    a2ikm
    a2ikm 2013/02/17
    phpでもできるし、php-buildもそのまま動く//phpenvはrbenvのshims等にsymlinkを貼っててちょっと怖い