screenのよく使うコマンド
ここを見た方が早い
上記以外で良くつかうのは
画面の水平分割 <C-a> S (大文字s)
画面の垂直分割 <C-a> |
分割した画面の移動 <C-a> tab
分割の解除 <C-a> Q (大文字q) ※<C-a> x でも行けるけどパスワードを要求される???
新しい画面を作る <C-a> c
画面を終了する <C-a> k
直前の画面に移動 <C-a> r
任意の画面に移動 <C-a> [<C-a> wで表示されるID]
"screen -ls" で存在するセッション?を表示できる
そこで表示されるプロセスIDを使って "screen -r [プロセスID]"でセッションを復活させる
セッション?が1つだけなら省略して"screen -r"だけで良い
新サーバ設定
Ubuntu 20.04 LTS(日本語イメージISO)に追加でインストールしたもの
logicoolのキーボード K400r 用
sudo apt install solaar
sudo apt install solaar-gnome3
開発環境
sudo apt install build-essential
sudo apt install ctags
sudo apt install language-pack-ja
sudo apt install manpages-ja
sudo apt install manpages-ja-dev
sudo apt install git-all
sudo apt install lam-runtime
sudo apt install mpich
sudo apt install openmpi-bin
sudo apt install slurm-wlm-torque
KVM設定
下記サイトをそのまま実施
Ubuntu 20.04 LTS : KVM : インストール : Server World
SSHサーバ設定
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl restart ssh
ssh-copy-id username@remote_host
ssh remote_host
exit
.bashrcにでも下記を追加
/usr/bin/keychain $HOME/.ssh/id_rsa
source $HOME/.keychain/$HOSTNAME-sh
良く使うツール類
sudo apt install jq
sudo apt install curl
sudo apt install libcurl4-openssl-dev
sudo apt install net-tools
sudo apt install screen
Windowsからリモートデスクトップするようにする
sudo apt -y install xrdp tigervnc-standalone-server
sudo systemctl enable xrdp
sudo systemctl start xrdpsudo systemctl restart ssh
リモートデスクトップだけを許可する設定
sudo apt install -y firewalld
sudo firewall-cmd --add-port=3389/tcp --permanent
sudo firewall-cmd --reloadrestart ssh
環境設定(~/.vimrc)
set tabstop=4
set visualbell t_vb=
noremap <C-n> :tnext<CR>
noremap <C-p> :tprev<CR>
環境設定(~/.profile)
PATH="$HOME/AFX/script:$PATH"
ulimit -Sc unlimited
alias json="python -m json.tool"
alias less="less -R"
export OPENSSL_CONF=/home/***/openssl.cnf (自分でファイルを用意)
環境設定(~/openssl.cnf)
openssl_conf = default_conf
#default config...
[ default_conf ]
ssl_conf = ssl_sect
[ ssl_sect ]
system_default = ssl_default_sect
[ ssl_default_sect ]
MinProtocol = TLSv1.2
CipherString = DEFAULT:@SECLEVEL=1
ヒアドキュメント
対話式のコマンドに対して標準入力を渡せる
> command <<EOF
Yes
EOF
コマンドが入力として”Yes”.”No"などを要求される場合に使える。入力はEOFの箇所まで複数指定することもできる。
また終端の文字列はEOFに限らない。入出力で使わないような適当な文字列を使うことができるし、何なら$termchar のような変数も使える。
注意点はシェルで書いたときのインデントがある。タブやスペースでインデントされていると、それらも標準入力に渡される。ただしタブに関しては "<<"を"<<-"にすることで回避できる。
エクセルのTips
- 数式に名前を付ける
[数式]-[名前の定義]
OFFSET関数などでセルの範囲を決める数式を設定しておくと、グラフのデータ指定に使うSERIESに数式を指定することでデータをリスト等で変えることができて便利。グラフはデータ範囲の指定で直接OFFSET関数を使えないが、データ要素指定のSERIESだとOFFSETも名前を付けた数式も使える
- 株価チャートが正しく表示されない
横軸(日付)の書式設定を開き、"軸のオプション"->"軸の種類"が日付軸や自動的に選択になっているのをテキスト軸に変更する。どうも自動変換や日付軸になっていると、時間に合わせて変な計算をしているようでグラフがおかしくなるようだ
よく使うエクセルの関数
- OFFSET(範囲、行数、列数、【H】、【W】)
指定したセルの範囲から指定の行数と列数を移動した位置にあるセル範囲(HW)を返す
- ROUND(数値、桁数)
指定の桁数で表示するように四捨五入する
- MATCH(検索値、検索範囲、[照合の種類])
指定の数値・文字列を検索して一致するセルや最も近いセルの検索範囲からの相対位置を返す
- IFERROR(値、エラーの場合の値)
大体は =IFERROR(*, "")のように使う。*の参照が出来ない場合に空白にする
- SWITCH(式、値1、結果1、値2、結果2、... 、該当する値がないときの結果)
リストの文字列に対応させた数値を出したいときによく使う
- INDIRECT
セルの参照を文字列で指定できるので、グラフのデータ範囲を変化させたいときなどによく使う
- SERIES
グラフのデータ選択に使用する
sed の後方参照の使い方
西暦、月日、時分秒が並んだ"20200630110100"のような文字列を、"2020,0630,110100"のように西暦と月日と時分秒の間に カンマ','を入れたいときは後方参照が使うと便利
> echo "20220927080000" | sed 's/\(....\)\(....\)/\1,\2,/'
2022,0927,080000
1\は西暦、\2は月日に対応している
ここでは西暦と月日を検索パターンとしているがやるならもっと増やしてもよい。
またパターン1とパターン2の入れ替えも出来る(この例だとあまり意味はないけど)
> echo "20220927080000" | sed 's/\(....\)\(....\)/\2,\1,/'
0927,2022,080000
awk で忘れがちなところ
- for文
基本的にCと同じように書ける。前処理で dat[NR]=$1 のようにした場合などは次のようによく書く
for(i=1; i<=10; i++) print dat[i]
for(i=1; i<=length(dat); i++) print dat[i]
連想配列の場合は下記の方が簡単かも
for(i in dat) print dat[i]