linux

colaboratoryで使うdatasetをどこに置いておくのがよいか調べる

前回こんな記事を書いたが、どこに置いておくのが効率よいのか気になったので調べてみた https://blog.hatena.ne.jp/y-kamiya/jsapachehtml.hatenablog.com/edit?entry=26006613718710543 colaboratoryは起動のたびにまっさらの状態になるためデータセットな…

コマンドラインで複数ファイルの名前を一気に変更

以下のようなファイル群があって、ハイフンより前の接頭辞をすべてのファイル名から消したい v001-fileA v002-fileB v003-fileC ... 複数ファイルのリネームについての賢い方法はこちら 大量のファイルをシェルのコマンドで一括リネームする | Developers.I…

コマンドラインでファイルのN行目からN+M行目まで抽出

手軽に表題のことをやる場合は以下 $ cat file | tail -n +N | head -n M tail -nに+をつけて数字を渡すことで上からN行を除いた部分を抽出できる

複数のサーバ上で同時にスクリプト実行

負荷試験など行う場合に複数のサーバで同時にスクリプトを実行したいことがある。シェルスクリプトで簡単にできる方法があったのでメモ。例えば192.168.1.1 ~ 192.168.1.3の3台で一斉にtestStart.shというスクリプトを走らせたいときは以下のようなスクリプ…

dpkg -lのrc

dpkg -lしたときにステータスがrcとなっているものがある 意味は パッケージ自体は削除されたが設定が残っている というもの以下のコマンドで完全に削除すればOK $ apt-get remove --purge <package-name> 参考ページ Linux - dpkg -lの”rc”状態とは - Qiita</package-name>

interface(IPアドレス)を指定してping

複数のIPアドレスを持っている端末からpingを打つ場合、どのIPから送信するか指定したい その際は以下のように指定できる192.168.0.2から192.168.100.1へpingを打つとすると (192.168.0.1, 192.168.0.2という2つのIPを持っていると仮定) $ ping -I 192.168…

error while loading shared libraries

こんな感じのエラーが出たので調べた error while loading shared libraries: hogehoge.so.0: cannot open shared object file: No such file or directoryダイナミックリンクされたファイルが見つからないという意味らしい lddによって対象のコマンドにリン…

複数ファイルに一括でinsert

いくつかのファイルにcopyrightを追加する必要があり調べたのでメモ参考ページ Unix Sed Tutorial: Append, Insert, Replace, and Count File Linessedを使えば簡単にできる まずは簡単な場合。example.cの先頭に以下の一行を入れたいとき // Copyright Hoge…

複数ファイルを一括リネーム

標準出力から文字列を受け取って別のコマンドで使えるととても便利 例えば、複数のファイル名を一気に同じ形式に変更したいとするカレントディレクトリに以下のファイルがあるとする hoge1 hoge2 hoge3これをそれぞれ.txtという拡張子を付けた形にリネームし…

tarで展開時にerror

curlでとってきたtar.xzのファイルを展開しようとしたところerrorが出たtar.xzは以下のように展開できる $ tar -Jxvf filename.tar.xz JのオプションはGNUのtarにしかないらしく、その辺りが原因かと思ったがちゃんとGNUのものを使っていた。 curlで取得した…

Kernel Configurationを確認

カーネルのコンフィギュレーションを確認する方法をメモ/proc/config.gzにかかれているので特定のオプションがONになっているかどうかはgrepしてみればよい $ zcat /proc/config.gz | grep CONFIG_IP_VS_NFCTちなみにCONFIG_IP_VS_NFCTはIPVS用の設定をiptab…

vimとxargsで表示がおかしくなる

まとめてファイルを開く必要があるときに以下のようにやることがある $ find . -name '*.txt' | xargs vimだがこんなwarningが出た上、vimを終了した後にターミナルの表示がおかしくなる Vim: Warning: Input is not from a terminal # vim終了後 $ git stat…

vagrantでロードバランサーの実験環境作成

勉強がてらubuntuでlvsを構築してみたので手順やハマったところをメモ実験用の環境はvagrantで構築 nodeをたくさん立てる必要があるためdocker使ってメモリ節約したかったけど dockerだと通信周りの設定でハマりそう&その部分は今回の趣旨と違うため次のス…

ファイルの容量を調べる

各ファイルの容量を調べる方法についてメモ使うコマンドはdu カレントディレクトリ以下の全てのファイルの大きさを単位を直して出力 $ du -hカレントディレクトリの容量合計を出力 $ du -shカレントディレクトリ直下の各ディレクトリの容量合計を出力 $ du -…

sudoした際に環境変数を引き継ぐ

環境変数を設定することでコマンドの挙動が変わる場合以下のように実行する $ HOGE=hoge $ someCommandただ、someCommandを実行するにはrootになる必要があった場合どうするか? 以下のようにオプションを付けることで簡単に実現できることがわかった $ HOGE…

kernelのbootメッセージにHello World!

kernelをビルドしてみたのでその手順をメモ もともとこちらの本を読んでいてやってみようと思ったもの Linuxの内部構造の概要や運用管理する上でのシェルスクリプトの使い方、kernelソースの読み方導入までわかりやすく書いてありとても面白かった。プロのた…

sshで公開鍵が使われないとき

authorized_keysに公開鍵を登録し、秘密鍵も正しい場所に置いてあるにも関わらずログインの際にパスワード認証になってしまうことがあったので原因をメモ原因はauthorized_keysのファイルパーミッション 以下のようにしておけばOK.ssh → 700 authorized_keys…

ある文字列が含まれるファイル・行数を検索

タイトル通りのこと手軽に行いたいというときはよくある。今回そのような必要に迫られたので調べてメモ。 カレントディレクトリ以下のファイルにを対象に行いたいときは以下のコマンドでOK find ./ -print | xargs grep 'hoge' printは出力された各ファイル…

ubuntu-serverでlocale設定

以下のようなwarningが出るので調査。 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings:原因はLANGの設定を正しくしていないこと 解決策1. 英語の設定をする .bashrcに以下を追加 LANG=en_US.UTF-8 また、こ…

USBを使ってubuntu12.04.3-serverをインストール

使わなくなったPCにubuntuをインストールしてみたのでその手順をメモ インストールはUSBから行った1.以下のサイトからubuntuのディスクイメージをダウンロード http://www.ubuntu.com/download/server2.UNetbootinを使ってUSBを起動ディスクの代わりに使う …

vimのインストール

vim7.4をインストールしたのでその手順をメモ 今回はMercurialを使ってみることにしたため、まずはそちらをインストールbrewを使う brew install python pip mercurialpipはpythonをインストールした段階で一緒に入るコマンドのよう ※現在はbrewから直接merc…

ircのサーバに踏み台を超えてポートフォワード

外部からアクセスできない場所にあるircサーバにlimechatでアクセスしたかったため、トンネルを掘って繋いだ。その副作用でいろいろ調べたのでわかったことや手順をメモ。最終的には以下の設定を.ssh/configに書くことで解決 Host hostA HostName hostA.exam…

xargsで楽をする

findやgrepなどで検索し抽出したファイルを一気に開きたいことがある。 その際、コピペせずに引数をvimに渡せないか調べてみた。以下のようにすればOK grep hoge | xargs vim find . -name hoge | xargs vim あと、同じような感じでgitの操作でもコピペを省…