自分(Blacknon)のクライアント環境用dotfiles。
ローカルではzshを、リモートではbashを用いる。
リモート先でもlsshを使ってローカルの設定(shell function含む)を転送、利用するため、実行コマンドは可能な限りシェル関数として実装する。
PATH | 概要 |
---|---|
.zshrc | zsh用のrcファイル。小分けにしたファイル郡をsourceするだけ。 |
.bashrc | bash用のrcファイル。小分けにしたファイル郡をsourceするだけ。 |
.vimrc | vimrcファイル。ssh先に持っていきやすくするため1ファイルにすべて設定を記述する。 |
.tmux.conf | vimrcファイル。ssh先に持っていきやすくするため1ファイルにすべて設定を記述する。 |
sh | bash/zshで共通の設定・関数を格納するディレクトリ。 |
sh/alias.sh | aliasの設定ファイル |
sh/exportsh | export周りの処理を記述しているファイル |
sh/other.sh | その他 |
sh/functions/command_not_found_hundle | aliasの設定ファイル |
sh/functions/common.sh | shell関数内で利用している関数を記述しているファイル |
sh/functions/exec_1.sh | インタラクティブシェルから実行する関数1(ssh先に持っていくもの) |
sh/functions/exec_2.sh | インタラクティブシェルから実行する関数2(ssh先に持っていかない・利用頻度の低いもの) |
sh/functions/exec_ddig.sh | インタラクティブシェルから実行する関数(ddigのみ) |
sh/functions/exec_pping.sh | インタラクティブシェルから実行する関数(ppingのみ) |
sh/functions/exec_local.sh | インタラクティブシェルから実行する関数(ローカルマシンでしか実行しないであろうもののみ) |
sh/functions/exec_docker.sh | インタラクティブシェルから実行する関数(docker関係のみ) |
sh/functions/iterm2.sh | iTerm2で利用する関数 |
sh/functions/keybind.sh | Keybindで使用する関数 |
sh/functions/replace.sh | 既存のコマンドからaliasで置き換える関数 |
File | 概要 |
---|---|
AppleScripts/music_rename.applescript | iTunesの選択中のタイトル名を、~/Work/YYYYmm/YYYYmmdd/itunes.txt のタイトルに変換していくスクリプト(~/Work/YYYYmm/YYYYmmdd/itunes.txt はShift-JISで記述する必要があるので注意) |
AppleScripts/music_settracknum.applescript | iTunesの選択中の曲にtrack numberを連番でセットしていくapple script. |
File | 概要 |
---|---|
bin/cidr2iplist.py | 標準入力で受け付けたcidr(192.168.0.0/24 )を展開してipアドレスのリストとして出力するスクリプト. |
bin/get_proxy | pubproxy.comのapiからランダムにSocks5 proxyを取得するスクリプト |
bin/get_proxylist | www.proxy-list.download からフリーのプロキシリストを取得してURI形式でリスト取得するスクリプト |
bin/get_shellfunction_table.sh | シェル関数とその説明をsh_function* ファイルから取得してtableにするスクリプト |
bin/hwatch_logviewer.py | hwatchのlogをパースして出力するスクリプト |
bin/json2urlparam.py | json文字列をPOSTできるURL EncodeしたQuery stringに変換するスクリプト |
bin/mkworkbackup.sh | ~/Today/backupに、雑にバックアップを作成するスクリプト. mkworkln.shから該当箇所だけ抜き出して動くようにしたもの. |
bin/mkworkln.sh | ~/Work整備のcron用スクリプト |
bin/my-pj | 期間の決まっているプロジェクト用のディレクトリ生成スクリプト(~/Workとセット) |
bin/myconky.sh | dotfiles配下のconkyrcを利用したconkyの管理用スクリプト(Desktop Linux用) |
bin/mydocker-setup | ローカルで使うDockerの取得用スクリプト |
bin/outexec_vimdiff.sh | lsshのpshell(parallel shell)で実装されている"%outexec"コマンドで使用するためのスクリプト。 "${LSSH_PSHELL_OUT_{SERVER_NAME}}"に過去の実行結果が保存されているため、それらをvimdiffに食わせて差分を確認する。 |
bin/rot.py | 文字列のROT対応用スクリプト(未作成) |
bin/subdomain2domain.py | 標準入力で受け付けたサブドメインからドメインを返すスクリプト. |
bin/update_ltmux | ssh先に持っていくtmux設定付きfunctionの作成スクリプト |
bin/update_lvim | ssh先に持っていくvim設定付きfunction(lvim )の作成スクリプト |
bin/url2domain.py | 標準入力で受け付けたURLからドメインを返すスクリプト. |
File | 関数名 | 概要 |
---|---|---|
./sh/functions/common.sh | ____get_envdata() | 現在使っているfunctionや環境変数、aliasをbase64にして返す関数 setでfunction/envを、aliasでエイリアスを取得させる |
./sh/functions/common.sh | ____get_rcdata() | ローカルマシンで使用しているbashrcやvimrcのfunctionを読み込んで base64にして返す関数 |
./sh/functions/common.sh | ____toggle_surround_format() | 入力中の内容を引数で指定された文字列で囲む(カーソル位置〜行末) |
./sh/functions/common.sh | ____get_escape() | エスケープした文字を返す |
./sh/functions/common.sh | ____1char2dotchar() | 各文字を1文字だけドット(.)にした文字列の一覧を出力する(agrepで使用) |
./sh/functions/common.sh | ____shift1chars() | 各文字を1文字ずつずらした文字列を出力する(agrepで使用) |
./sh/functions/exec_1.sh | ttmux() | tmux内で実行すると、ウィンドウを分割してスタートさせる |
./sh/functions/exec_1.sh | check_cert() | OpenSSLでの、リモートの証明書の期限をチェックするための関数 |
./sh/functions/exec_1.sh | get_open_ports() | 開いてるポートとそれに対応するプロセスのコマンドを一覧で表示する |
./sh/functions/exec_1.sh | get_globalip() | httpbin.org に接続してグローバルIPを取得する |
./sh/functions/exec_1.sh | get_ip() | ipアドレスとinterfaceの組み合わせをシンプルなリストにして出力する |
./sh/functions/exec_1.sh | rarls() | rarファイル内のデータをlist表示するfunction。 |
./sh/functions/exec_1.sh | zipcat() | zipファイル内のファイルを指定して標準出力に書き出すfunction。 |
./sh/functions/exec_1.sh | zipls() | zipファイル内のデータをlist表示するfunction。 |
./sh/functions/exec_1.sh | targrep() | tarファイル内のファイルに対してgrep(相当の処理)を行うfunction。 awkを利用する。 ※ GNU tarでないと動作しないので注意 |
./sh/functions/exec_1.sh | tarcat() | tarファイル内のファイルを指定して標準出lflg_l力に書き出すfunction。 |
./sh/functions/exec_1.sh | tarls() | tarファイル内のデータをlist表示するfunction。 |
./sh/functions/exec_1.sh | todaydir() | make today dir |
./sh/functions/exec_1.sh | find_bigfile() | サイズの大きいファイルをサーチする |
./sh/functions/exec_1.sh | sw() | ファイルの入れ替え(スイッチ) |
./sh/functions/exec_1.sh | dec_jwt() | 標準入力から受け付けたjwtトークンをDecodeする |
./sh/functions/exec_1.sh | enc_unicode() | 標準入力から取得した値をUnicode Escape Sequence形式に変換する ※ nkfが必要 |
./sh/functions/exec_1.sh | enc_hex() | 標準入力から取得した値をHex形式(\xXX)にして返す |
./sh/functions/exec_1.sh | dec_html() | 標準入力から受付たhtmlエンティティ形式のデータをもとに戻す |
./sh/functions/exec_1.sh | enc_html() | 標準入力から取得した値をhtmlエンティティ形式に変換する |
./sh/functions/exec_1.sh | dec_url() | 標準入力から取得したパーセントエンコーディングを戻す |
./sh/functions/exec_1.sh | enc_url() | 標準入力から取得した値をパーセントエンコーディングする -n ... nkfを使用してパーセントエンコーディングする(-a,-zは無効化) -a ... ascii文字含め全部をパーセントエンコーディングする(-nのときは無効) -z ... Null区切りにして改行もパーセントエンコーディング対象とする |
./sh/functions/exec_1.sh | snake2camel() | 標準入力で受けたsnake_case => CamelCaseの変換を行う |
./sh/functions/exec_1.sh | camel2snake() | 標準入力で受けたCamelCase => snake_caseの変換を行う |
./sh/functions/exec_1.sh | aigrep() | あいまいgrepをするfunction (1文字違う文字列(abc=>{.bc,a.c,ab.})と、1文字ずつずらした文字列(abc=>{abc,bac,acb})でgrepをする(typoも発見できる)) |
./sh/functions/exec_1.sh | ts() | 標準入力で受け付けた行頭にタイムスタンプ(YYYY-MM-DD HH:MM:SS: )を付与する |
./sh/functions/exec_2.sh | scx() | 完全にlocalで実行する用のscのラッパーfunction。 bashrcをsourceした状態で引数のコマンドを実行させるので、functionも実行できるようにする。 |
./sh/functions/exec_2.sh | sc() | ## ========== ターミナルログ関係 ## ========== scriptコマンドで/Work配下にターミナルログを記録する |
./sh/functions/exec_2.sh | sortsave() | sortしてその内容をそのまま保存する ※ moreutils必須 |
./sh/functions/exec_2.sh | gscd() | gitリポジトリ内のディレクトリを選択して移動する |
./sh/functions/exec_2.sh | gcd() | gitリポジトリのルートディレクトリに移動する |
./sh/functions/exec_2.sh | ud() | 上のディレクトリに移動するfunction. cd(Change Directory) → ud(Up Directory) ...という命名方式 |
./sh/functions/exec_2.sh | url2json() | パイプから受け付けたurl encodeされたパラメータをjsonにして出力するfunction(要php) |
./sh/functions/exec_2.sh | json2url() | ## ========== エンコード/デコード関係 ## ========== パイプから受け付けたjsonをurlencodeして出力するfunction(要php) |
./sh/functions/exec_2.sh | joinby() | Join array |
./sh/functions/exec_ddig.sh | ddig() | # スペース区切りでリストを引数として与えると、その名前解決の結果をカンマ区切りで出力するdigのwrapper関数 ex.) ddig abc{1..10}.com @{8.8.8.8,1.1.1.1} ddig MX TXT A abc{1..10}.com @{8.8.8.8,1.1.1.1} |
./sh/functions/exec_docker.sh | docker_login() | 起動中のdockerコンテナにログインするためのfunction。 usage: docker_login コンテナ名 docker_login -e コンテナ名 # 現在のfunctionを利用してログイン docker_login -r コンテナ名 # rcファイルを利用してログイン |
./sh/functions/exec_docker.sh | docker_runin() | dockerコンテナを起動してログインするためのfunction。 usage: docker_runin コンテナ名 docker_runin -e コンテナ名 # 現在のfunctionを利用して起動・ログイン docker_runin -r コンテナ名 # rcファイルを利用して起動・ログイン docker_runin -v ローカルPATH:コンテナPATH コンテナ名 # マウント指定(-r/-eオプション併用可) NOTE: docker-machine環境下でvolume mountがうまくいかなくなった場合、とりあえずアップグレードすることで直る場合がある。まずはそれをやってみること。 |
./sh/functions/exec_local.sh | mkinst() | make install を一気に行うためのfunction |
./sh/functions/exec_local.sh | battery() | バッテリー残量を取得 |
./sh/functions/exec_local.sh | pe() | petからsnippetを実行する(実行後はhistoryに登録) |
./sh/functions/exec_local.sh | prev() | 直前に実行したコマンドをpetに登録する |
./sh/functions/exec_local.sh | tw() | 現在いるWorkディレクトリを識別し、その翌日のディレクトリへ移動する |
./sh/functions/exec_local.sh | yw() | 現在いるWorkディレクトリを識別し、その前日のディレクトリへ移動する |
./sh/functions/exec_local.sh | wd() | 本日のDownloadディレクトリへの遷移用function |
./sh/functions/exec_local.sh | ww() | Workディレクトリの作成・移動 |
./sh/functions/exec_pping.sh | pping() | ex.) pping target1 target2... parallel port ping |
./sh/functions/iterm2.sh | imgls() | imgls(): about: iTerm2上で画像ファイルをls状に表示するfunction origin: https://www.iterm2.com/utilities/imgls require: - php |
./sh/functions/iterm2.sh | imgview() | imgview(): about: iTerm2上で画像ファイルを表示するfunction origin: https://www.iterm2.com/utilities/imgcat |
./sh/functions/iterm2.sh | ____show_imgls_list_file() | ____show_imgls_list_file(): about: imglsの結果を出力するfunction |
./sh/functions/iterm2.sh | ____show_imgview_help() | ____show_imgview_help(): about: imgview用のhelpを出力するためのfunction |
./sh/functions/iterm2.sh | ____show_error() | ____show_error(): about: エラーメッセージを出力するfunction |
./sh/functions/iterm2.sh | ____print_image() | ____print_image(): about: iTerm2にイメージを出力するimgview用のfunction |
./sh/functions/iterm2.sh | ____check_dependency() | ____check_dependency(): about: コマンドの有無を確認するfunction。 |
./sh/functions/iterm2.sh | ____print_st() | ____print_st(): about: More of the tmux workaround described above. |
./sh/functions/iterm2.sh | ____print_osc() | ____print_osc(): about: tmuxなどの場合にOSCエスケープシーケンスを出力するためのfunction。 |
./sh/functions/keybind.sh | __tw() | twをkeybindで実行する |
./sh/functions/keybind.sh | __yw() | ywをkeybindで実行する |
./sh/functions/keybind.sh | __ww() | wwをkeybindで実行する |
./sh/functions/keybind.sh | __toggle_doublequote_format() | 入力中の内容をダブルクオーテーションで囲む |
./sh/functions/keybind.sh | __toggle_singlequote_format() | 入力中の内容をシングルクオーテーションで囲む |
./sh/functions/keybind.sh | __toggle_substitution_format() | コマンド置換形式に変換する |
./sh/functions/keybind.sh | __pet_set() | pet searchをしてコマンドラインを置き換えるkeybind用のfunction |
./sh/functions/keybind.sh | __history_selection_insert() | Ctrl + R でhistory検索をして現在カーソルに差し込みをするfunction |
./sh/functions/keybind.sh | __history_selection() | Ctrl + R でhistory検索をする(peco,bocoを使用) |
./sh/functions/keybind.sh | __copy_current_command() | Ctrl + X, Cで、現在のプロンプトのコマンドをコピーする(ssh先でも使えるように、OSCエスケープシーケンスを使用) NOTE: 【前提】 Macの場合、iTerm2を使ってることが前提 NOTE: 【前提】 iTerm2の場合、 Perferences でApplications in terminal may access clipboard にチェックが入ってる必要がある |
./sh/functions/keybind.sh | __cd_selection() | Ctrl + X, Ctrl + Dでcdを行うためのfunction(bash/zsh共通) |
./sh/functions/keybind.sh | __cd_record() | cdのhistoryを記録するためのfunction |
./sh/functions/replace.sh | __pingfunc() | pingでタイムスタンプを頭につけるためのfunction |
./sh/functions/replace.sh | __mkdirfunc() | mkdirで、単体のディレクトリが指定された場合はそこにそのまま移動させるためのfunction |
./sh/functions/replace.sh | __sudofunc() | sudoでfunctionで定義した内容が使えるようにするためのfunction |
# AppleScript
echo "|File|概要|\n|---|---|";grep -H -a '^-- Description' AppleScripts/* | nkf -w | sed -r 's/:-- Description:/\t/;s/(.+)\t/[\1](\1)\t/'| tb -s $'\t' -t
# 実行ファイル
(echo "File\t概要\n---\t---";grep -H -a '^# Description' bin/* | nkf -w | sed -r 's/:# Description:/\t/;s/(.+)\t/[\1](\1)\t/')| tb -s $'\t' -t
# シェル関数
get_shellfunction_table.sh