揮発性のメモ2

http://d.hatena.ne.jp/iww/

2019-07-01から1ヶ月間の記事一覧

Debianで、パッケージの「インストールサイズ」を確認する方法

controlファイルにインストール後のサイズが書いてある dpkg --info でわかる。 単位はKB # dpkg --info mongodb-clients_3.2.11-2+deb9u1_armhf.deb 中略 Installed-Size: 44822 www.debian.org www.debian.org

cp -ax の進捗を見る

大量のファイルをコピーしてるとき、今何個コピーしたとか何秒経ったかを表示する。あらかじめファイルの数を数えておき、何個中何個コピーしたかを毎秒表示する。 あと経過時間もついでに表示する。 time cp -ax -v /mnt/ test/ | perl -nE 'BEGIN{$|=1; $z…

FFFTPのダウンロード

本家 2.0 がダウンロード可能 ja.osdn.netベクター 3.3 がダウンロード可能 www.vector.co.jp窓の杜 最新(3.9)がダウンロード可能 forest.watch.impress.co.jp公式 最新(3.9)がダウンロード可能 github.com

昨日編集したファイルだけをまとめて圧縮する

# 手抜き版 find hoge/ -type f -mtime -1 | tar cvf hoge_yesterday.tar.gz # ちゃんと動く版 find hoge/ -type f -mtime -1 -print0 | tar cvf hoge_yesterday.tar.gz --null -T - findの結果をtarでアーカイブしたい - 浦安市在住+デジカメ

再帰的にファイル内の文字列を検索して置換する

http://hoge.example.com を https://hoge.example.com に置き換えるやつ # findでやる方法 find . -type f | xargs sed -e 's/http:\/\/hoge\.example\.com/https:\/\/hoge.example.com/m' -i # grepでやる方法 grep -rIl http://hoge.example.com . | xarg…

Cで、breakが使えるスコープを使う

C

#define blockscope switch(0)default: puts("hoge\n"); puts("piyo\n"); blockscope{ puts("foo\n"); puts("bar\n"); if(baz==E_OK) break; puts("baz\n"); } puts("fuga\n"); 途中で小さいスコープを作ってbreakで脱出できるコードを書く方法で switch(0)d…

vimで無用なインデントをさせない

vimで勝手にインデントしてしまう小さな親切を無効化する :set noautoindent :set nosmartindent :set nocindent :set indentexpr= :set paste noautoindent 普通のインデントを無効化 nosmartindent 賢いインデントを無効化 nocindent C言語用インデントを…

aptで出力結果を編集することはできない

# apt search linux-headers | grep 4.9.82 WARNING: apt does not have a stable CLI interface. Use with caution in scripts. 注意:aptはちゃんとしたCLIを持ってないからスクリプトで使うときは気を付けてね apt-cache search とか使う

TeraTermで、シリアルコンソールの画面サイズを変更したとき

TeratermでシリアルコンソールでLinuxに接続しているとき、画面サイズの変更は sttyコマンドでおこなう # stty size 24 80 # stty rows 48 columns 160 # stty size 48 160 linuxjm.osdn.jp桁数は割とすぐ反映されるけど、行数はなんか反映されないことがあ…

unpackは想像以上にメモリをたくさん消費する

PHP

PHPで500KB程度のバイナリファイルを1バイトずつ処理したかったので

feofでループするとバグる

C PHP

feof() は終端まで到達していたらEOFを返すけど、終端かどうかは最後の文字の次の文字を読むまでわからない。 よって、while(!feof() みたいにループで1文字ずつ読むと、必ず最後にゴミがでる。今までファイルを1文字ずつ読んだことなんかなかったので、初め…

udevでバックグラウンドで動くプログラムを起動する 3

USB機器を挿した契機で、ちょっと時間のかかるプログラムをバックグラウンドで起動したい。 また、抜けたら抜けたで何か起動したい。 /etc/udev/rules.d/99-local-usb.rules # USB機器が刺さったらなんかする ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}…

udevでバックグラウンドで動くプログラムを起動する 2

USB機器を挿した契機で、ちょっと時間のかかるプログラムをバックグラウンドで起動したい。 そのまま呼ぶと一瞬で殺されるので、systemdを使って起動する /etc/udev/rules.d/99-local-usb.rules # USB機器が刺さったらなんかする #ACTION=="add" , SUBSYSTEM…

udevでバックグラウンドで動くプログラムを起動する

USB機器を挿した契機で、ちょっと時間のかかるプログラムをバックグラウンドで起動したい。 ちょっと前までは nohup とか付けたプログラムを2段ロケットで呼べば動いていたけど、最近(Debianならstretchから?)ではdisownだろうがnohupだろうが 1秒も経た…

[: missing ]

/usr/local/bin/hoge: 8: [: missing ] というエラーが出て、その8行目は [ -z "$ADDR"] || ADDR="HOGEHOGE" という塩梅だった。 "[" が文法じゃなくて内部コマンドだということを失念していたため、[ ] を単なる飾りとして見ていて、: missing ってなんだろ…