そういえばだけど、linuxでコマンドのベンチマーク取るときに使うコマンドは time(1) ではなく multitime(1) がオススメ。指定回数試行してくれて、平均以外に標準偏差や中央値も教えてくれるよ!… https://t.co/ZBQJM1vq8M
comp.unix.shell の一つの質問に対する回答として -xdev っていう find コマンドのオプションが使われていましたが,ぼくはこれが何だか知りません. 知らないことは調べないといけないので,man を引いて調べてみるなどしました. -xdev Don't descend directories on other filesystems. なるほど,他のファイルシステムにあるファイル/ディレクトリは find の検索対象としないということか! HP だけど,以下のサイトが参考になりました. ファイル・システム単位で検索したい場合,-xdev オプションをつけます。 例えば, # find / -name abc -print として検索した場合,/ ディレクトリ以下のすべてのディレクトリを検索するため,他のファイル・システム /usr, /var,その他 NFS マウントさ
Linux と Mac で xargs の挙動が違うのは以前から認識していたが、詳細までは調べていなかった。今回、プライベートの git レポジトリをコミットして Mac で xargs を実行した際に illegail option -- i と怒られてしまったので、これを機会に xargs が Linux と Mac 両方できちんと動作するように修正した。 Linux では動く、Mac では動かない # da = dot apply alias da="ls -A ~/git/$repo/t/dot/ | xargs -i cp {} $HOME && pushd $HOME && source $HOME/.bash_profile && popd" Mac 版の xargs (BSD) では -i オプションがサポートされていないのが問題だった。 $ da xargs: illeg
みたいなのがあったとして、これが時々エラー吐く、みたいなことがあったんですわ。あー xargs の呼び出すコマンド(例えば rm )に入力がないときにエラー出るんかー、変なのーって思いながら、ちょこちょこそれを忘れては引っかかり、をくり返していたんです。 なんでか今日分かりました。BSD の xargs を使った場合はそういうエラー出ないのです。だからすぐ忘れる。 GNU のバカーと思ったりしたのですが、man の恐ろしい量のオプションを読んでいたら なんて文字が! なんてこった。というわけで実際のスクリプトの一部はこんな感じにしてみた。 BSD のクセに gnu findutils 使ってるとか cygwin 使ってるやつのことなんか知らない。 [2011-11-09 追記] 最近の BSD xargs には -r というオプションがあって、これが findutils の xargs の
Linuxで、コマンドを定期的に、それもcronを利用するほどでもない間隔(数秒、数分など)で実行させるには、どうすればいいのだろうか? 1.watchコマンドを利用する フロント側でコマンドを連続実行させるならば、watchコマンドを利用すればいい。 watch -n 間隔(秒) コマンド 例えば、1秒ごとに「ls -la」を実行する場合、以下のようにすれば良い。 watch -n 1 ls -la ただし、watchコマンドはバックグラウンドでの実行が出来ない。 そのため、バックグラウンドでの実行をする場合は、次のwhileの方法を取るといいだろう。 2.whileを利用する さて、watchコマンドはバックグラウンドでのコマンド実行は行えない。 そのため、バックグラウンドで連続でコマンドを実行する場合は、whileで以下のようにコマンドを実行すると良いだろう。 while true;
概要 Dockerイメージなどミニマルな環境だといつものコマンドが使えないときがある。 イメージ容量を考えると不要なパッケージが入っていないほうが良いのだが困るときもある。 そんなとき用のメモ 対応表 コマンド パッケージ名(CentOS) パッケージ名(Ubuntu) ps procps ping iputils iputils-ping ip iproute iproute ss iproute iproute ifconfig net-tools net-tools arp net-tools net-tools netstat net-tools net-tools route net-tools net-tools traceroute traceroute inetutils-traceroute dig bind-utils dnsutils nslookup bind-ut
find /hoge/fuga -ctime +30 -type f -print | xargs rm などしたときに、何もfindの条件にマッチしなかったら、単に引数なしのrmが実行され rm: missing operand Try `rm --help' for more information. となる。 こういったエラーを出したくない場合は、--no-run-if-empty を使って find /hoge/fuga -ctime +30 -type f -print | xargs --no-run-if-empty rm としてやると、findの結果が空の場合は、rmが実行されず、エラーも出ない。
現在ログインしているユーザー名とその利用状況を表示する。JCPUはユーザーが使用しているttyから実行されている全プロセスが使った時間を意味し,PCPUはwhat項目で示されているカレント・プロセスが使っている時間を意味する。 ホスト内の現在ログインしているユーザーの利用状況を表示する $ w 3:07am up 2 days, 11:16, 8 users, load average: 0.07, 0.31, 0.45 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT number tty1 - Sun 1am 2days 13:37 0.01s startx number pts/1 - Mon 1am 6:33m 0.39s 0.25s slogin xxx x hoge pts/0 xxx.xxx.xxx.xxx Sun 4pm 0.00s 1.56
コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた本.古いが全然色あせてない. コマンドラインツールの作り方を書いた本ではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい
git-ignore add みたいのが欲しい— azu (@azu_re) August 24, 2014 ちょろっと書けそうだったので書いた。 yuroyoro/git-ignore · GitHub Demo Installation PATH通った場所においてくれ curl -sL https://raw.githubusercontent.com/yuroyoro/git-ignore/master/git-ignore > ~/bin/git-ignore Examples `git ignore add "pattern"`で、.gitignoreへ追加する。 $ git ignore add '*.log' .gitignoreから削除するには、`git ignore remove "pattern"`を実行する。 $ git ignore remove '*.log' a
何に関連して記事を書こうと思った訳でもないです。たんなる一人コードリーディングです。 GNU CoreUtils に入ってる rm を読みました。 GNU Project Archives http://ftp.gnu.org/gnu/coreutils/ 読んだのは coreutils-8.17.tar.xz に入ってる src/rm.c preserve_root 変数は 203行目にある main で int main (int argc, char **argv) { bool preserve_root = true; struct rm_options x; true に初期化されていて319行目 if (x.recursive && preserve_root) { static struct dev_ino dev_ino_buf; x.root_dev_ino = get
cles::blog 平常心是道 blogs: cles::blog NP_cles() « X220 が Fan Error. により完全に沈黙 :: X220 のファンユニットを交換 » 2014/06/04 /etc/init.d/hoge start と service hoge start は何が違う? systemmanagemant cli 390 4へぇ 普段、Linux でデーモンを制御するには /etc/init.d/hoge というスクリプトを叩いている*1のですが、あるマニュアルを読んだら service hoge を使いましょう的なことが書いてありました。 試してみると確かに /etc/init.d/hoge start の代わりに service hoge start としても同じようにデーモンが起動できるようです。 ただ、困ったことに僕にはこの2つの違いが
ログファイルを空にしたいときなど、いつも忘れるので・・・。 : > file % : > file これが一番シンプルですね。 : という区切りのコマンドがあり、それを file にリダイレクトしてあげるとファイルが空になります。man bash には以下のように記述されています。おそらくzshでは一番シンプルです。 ・・・ A : separates the event specification from the word designator. ・・・ ・ ・ ・ SHELL BUILTIN COMMANDS Unless otherwise noted, each builtin command documented in this section as accepting options preceded by - accepts -- to signify the end of
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く