いままで tabで補完できるとは言え、面倒ですね。 $ mv path/to/file/old_file_name.txt path/to/file/new_file_name.txt これから ちょろいですね。 $ mv path/to/file/{old_file_name,new_file_name}.txt
※ 2014-04-26 追記並びに一部コマンド部分の修正を行いました。( > => >> に変更 ) 個人用のチラシの裏のつもりが予想以上に反響いただいていたようで非常にびっくりしております。 ちょっとしたバッチ処理的なものはさくっとシェルスクリプトでやっています。 で、ログをとっておくべくリダイレクトを噛ますわけですが、 スマートに書く方法を調べたのでメモ。 元ネタは @sechiro さんの bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する でございます。 本当に参考になりました。ありがとうございます。 今までは こんなことやってたわけです。 #!/bin/bash LOGFILE=/tmp/script-log command1 >> $LOGFILE 2>&1 command2 >> $LOGFILE 2>&1 ... >> $LOGFILE 2>&1
naoya_itoの火を噴いたシェルtips - Togetter これを読んでふと書きたくなったので。ちなみに僕はbash使っています。 CTRLを使った便利系 まず、UNIXな操作あたり。 キーバインド 意味 CTRL + s キー入力を受け付けなくする 画面出力抑える CTRL + q 上記解除 CTRL + z バックグラウンドに. fgで戻る CTRL + l 画面をクリア。clearと同等 CTRL + c 現在の処理を停止 CTRL + d exitと同等 CTRL + r historyからコマンド検索 emacsっぽいやつ どっちかというとキー操作に近い。基本はemacs。metaは僕はoptionに割り当ててる。とりあえず触りたい人はESCでOK。 キーバインド 意味 CTRL + a 行頭 CTRL + e 行末 CTRL + f → CTRL + b ← CTRL
naoya @naoya_ito シェルでパスワード入力プロンプトでるじゃないですか。途中まで打って間違えたとするじゃないですか。Ctrl + u 打つとリセットできるの知ってた? 俺は知ってた 2014-04-07 19:40:06
Qiita 見てたらこんな投稿を見つけた。 Zsh - よく作業するDirをBookmarkするshellスクリプト - Qiita だいたい、よく使うディレクトリに cd したいとき cd ~/work/project/ruby/web とか長い名前を打つのはめんどくさい。$CDPATH を通しておくっていう手もあるけど、タブで補完したときに候補がいっぱい出たりして微妙に便利じゃない。そんなときにこれを使えばディレクトリの移動が簡単になる。 ちょっと改良の余地があるというか、タブで補完できるようにしたらもっと便利になると思って、独立した zsh のプラグインとして書き直したので紹介する。 このプラグインでできること cd-bookmark というプラグインを作った。これをインストールすれば cd-bookmark というコマンドが使えるようになる。 こいつを使えばよく使うディレクトリに別
シェルスクリプトはエレガントでなければならない スマートな紳士のためのシェルスクリプト(1) 気軽に使えるシェルスクリプト。しかし、気軽に使っていてはダメだ。OSの仕組みまで理解すると、ひと味違うスクリプトが書ける
はじめに このガイドでは、はじめて Zsh を使う人や Zsh の便利な使い方を知らない人に向けて、いくつかの便利な設定と操作方法を紹介します。また、 Zsh についての疑問を素早く解決できるよう、マニュアルの調べ方や他のドキュメントへのリンクも盛り込んであります。 このガイドでカバーしきれていない設定や分かりやすいドキュメントをご存知でしたら、ぜひ編集リクエストやコメントでお知らせください。 設定ファイル ここでは主に普段のキー入力数を大幅に減らせるような設定を紹介します。 .zshrc ~/.zshrc は Zsh のインタラクティブシェル(ユーザーがコマンドを入力する画面)が起動した際に読み込まれる設定ファイルです。 Zsh スクリプトを実行したり、 zsh -c 'command...' でコマンドを実行したりしたときには読み込まれません。このファイルには主に Zsh の操作に関す
自分にはもう必要ないかもと思いながら積読状態だった Linux標準教科書 を読みました。 以外と知らないこともあり勉強になりました。 基礎大事。 shellのデバッグ(sh -x) : 9.8 デバッグ(P.177) 新人の頃shellを書きまくって、print debugしまくってた自分に教えてあげたい。 例として分かりにくいかもしれませんが、 -x をつけて実行すると コマンドや変数の中身を表示しながら実行してくれます。 sampleとしては若干見にくいかもしれないですが $ cat samle.sh while true do echo "Continue? (y/n)" read input case $input in n) break ;; y) continue ;; *) echo "Please input y or n." ;; esac done これを -x 付きで
特にシリーズ化を目論むわけではないですが、 完全に理解しているわけではないけど、使える。 みたいなものってありますよね。 そういうのはよくないのでしっかりと理解しよう! というテーマでやります。 今回はSSHの仕組みについて書いていこうと思います。 参考記事 概要 ~SSHとは~ SSHの仕組みを理解するための用語 鍵交換方式の仕組みと実際のコマンド 便利なオプション まとめ このような流れで書いていきます。 参考記事 こちらを参考にします。(ぶっちゃけこれだけ見ればオッケーな気も。。。) 公開鍵暗号について理解が足りていなかったのでメモ - かせいさんとこ 鍵交換方式による認証 概要 ~SSHとは~ SSHはSecure Shellの略で、あるマシンに別のマシンからアクセス , ログインするというイメージです。 主にサーバー(リモート)にクライアント(ローカル)からアクセスするときに使い
最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、
いつまで経っても終わらないから帰れない… 途中で終了してしまうと困るので、ログアウトしても終了しないように。 作業の流れ Ctrl+Zでコマンドの中断 bgでバックグラウンドに回す jobsでジョブの確認 disownでログアウトしても実行されるようにする 実際のコマンドだと
ギーク野郎 ギーク野郎とは開発用Terminalを常に立ち上げてプログラミング言語をいじっている人の事をここでは意味します。ギーク野郎はモニターを複数台所有し、それぞれがTerminal用、ネットサーフィン用、ニコニコ動画専用というような使い分けをしています。しかしそれぞれのモニターへの視線とマウス移動はフラストレーションを溜める1要因になります。それを回避するために本当のギーク野郎は1台モニタのTerminalだけで作業します。すみません、左の発言は適当です笑。この記事ではTerminalだけで作業を完結したい人を対象とし、GUIを使わずにCUIだけでの作業環境構築を目指し、それに役立ちそうなアイテムについて紹介します。 tmux tmux プロセス管理の初歩テクニック - Yuta.Kikuchiの日記 tmuxを使ってWorking Spaceを効率的に使う事を強く薦めます。個人的に
私はシェルスクリプトの大ファンで、他人のスクリプトから面白い方法を学ぶのが大好きだ。最近、SSHサーバの2要素認証を簡単にするためのauthy-sshスクリプトに出会った。このスクリプト群を見まわしていて、みんなと共有したいたくさんのクールなことを見つけた。 出力に色付けする 出力文字列を、成功した時は緑に、失敗した時は赤に、警告は黄色に色づけしたいと思うことはたくさんあるだろう。 NORMAL=$(tput sgr0) GREEN=$(tput setaf 2; tput bold) YELLOW=$(tput setaf 3) RED=$(tput setaf 1) function red() { echo -e "$RED$*$NORMAL" } function green() { echo -e "$GREEN$*$NORMAL" } function yellow() { e
@hirose31 さんが「シェルスクリプトでハマった件→【募】ステキな回避方法」でお題を出されていて、それに回答してみました。 その内容はリンク先を見てもらうとして、回答の中で使ったbashのプロセス置換について書かれた記事をあまり見ないので、回答で使ったプロセス置換のことをエントリにしてみたいと思います。 最初に注意点ですが、プロセス置換の機能は、bashやzsh*1の機能でPOSIX互換の機能ではありません。そのため、使用時には、対応していないシェルでは使えませんし、bashで使う場合も /bin/sh ではなく /bin/bash を明示的に指定する必要があります。たとえば、プロセス置換を使ったスクリプト「script.sh」に対して"$ bash script.sh" というコマンドは成功しますが、"$ sh script.sh" というコマンドは失敗します。この辺りの違いは「/
Index データ集計コマンド 爆速で検索したいぜ! lookを使う LC_ALL=Cを設定する データのランダムサンプリングがしたいぜ! sedを使う awkを使う sortの--random-sortを使う Script言語を使う shufを使う ランダムサンプリング速度比較 合計と平均値を集計したいぜ! 列データ取得 重複行のカウント 合計値出力 平均値出力 複数ファイルのデータ結合がしたいぜ! 共通項目での結合 同じ行数での結合 まとめ データ集計コマンド joinコマンドが便利過ぎて生きるのが辛い - Yuta.Kikuchiの日記 lookコマンドによる二分探索が速すぎて見えない - Yuta.Kikuchiの日記 今日はデータ集計を行う上で絶対に覚えておいた方が良いコマンドと知識を紹介したいと思います。これを身につければシステム処理と業務効率化に大きく繋がると思います。この記
プロセス置き換えとか、名前付きパイプとか、とても便利な機能なのだけど、その仕組みはどうなっているのだろう?断片的な知識ばかりでは、その核心にはなかなか辿り着けない。サンプルコードの真似はできるけど、それ以上の発想はできない...。もっと根本的なところからちゃんと理解しておかないと、いつまでたってもコマンドの使い方の本質が理解できないと感じた。プロセスとは何か?パイプとは何か?リダイレクションとは何か?ファイルディスクリプタとは何か?可能な限りその本質を探ってみようと思う。 UNIXのプロセス UNIXでは、複数のユーザーがログインした状態で、同時に複数の処理を依頼される状況が多々ある。 ところが、どんなに高性能なCPUであっても、ある瞬間に処理できるのはたった1つの処理だけである。 そんな時OSは、それぞれの処理に必要なメモリ領域を割り当てて、CPUをタイミングよく切り替えながら同時並行的
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く