日に日に分からんことが増えていく…

プログラマー初心者としての日々を学んでいることを記録していく。

Linux

AWSにアカウント追加するときに苦労したこと

AWSに自分のアカウントを追加するときにやったこと。 www.task-notes.com qiita.com

AWSのサーバにSFTP通信を行う。

AWSのインスタンスのセキュリティグループからどのIPアドレスを弾いているか確認している。 AWSにSFTPで接続するサーバを管理するために見たが、SFTPコマンドって受送信できるんだっけということで確認した。 ちなみに、公開鍵の登録も必要。 webkaru.net セ…

インフラエンジニアがよく使うコマンド

インフラエンジニアがよく使うコマンドをまとめたページ。 貼っておいて後読もう。 qiita.com

grepとかawkとかsortとかuniqueとか(niceも)

アクセスログのファイルに「/content」含まれないばあいにのIPアドレスだけ出力して、 ソートした後に集約して件数出して、その件数でソート(降順)して上位10件を出す。 にたいして、処理が重いので優先順位を下げる。 知らないコマンドとgrepの知らないオ…

7zのファイルについて解凍

圧縮ファイルで「… .7z」というものがあった。 macのデフォルトのコマンドでは対応していないので、p7zipをinstallする必要がある。 # ディレクトリの圧縮 $ 7z u -r [ディレクトリ名].7z [ディレクトリ名] # 解凍 $ 7z x [ファイル名].7z yuyunko.hatenablo…

SFTPサーバに接続

sftpで実行するためには以下のようにする。 $ sftp -P port user@domain ## historyの時間確認 $ export HISTTIMEFORMAT='%F %T ' $ history | less ## lsコマンドで時間確認 $ ls -alt

踏み台サーバなどを用いて、多段階接続をするとき(ssh -W)

Proxycommandをssh configに登録して、 ssh -Wから対応することができる。 dev.classmethod.jp

svnのあれこれをvimの折りたたみ解除

svnをgitでいうpushする時、svnはcommitで完了する。 $ svn add [ファイル名] $ svn commit -m "[コミット文言]" svnでgit pull的な挙動は、 $ svn stat # fileみてMや!などの表記がある。 # ファイルを変更前に戻す。 $ svn revert [ファイル名] # git pull…

Python3とsystemd-tmpfiles.dの便利なサイト

Python3ではsendとthrowについてわからなかったので参考にしたサイト。 iteratorについてはこんな使い方があるのかと感動した。 あと、systemd-tmpfiles.dにて /tmp/ or /var/の定期的削除に関して、 systemd-tmpfiles-clean.serviceで削除をしている。その…

処理中のプロセスをバックグラウンドで回す

「Ctr + z」で一時停止をし、jobsで確認し、bg %~で対応する。 $ zcat db.sql.gz | mysql -u root db ^Z [1]+ 停止 zcat db.sql.gz | mysql -u root db $ jobs [1]+ 停止 zcat db.sql.gz | mysql -u root db $ bg %1 [1]+ zcat db.sql.gz | mysql -u root db…

PackerとAnsibleはめちゃ便利

dev.classmethod.jp

MySQL5.6から5.7に変更する際に起こったエラーについて

vagrantsで今までMySQL5.6を使ってたが、速度が3倍になるということで5.7に変更。 はじめ以下の手順で確かめていた。うまくインストールできない。 # エラーの出る手順 [root # ] yum remove mariadb-libs [root # ] rm -rf /var/lib/mysql/ [root # ] yum l…

SFTPのみ接続可。sshでのシェルは排除。

設定は以下のようにする。 # groupadd sftp_users # usermod -G sftp_users mokyu # vi /etc/ssh/sshd_config 147行目コメント化にしてその下に追記します # override default of no subsystems #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem…

vimの文字列置換

:%s/置換前文字列/置換後文字列/gc すると一つずつチェックしてくれる。 www.ksknet.net

Apacheのアクセスログはこんな感じでコマンドから調べられる。

切り取ってしまえば、調べが簡単 $ cut -d " " -f 1-8 access_log | grep "google" | grep -ve "10.0.0.1" -vEe "10\.0\.0\.(4[8-9]|5[0-9]|6[0-3])" | wc -l ossfan.net orangain.hatenablog.com ksmzn.hatenablog.com +α帯域制限をかけながらscpなどは行っ…

Webのアクセスピーク時の負荷を測るにはSiegeってものがあるらしい。

