タグ

tipsとLinuxに関するir9のブックマーク (26)

  • 環境変数 PATH に空文字があるとカレントディレクトリが指定されているのと同じ意味になる

    何だと!? タイトルのまんま。 恥ずかしながらこれ今まで知らなかった。 もしかして常識だったりする? ちなみに確認したのは Linux だけど、glibc の posix サブディレクトリ配下の execl*execvpe の挙動なので glibc 使ってればみんな一緒じゃないかな?知らんけど… 環境変数 PATH が設定されていない時 unset PATH とした状態。 この場合、PATH=/bin:/usr/bin と設定されているのと同じ意味になる(追記も参照のこと)。 当然カレントディレクトリは含まれていない。 環境変数 PATH が空の時 PATH= とした状態。 「PATH 環境変数が設定されていない時」とは異なる事に注意。 この場合、PATH=. と設定されているのと同じ意味になる。 つまり、カレントディレクトリが含まれている。 環境変数 PATH の最後が : で終わってい

    環境変数 PATH に空文字があるとカレントディレクトリが指定されているのと同じ意味になる
    ir9
    ir9 2021/09/25
  • CPU / メモリ / ディスクに負荷をかける stress コマンド - kakakakakku blog

    最近 stress コマンドを使って,サーバに負荷をかける方法を紹介する機会があり,よく使っているのに今までブログに書いていなかったなと気付き,今回まとめることにした.CPU に負荷をかけるだけなら yes > /dev/null をコア数に合わせて並列実行すれば良いけど,stress コマンドならメモリとディスクにも負荷をかけることができるので,シナリオのバリエーションを増やすことができる. stress project page インストール 検証環境として CentOS を使った. $ sudo yum install stress $ stress --version stress 1.0.4 共通オプション 以下のような共通オプションが用意されている.よく使うのは --timeout で,秒数を指定して負荷をかけることができる.他はあまり使ったことがないかも. -t, --tim

    CPU / メモリ / ディスクに負荷をかける stress コマンド - kakakakakku blog
    ir9
    ir9 2018/10/22
  • LinuxサーバでネットワークI/Oで刺さっている接続先を発見する - ゆううきメモ

    Linuxサーバの障害対応で社内で伝統的に使われているテクニック。I/Oで完全にブロックしているポイントを特定するノウハウ。 問題対応のため、怪しいプロセスをstraceしてみる read(2)やwrite(2)でブロックしていることを発見する read(2)やwrite(2)、connect(2)の引数にはファイルディスクリプタ番号がみえる プロセスIDとファイルディスクリプタ番号を使って、/proc//fd/ の中身をみると、ソケットI/Oで刺さっている場合はソケット番号を発見できる netstat からソケット番号でgrepして接続先を発見する [y_uuki@hogehoge ~]$ sudo strace -p 10471 Process 10471 attached - interrupt to quit read(58, <unfinished ...> Process 10

    LinuxサーバでネットワークI/Oで刺さっている接続先を発見する - ゆううきメモ
    ir9
    ir9 2018/02/25
  • 【総まとめ】linuxの強制終了方法を集めました

    Linuxを強制終了しないといけないことがある。 暴走したり、動かなくなったり、プロセスがおかしくなったりパターンは様々だ。 このページではLinuxの強制終了の方法をまとめてみた。強制終了をしなければならなくなったとき、参考にしてほしい。 プロセスを強制終了する プロセスが止められなくなることがある。WindowsでもMacでも同様のことはよく起こるはずだ。 こういったプロセスをユーザは意図的に止めることができる。これを「プロセスを強制終了する」という。また物騒だが「プロセスを殺す」ともいう。 killコマンド 「ps aux」や「top」コマンドなどでプロセスを確認するとそのプロセスがどの程度リソースを消費しているか? ゾンビプロセスになっていないか確認できる。「top」のほうがリアルタイムに監視可能なのでこちらを使うとわかりやすいだろう。 暴走しているプロセスがあったらプロセスIDを

    【総まとめ】linuxの強制終了方法を集めました
    ir9
    ir9 2016/07/30
  • curlとWgetの比較 | POSTD

    curlとWgetの主な違いについて著者(Daniel Stenberg)の私見を述べています。自分の子どもとも言える curl をひいきしていますが、 Wget にも携わっているので、思い入れがないわけではありません。 この記事に関するご感想やご意見をお寄せください。 問題点や改善点があると思われる場合は、 Issueやpull-requestを発行 してください。 共通点 FTPやHTTP、HTTPSからコンテンツをダウンロードできるコマンドラインツールです。 HTTP POSTリクエストを送信できます。 HTTPクッキーをサポートしています。 スクリプトの中で使用したりできるよう、ユーザインタラクションがなくても動作するようにデザインされています。 完全なオープンソースで、無料のソフトウェアです。 開発プロジェクトとして90年代に立ち上げられました。 metalink をサポートして

    curlとWgetの比較 | POSTD
  • 何もしない組み込みコマンド ":" (コロン)の使い道

    Bash でシェルスクリプトを勉強していくと出会うのが : (コロン)という名前の組み込みコマンド。このコマンドは何もしないコマンドです。 こんなコマンドの存在は不思議だなと思う反面、C言語にも void という型があったり(関数のような形で存在するのは JavaScript とかですね)、LaTeX にも \relax があったり、何もしない命令というものは機械語の NOP からある普通のものです。 この Bash の : の使い道についてまとめてみました。 何か書かなければならないところに仮置きする 例えば「ここに制御構造を置くんだけど、この節に入るものは後で書くんだけどな〜」といった場合、制御構造の節の中に何も書かないと Bash は構文エラーとなります。 #!/bin/bash arg="$1" if [ -z "$arg" ] ; then echo "デフォルトモード開始" e

    何もしない組み込みコマンド ":" (コロン)の使い道
    ir9
    ir9 2016/02/22
  • 1GBのダミーファイルを作成するコマンドは?

    Linux 限定ですが、比較的新し目の Linux カーネルと対応ファイルシステム(ext4,xfsなど)と util-linux パッケージがあるなら、fallocate(1) で一瞬で作成することができます。sparse file にはなりません。 以下の例では 1GB (1000000000バイト) のファイルを作ります: $ fallocate -l 1gb dummy.iso 以下の例では 1GiB (1073741824バイト) のファイルを作ります: $ fallocate -l 1gib dummy.iso または: $ fallocate -l 1g dummy.iso なおシステムコール fallocate(2) に対応していない NFS ※などのファイルシステムでは失敗します: $ fallocate -l 1g dummy.iso fallocate: dummy.

    1GBのダミーファイルを作成するコマンドは?
    ir9
    ir9 2016/01/30
  • yum updateで古いマイナーリリースへ固定する

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    yum updateで古いマイナーリリースへ固定する
    ir9
    ir9 2016/01/17
  • 検索ではあんまり出ないbashの便利技 - Qiita

    bashでは記号類をたくさん使うので、この書き方は何?と思っても検索でなかなか出てこないことがあると思う。 そこで知っていると便利なコマンドを残しておく。 随時追記予定。 確認に使用したbashのバージョンは以下のとおり。

    検索ではあんまり出ないbashの便利技 - Qiita
    ir9
    ir9 2015/09/21
  • Linuxでzipファイルの中身を展開せずに見るにはlessがおすすめ - カタカタブログ

    (※2015/3/10追記 記事の続きの検証記事を書きました) lessでzipファイルの中身が見えるわけ 〜LESSOPENとlesspipe.sh〜 - カタカタブログ Linux上でzipファイルの中身を見たいとき、いちいち解凍・展開するのは面倒。そんなときはlessコマンドを使うのが一番てっとり早くておすすめ。lessコマンドの引数に普通にzipファイルを渡すと、なんとそのまま中身が表示される。 lessでzipファイルの中身を見る $ less test.zip Archive: test.zip Zip file size: 460 bytes, number of entries: 3 -rw-r--r-- 3.0 unx 0 bx stor 15-Mar-04 09:08 test1.txt -rw-r--r-- 3.0 unx 0 bx stor 15-Mar-04 0

    Linuxでzipファイルの中身を展開せずに見るにはlessがおすすめ - カタカタブログ
    ir9
    ir9 2015/03/06
  • 「192.168.0.100/24」のネットワークアドレスを即答するには? ipcalcコマンド

    「192.168.0.100/24」のネットワークアドレスを即答するには? ipcalcコマンド:ネットワーク管理の基Tips TCP/IPネットワークの設定を手動で行うとき、IPアドレスだけでなくサブネットマスクについても正しい情報を指定する必要があります。「192.168.0.100/24」のようにマスク長が計算しにくい値のときは、ipcalcコマンドを使うと簡単に計算できます。

    「192.168.0.100/24」のネットワークアドレスを即答するには? ipcalcコマンド
  • cpで大量のファイルをコピーした(4億3200万件、39TB)

    GNUのcpを使って大量のファイルをコピーしたところ、cpの設計上の問題で、極めてコピーが遅かったというお話。 My experience with using cp to copy a lot of files (432 millions, 39 TB) よう。俺は最近、大量のファイルをコピーする必要があったんだが、UNIXは20年もやってきた俺の経験からも、cpの挙動には驚かされたし、俺の意見はコミュニティに共有されるべきだと思う。 環境:古いDellのサーバー(2コア、初期メモリ2GB、追加して10GB、Ubuntu Trusty)と、新しいDellのストレージ格納機(MD 1200)にある、12個の4TBディスクでRAID 6が設定してあって、全体で40TBの要領を持ち、二つのドライブが同時に失敗しても問題ない環境。サーバーは遠隔地バックアップに使われていて、ディスクへの書き込みし

    ir9
    ir9 2014/09/13
  • CentOS6のプロセス数の上限 | shinobe.org

    2014年5月21日 Linuxにはリソースを制限するためにulimitという仕組みがあります。 ulimit コマンドに割り当てる資源を制限する http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230911/ CentOS5までは、ユーザー1人が起動できるプロセス数は無制限でした。 $ ulimit -u unlimited CentOS6では、1024が上限として設定されています。 $ ulimit -u 1024 そのため、Apacheなど多数のプロセス(スレッド)を生成するサービスでは、この上限に達してアプリケーションが動作しない場合があります。 この設定値を変更するには、/etc/security/limits.d/90-nproc.conf を変更し再起動します。以下の例では、1024から2048へ変更しています。 変更前

    ir9
    ir9 2014/07/18
  • mvコメンドでファイル名を変えたい時にpathを全部打つのが面倒くさい - 文字っぽいの。

    いままで tabで補完できるとは言え、面倒ですね。 $ mv path/to/file/old_file_name.txt path/to/file/new_file_name.txt これから ちょろいですね。 $ mv path/to/file/{old_file_name,new_file_name}.txt

    mvコメンドでファイル名を変えたい時にpathを全部打つのが面倒くさい - 文字っぽいの。
    ir9
    ir9 2014/05/08
  • /etc/cron.d/以下にドットを含むファイルを配置しても無視される - $shibayu36->blog;

    先日、/etc/cron.d/にファイルを設定してるのに、何故かcronが起動してくれないという問題があった。その時は/etc/cron.d/crontab.develというファイルを配置していた。 何でかなーと思ってman cronしてたらこういう記述を見つけた As described above, the files under these directories have to be pass some sanity checks including the following: be executable, be owned by root, not be writable by group or other and, if symlinks, point to files owned by root. Additionally, the file names must conf

    /etc/cron.d/以下にドットを含むファイルを配置しても無視される - $shibayu36->blog;
    ir9
    ir9 2014/04/26
  • コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ

    不慣れな環境を不意にいじった時にあるあるネタ。 とりあえずー とか言って勢いで書いたsetupスクリプトを実行してみたら意外と時間かかって、 ちょっと目を離した隙にsshの接続が切れちゃいました! 。。。ありますよね。ほんとよくありますよね。 そうなる予感はあったんだ なんて後の祭りです。ふとした油断から、screenもnohupすらも使わずにやってしまって、こんなことに。 shellがHUPしなかったからプロセスは生きてるものの、ログが見れないから進行状況がわからない。 うまく行ってるのかどうかモヤモヤした気持ちのまま、プロセスが終わるのをじっと待つ。。。 まぁ実に切ないです。 こんな時、いつも思うこと。 このプロセスの出力、もっかいstdoutに繋げられたらいいのに。。。 はい。というわけでつなげましょう。 長い前座ですみません。 切り離したプロセスを用意 #!/bin/bash wh

    コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ
    ir9
    ir9 2014/02/08
  • なるべく書かないawkの使い方 - ザリガニが見ていた...。

    awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基動作 awkの基動作は、とってもシンプルである。

    なるべく書かないawkの使い方 - ザリガニが見ていた...。
  • wgetでWebの引っ越し | ゴミ箱の中の雑記帳

    日々の出来事やその感想、くだらない (かもしれない) 衝動買いの顛末、主にICT関連の個人的なメモなど、およそ他人の役には立たないであろうことをつらつらと書き散らかしています。 あるサイトのコンテンツをまとめて別のサイトに移したいような場合、一番楽なのはたぶんrsyncとかでがばっと持って行くこと、という気がするけど、実はwgetを使うのがかなり楽ちんだということが分かった。たまにしかこういうことしないので、すぐにオプションを忘れてmanを通読することになるので、ここに覚え書き。 % wget -rpkK -l2 -nH --cut-dirs=1 http://www.example.com/top/ これで、そのページからリンクされているCSSや画像なんかも含めてごっそり手元に保存できる。ポイントは-r, -k, -p あたり。 -r: リカーシブにリンクをたどってくれる。 -l?でどれ

  • less の tail -f モード的な何か - 宇宙行きたい

    今、衝撃的な事実が社内 IRC に何気無く流れてた。 もう、これを知らなかったせいで無駄にした時間を想像するだけで泣きそうになった。 id:sett-4 : (less で) shift+Fでtail -fモードに。Ctrl+Cで脱出 もう、当どれだけ今まで、その二つを行き来していたか…… orz

    less の tail -f モード的な何か - 宇宙行きたい
    ir9
    ir9 2011/02/19
  • "set -e": 実行コマンドが0以外の終了コードの場合、シェルスクリプトを終了する - 元RX-7乗りの適当な日々

    「シェルスクリプトの実行過程でエラーが発生した場合に処理を止めたい」・・・それをすごくシンプル(簡単)に実現したい場合に使えます。 例えば、以下のようなシェルスクリプトを書いた場合、、、 #!/bin/sh mkdir /tmp/hoge/fuga touch /tmp/hoge/fuga/test.txt 実行結果は以下のようになります。 $ ./test.sh mkdir: ディレクトリ `/tmp/hoge/fuga' を作成できません: そのようなファイルやディレクトリはありません touch: `/tmp/hoge/fuga/test.txt'にtouchできませんでした: そのようなファイルやディレクトリはありません/tmp/hogeディレクトリが存在しないので、/tmp/hoge/fugaのmkdirでこけます。まぁ普通ですよね。。。 が、何も考えずに書くと、↑のように、その

    "set -e": 実行コマンドが0以外の終了コードの場合、シェルスクリプトを終了する - 元RX-7乗りの適当な日々
    ir9
    ir9 2010/12/27