numpy覚え書き

行列の定義 >>> A = np.array([[1,2,3],[4,5,6],[7,8,9]]) >>> A array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 行列の転置 >>> A.T array([[1, 4, 7], [2, 5, 8], [3, 6, 9]]) 行列式 >>> np.linalg.det(A) 6.6613381477509402e-16 ↑の読み方: 6.66.. × 1016 …

Pythonコードの中でシェルを使う

Pythonのスクリプトの中からシェルのコマンドを呼び出して使う。 $ python >>> import commands >>> commands.getoutput("<任意のコマンド>")

ネットワーク関連のコマンド覚え書き

ゲートウェイのIPを調べる $ route -n IPアドレス、MACアドレス等を調べる $ ifconfig 同じLANに接続されているコンピュータのIPアドレス一覧を取得する # arp-scan -I <ネットワークデバイス(wlan0等)> -l コンピュータがどのLANに接続されているのか確認す…

シンボリックリンクの作成

シンボリックリンクとは、対象となるファイルやディレクトリへのパスが書かれた特殊なファイルである シンボリックリンクを作成・削除しても、対象には何も影響を与えない。 またリンク対象の実体ファイルを削除すると、リンクが壊れる。 シンボリックリンク…

Pythonでリストの中身が勝手に変わってしまう時は