Webの最後の負荷テストの時に色々ツールがあると便利だ思った。 他のテストもツールを組み合わせるといい感じに成形できそう。 qiita.com 以下は今のレスポンスタイムを確かめる方法。 $ curl -kL http://google.com -o /dev/null -w "%{time_total}\n" 2> /…

ファイル内の文字列探索

現在のディレクトリ以下のファイルの文字列を探索する方法。 $ find . -type f -name "*.html" | xargs grep ' 探索したい文字列' -n find コマンド | コマンドの使い方(Linux) | hydroculのメモ

入力した行の全消し(ターミナル)

Ctr+uとCtr+kで全消しができる。 あと、iterm2ではshift + Ctr + Hでクリップボードが発動。 bacchi.me

バックグラウンドで動かす方法(runserver)

python runserverを開発環境のバックで回していたい時。 $ nohup python apps/manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 < /dev/null & $ jobs $ ps aux | grep runserver $ %1 $ kill %1 これでいける。disownもあるけど、こっちの方がログアウト…

curlについて

man curlでもいいが便利だったので、サイトを転載。 qiita.com

workon(mkvirtualenv)について

qiita.com

Apacheのサーバについて

djangoにてrunserverは自動更新するが、apacheはされない。 $ ps aux | grep python $ ps aux | grep httpd $ sudo /usr/local/apache24/bin/apachectl help $ sudo /usr/local/apache24/bin/apachectl graceful すると変更が反映される。 apache勉強しない…

Failed cleaning build dir for cryptographyについて

pipでcryptographyをインストールしようとした時に起こったエラー。 stackoverflowにあった。 $ pip install cryptography Failed cleaning build dir for cryptography !! stackoverflow.com

Linuxの-neや-eqの意味についてまとめてた

便利なサイトがあったため、転載。 shellscript.sunone.me

Dockerやら「png、jpgの違い」やら

paiza.hatenablog.com www.gizmodo.jp

ssh-agentの使い方とVim、Gitの習慣(pushとpull以外の確認)

qiita.com qiita.com gitの習慣 $ git status →Gitのbranchや状況の確認 $ git branch →branchを確認する $ git log →Gitの変更履歴の確認 $ git fetch →Gitのpullしたときにどう変化するか確認 $ git diff →Gitの前回との変更点の確認(commitの前) $ git …

これ便利 $変数(シェル)

kajitiluna.hatenablog.com

Curlコマンド便利ツール

pythonのsocketやsubprocessを勉強していくにあたり、curlでアクセスすることが重要だったので載せる。 qiita.com

Linuxのサーバ負荷や使用率を調査する

DiskのIOを確認するとき便利(fioなど) nbisco.hatenablog.com tasuku.hatenablog.jp ついでにメモリも www.math.kobe-u.ac.jp コマンド集(CPU、メモリ、DISK) easyramble.com

VBAによるtsvファイルのExcel変換(Mac編)

FileFormat numbers in Mac Excel These are the main file formats in Windows Excel 2007-2016: 51 = xlOpenXMLWorkbook (without macro's in 2007-2016, xlsx) 52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2016, xlsm) 50 = xl…

Pythonで一億行のtsvファイルを作成する(高速化)

以下の課題に対して、コードを作成した。ちなみにargparseはまどろっこしいので、Clickを使用している。 百万行のファイルでおよそ39秒かかった。ここからの改善のしようがわからない。 1億行のrowを持つtsvファイルを出力するプログラムを作成せよ。 カラム…

git cloneのブランチ指定とSQL集約とline_profiler(バラバラ)

git cloneのブランチ指定 $ git clone -b ブランチ名 https://リポジトリのアドレス $ git commit -a -m "任意のコメント" //コミット (-aオプションは変更を自動検出してくれる) $ git branch //今いるブランチを確認 $ git checkout ブランチ名 *ブランチ…

API繰り返し出力

#bin/sh for i in `seq 0 N`; do curl "http://~~?l=100&o=${i}" | jq .result.classify_list[] | jq -r "to_entries | [.[].value] | @csv" >> output.csv done

JSON API→CSVにて

jqを用いてAPI取得から curl 'url名' | jq .項目名1.項目名2[] | jq -r "to_entries | [.[].value] | @csv" >> test.csv これでいける!

CentOS7 仮想環境構築

CentOS7(minimal)をインストールした USB挿入 $ su # diskutil list # diskutil unmountDisk /dev/disk4 $ cd ~ $ ls $ cd Downloads/ $ ls $ sudo dd if=./CentOS-7-x86_64-Minimal-1511.iso of=/dev/disk2 bs=4028 $ sudo dd if=./CentOS-7-x86_64-Minimal…