いままで 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
src /dev/full is always full FreeBSD 11.0-CURRENTに疑似デバイスファイル/dev/fullが追加されました(リビジョン265132)。/dev/fullはディスク容量がフル状態を模擬的に作り出しているデバイスファイルで、ディスク容量がフル状態になっている場合のソフトウェアの動作をチェックするといった目的で使われます。 図 新しく追加された/dev/full疑似デバイスファイル $ ls -l /dev/full crw-rw-rw- 1 root wheel 0x9 May 3 14:39 /dev/full $ /dev/fullからデータを読み込むとNUL文字データ(0x00)が取り出されます。この動きは/dev/zeroと同じです。 図 読み込みに関しては/dev/fullは/dev/zeroと同じ $ dd if=/dev/ful
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
今まで下記のようにexecで標準出力と標準エラー出力を作業ログに残すという事をしてたんですが、実際に打ったコマンドは出力されないので、ちょっと不便だなーと思ってました。 exec > >(tee --append /tmp/$(date +"%Y.%m.%d")_$(id --user).work.log) 2>&1 ちょっと調べて見るとscriptコマンドを使うとコマンドを含めて出力できることを知りました。 これで作業ログを残すのがはかどる! script --append --flush /tmp/$(date +"%Y.%m.%d")_$(id --user).work.log チームメンバーにこのログをtailさせておけば、画面共有も出来たりもします。 (その用途ならホントはwemuxとか使った方が良いんでしょうけどね。。 tail -F /tmp/$(date +"%Y.%m.%
#!/bin/bash # 既存プロセスの標準出力と標準エラーを奪う https://qiita.com/kawaz/items/96af6fa59fdf999b94bd # ターゲットのPID pid=$1 [[ -d /proc/$1/fd ]] || exit 1 # 出力先はttyやファイルを指定 out="$2" # 出力先の指定がない場合は現在のttyを出力先にする if [[ -z $out ]]; then # プロセスに紐付いたttyを取得する https://qiita.com/kawaz/items/bd33fe1e29876939dddb function search_tty() { local pid=${1:-$$} tty="" while [[ 1 -lt $pid ]]; do [[ -d /proc/$pid/fd ]] || break tty=$(
不慣れな環境を不意にいじった時にあるあるネタ。 とりあえずー とか言って勢いで書いたsetupスクリプトを実行してみたら意外と時間かかって、 ちょっと目を離した隙にsshの接続が切れちゃいました! 。。。ありますよね。ほんとよくありますよね。 そうなる予感はあったんだ なんて後の祭りです。ふとした油断から、screenもnohupすらも使わずにやってしまって、こんなことに。 shellがHUPしなかったからプロセスは生きてるものの、ログが見れないから進行状況がわからない。 うまく行ってるのかどうかモヤモヤした気持ちのまま、プロセスが終わるのをじっと待つ。。。 まぁ実に切ないです。 こんな時、いつも思うこと。 このプロセスの出力、もっかいstdoutに繋げられたらいいのに。。。 はい。というわけでつなげましょう。 長い前座ですみません。 切り離したプロセスを用意 #!/bin/bash wh
ちょっと調べたのでメモ。 UUID(Universally Unique IDentifier)の詳細については下記リンク先をご参照いただくとして、UUIDの生成については様々なプラットフォームでサポートされているのと、いくつかバージョンが存在します。 Universally unique identifier - Wikipedia UUID と Perl について - daily dayflower バージョン4(完全ランダム生成)を使う前提で、いくつかワンライナーで実行するやり方を残しておきます。 uuidgenコマンド(Linux) $ uuidgen f6574b6b-02f7-4255-865b-dda39dcd0979オプションなしで実行すると、上記の通りデフォルトはバージョン4で返してくれます。 (UUIDの 00000000-0000-X000-0000-00000000
コマンドのパスを知りたいんじゃなく、コマンドの存在をチェックしたいだけなら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
はじめに こんにちは。KMC2回生のtyageです。 京都もほんとに寒くなってきて鍋が捗りますね。簡単だし美味しいあったまるし、最高ですね。 この記事はKMCアドベントカレンダー2013の17日目の記事で、 昨日は1回生のnona65537君によるSSH の二段階認証についてでした。 今日はGoogle ChromeというSSHクライアントの紹介なのですが、12日間続いたKMCアドベントカレンダーのサブプロジェクトであるSSHアドベントカレンダーもこれで最後になります。 最後がこれでいいのか?とも思うのですが、今までの内容がハードだったという方に向けて優しい内容となっておりますので、安心して御覧ください。 定番SSHクライアント「Google Chrome」 Google Chrome(もしくはChromium)と聞いて「あっ、SSHクライアントのことか!」と思われた方には少し物足りないか
awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基本動作 awkの基本動作は、とってもシンプルである。
こんにちは。斎藤です。 ITインフラの障害は、多くの場合「予期せぬ」タイミングで発生します。特に、CPUリソースを多量に消費したり、Disk I/Oが輻輳している場合、その切り分けは困難な状況に陥りやすいものです。 そこで、本日はITインフラ、特にOS・ミドルウェアを支えるにあたって、問題解決を助けてくれるであろう12個のコマンドを取り上げてみます。「必ず押さえておきたい」5つのものと「更に覚えると便利なコマンド」7つの2節に分けてお話しします。 ※CentOS 6.4 (64bit)を前提に取り上げます 必ず押さえておきたいコマンド もしITインフラ管理者になりたてな方はぜひ サーバサイドのプログラマをやっていたのだけれど、ある日突然「君、サーバ管理担当ね!」と、バトンを渡される方っていらっしゃると思います。私も以前はそのクチでした...。そうなってしまったとき、まずは覚えておきたい5つ
ある日、ぼーっと DB のコピーをした後に、コピー元と uid が違っていたので以下のようなコマンドを叩いた。ぼーっと。 chown -R mysql:mysql ../これを叩いたときのカレントディレクトリは /var/lib/mysql である。ドットが一個多いので /var/lib 以下が全部 mysql になって大惨事。 こういうとき FreeBSD だったらmtreeを使うんですが、 GNU/Linux だと無いようなのでどうするねん。と困っていたところ、 satoh_fumiyasu@ さんに getfacl/setfacl というポインタを教えてもらいました。 同一構成の適当なホストからパチってきて合わせる。 -bash-3.2# hostname rokuchotouge -bash-3.2# pwd /var -bash-3.2# getfacl -R lib | nc
iptablesでサーバを守るときに知っておくと良いことを3つ紹介します 1. 接続回数を制限する(IPアドレスごと) hash_limitを使います これにより特定ホストからの大量アクセス、DoS攻撃を緩和することが可能です 例 2. 接続回数を制限する(サービスごと) limitを使って制限します これにより多数のホストからの攻撃、DDoS攻撃を緩和します limitを使った制限は全ホストが等しく制限を受けるため、ssh等に設定すべきではありません。 (攻撃を受けている間は自分たちも制限されるため) Webサーバが大量アクセスで落ちそうな場合は使えるんじゃないでしょうか? 例 3. 接続IPアドレスを限定する IPアドレスの国別割り当てをAPNIC等から取得してコマンドを作ります この手のルールは長くなるので、ユーザー定義チェインにしたほうが見やすくなります 例 あとはこんな感じのスク
なんかtwitterで書いたらウケたっぽいので cronをつかって外部のAPIに問い合わせる場合は、毎時0分をさけるのオススメ!!!!お兄さんとの約束だ!!! — masahiro nagano (@kazeburo) August 9, 2012 某サービスのAPIへの問い合わせ件数を調べると、毎時 0分台(0秒から59秒)のアクセスは1分から59分までの1分間の平均アクセス数の5倍から8倍にもなります。 これはおそらく、crontabの設定が 0 * * * * /path/to/call_foreign_api になっていることが多いからじゃないかなぁと思うのです。 その結果、サーバのロードアベレージは このように毎時0分だけ跳ね上がってしまいます。サービスを快適に提供できなくなる可能性があるので、APIの利用を制限したり、サーバを追加しなければなりません。これはサービス利用者、サー
おそらく、誰もがやる深夜のWebサーフィンは、究極のところ時間の無駄ではないのかもしれない。 それは、Webで夢をみているのにほかならないのだ。(T.B=リー「Webの創成」より) 昨年末から今年にかけて、自宅のメインPCをWindowsXPからUbuntu9.10に移行しました。最大の目的はとあるツールの導入にあるのですが、これについては次の記事で。 WindowsはOS自体に魅力が無くとも、有志による優れたフリーソフトによって使い勝手のよい環境が実現できるので、他OSへの移行はなかなか面倒なものです。 私自身まだ完全にWindowsの時の水準まで環境を整備しきれたわけではありませんが、とりあえず今回は移行の際のいくつかのポイントを覚え書きとしてまとめておきます。 Ubuntuのインストール Ubuntuを使い始めるに当たり、Windowsの環境を丸々上書きしてしまう必要はありません。専
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く