Python2.7 Pythonのあるリスト(Aとする)に別のリスト(Bとする)をアペンドすると、アペンドしたリスト(B)の変更がアペンド先のリスト(A)の中身に影響を与えることがある←よくわかってないです 例 >>> listA = ['A'] >>> listB = ['B'] >>> listA.append(listB…

git,GitHubの便利なコマンド覚え書き

ワークツリー上での削除をGitHubに反映させる $ git commit -aの後$ git push 直前のcommitのコメントを編集する $ git commit --amend 今までの一連の変更内容を確認する $ git log -p commitする前の変更を取り消す $ git checkout HEAD .

pythonのunittestの使い方

pythonのunittestモジュールを用いることで、関数のテストを行う 対象となるコード(target.py) def myadd(a,b): return a+b def mypow(a,b): return a**b これをテストするコード(test.py) #coding:utf-8 import unittest from target import myadd from tar…

ROSでワークスペースとパッケージを作る

ROS

ワークスペースの作り方 ROSのワークスペース(catkin_ws)を作成する $ mkdir -p ~/catkin_ws/src $ cd ~catkin_ws/src $ catkin_init_workspace $ catkin_make $ source ~/catkin_ws/devel/setup.bash (この行は~/.bashrcの最後に追記しておくとよい) これで…

ROSのコマンド覚え書き

ROS

調べる系 rostopic type /..,rosservice type topic,serviceの型を調べる rostopic list,rosservice list,rosparam list 現在登録されているすべてのTopic,Service,パラメータが表示される rosservice type /.. | rossrv show サービスが受け取る引数と戻り…

gitの初期設定

gitに名前とメールアドレスを登録 $ git config --global user.name "<ユーザ名>" $ git config --global user.email "<メールアドレス>" gitで使用するエディタを定義 $ git config --global core.editor 'vim -c "set fenc=utf-8"'

ファイルのアーカイブと圧縮とパスワード保護

tarコマンド 用途 ファイルをアーカイブ(まとめる)する アーカイブファイルの作成 $ tar cf <アーカイブファイル> <アーカイブ元のファイルパス> アーカイブファイルの内容を確認する $ tar tf <アーカイブファイル> アーカイブファイルの展開 $ tar xf <ア…

bashのブレース展開で連番のファイルを作成

bashではブレース展開を用いることで、連番のファイルを作成することが出来る {<開始>..<終了>} 例1 001.txtから020.txtまでを作成 $ touch {001..020}.txt $ ls 001.txt 003.txt 005.txt 007.txt 009.txt 011.txt 013.txt 015.txt 017.txt 019.txt 002.txt …

Pythonのデコレータ

作成した関数を書き換えずに、その関数の働きに変更を加えたい時、デコレータを用いることができる。 デコレータとは、入力として関数(変更を加えたい関数)を取り、出力として別の関数(変更を加える関数)を取る関数のことである。 具体例 引数として取ったふ…

TensorFlowで乱数生成

一様分布 random_uniform関数を用いて一様に分布する乱数を生成する サンプル #coding:utf-8 import tensorflow as tf #100次元、0から10まで一様に分布する不動少数点型の変数を作成 uniform = tf.random_uniform( \ [100],minval=0,maxval=10,dtype=tf.flo…

シェルスクリプト覚え書きその2 制御構造編

条件分岐 if文 例:ひとつ目の引数が1ならYES,そうでないならNOと出力 #!/bin/bash if [ "$1" = "1" ] ;then # [,],=の前後にスペースが必要 echo "YES" else echo "NO" fi 比較 文字列の比較 str1 = str2 str1とstr2が等しい str1 != str2 str1とstr2が等し…

シェルスクリプト覚え書き シェル変数と引数 編

変数関連 変数の定義 file=/media/usr-name/ 変数名に使えるのは アルファベット、数字、アンダースコアのみ 変数の参照 変数の値を参照する際には、変数名の前に$をつける。 echo $file /media/user-name/ コマンド置換 コマンド置換を利用することで、コマ…

シェルスクリプトをどこからでも実行できるようにする

通常シェルスクリプトは、シェルスクリプトが存在しているディレクトリで$ ./hoge.shとタイプすることで実行する これを、どのディレクトリからでも、シェルの名前だけで実行できるように設定する シェルスクリプトを保存しておくディレクトリを作成 $ mkdir…

sedの使い方

sed はストリームエディタの略 vimやEmacs,メモ帳と言った対話型エディタとは異なり、ストリームエディタはファイルを加工して結果を標準出力に書き出す。 -i オプションで上書きする。 行を指定して削除 $ sed <数字>d ファイル名 でファイルの<数字>行目を…

grepの拡張正規表現

grepコマンドの-Eオプションを利用することで、拡張正規表現を用いることが出来る 1回以上の繰り返し ‘+'で直前の文字の一回以上の繰り返しを意味する 例 grep -E 'Be+r' = Ber,Beer,Beeeer … 0回または1回の繰り返し ‘?'は直前の文字の0または1回の繰り返し…

grepやvimで使える正規表現

$ grep [オプション] <検索パタン> <ファイル名>で、ファイルからパタンに一致する内容がある行を抽出 例: /etc ディレクトリから'cron'に一致する内容を抽出 $ ls /etc | grep cron anacrontab cron.d cron.daily cron.hourly cron.monthly crontab cron.w…

便利なフィルタコマンド覚え書き

head 標準入力の先頭数行を表示 -n <数字> : 指定した行数を出力 tail 標準入力の末尾数行を出力 -n <数字> : 指定した行数を出力 -f <ファイル名> : 指定したファイルにリダイレクトで追記(>>)があるとリアルタイムで表示 grep 指定した検索パタンに一致す…

リダイレクトやパイプラインにエラーを渡す

標準入力元・標準出力先に何らかのファイルを指定するのがリダイレクト 標準出力先をfileにする > file 標準エラー出力先をfileにする 2> file 標準出力・標準エラー出力先をfileにする > file 2>&1 標準出力を別のコマンドに渡すのがパイプライン 1.標準エ…

linux ジョブとプロセス覚え書き

用語集 プロセス メモリ上で実行状態にあるプログラムで、カーネルから見た処理の単位 デーモン バックグラウンドで実行される、ターミナルに接続されていないプロセス ジョブ シェルから見た処理の単位 プロセスの確認 $ psコマンドでプロセスの一覧を確認 …

tmuxキーバインド

ctrl+b -> c : 新しいウィンドウを作成 ctrl+b -> n : 次のウィンドウへ移動 ctrl+b -> p : 前のウィンドウへ移動 ctrl+b -> 数 : 指定した番号のウィンドウへ移動 ctrl+b -> & : ウィンドウを閉じる ctrl+b -> % : ウィンドウを左右分割 ctrl+b -> “ : ウィ…

linuxのファイルパーミッション覚え書き

linuxが提供するファイルパーミッション機能によって、ファイルの読み書きや実行、ディレクトリへの書き込みや削除をコントロール出来る。 1.ファイルのオーナーとグループ、パーミッションを確認 コマンド$ ls -lで、ファイルのオーナー(所有者)と、ファイ…

linuxのターミナルの言語環境を変更する

日本語環境だと文字化けしてしまう場合などに。 現在のロケールを調べる $ echo $LANG システムがサポートしているロケールを調べる $ locale -a 言語を切り替える $ LANG=en_US.uft8(スペースを挟まない)

findコマンドでファイルを探す

linuxのfindコマンドの使い方 基本 $ find <検索の起点ディレクトリ> <オプション> <条件指定> 具体例 $ find . -name '*.txt' 意味: カレントディレクトリ以下に存在している、拡張子が.txtのファイルをすべて表示させる オプション -iname で大文字小文字…

Pythonのlambda関数

Pythonのlambda関数(無名関数)は、一文で表現される、名前のない関数のこと。 具体例 例えば引数の和を取って返す関数を普通に書くと、 def add(a,b): return a+b これが、lambda関数を用いると lambda a,b:a+b となる。 コロンの左側が引数、右側が戻り値。…

ありがちなルータの管理画面のアドレス

ネットワークの設定を弄りたい時、ブラウザで自分が契約しているルータの管理画面を呼び出す必要がある。 管理画面への入り方は主に取扱説明書に書いてあるが、手元にないときが多いので、各社でありがちなルータの管理画面のアドレスをメモしておく 入り方…

vimのTips

vim

vimの便利な操作方法を見つけたら忘れないようにメモする [s]でカーソル位置にある文字を削除&挿入モードに移行 [f] → <アルファベット一文字> でその文字を検索 [;]で次[,]で前に移動 [I]で行頭から、[A]で行末からの追記モードに移行 [Shift] + [c] — カー…