タグ

unixに関するakkun_choiのブックマーク (77)

  • wgetでサイト(ディレクトリ)を丸ごとダウンロード

    wgetでサイト(ディレクトリ)を丸ごとダウンロード 2007.12.14 Webマスター 自サイトを丸ごとバックアップしたり、あるディレクトリ以下をダウンロードして加工したいときがたまにある。 ■Macにwgetをインストールする http://www.gnu.org/software/wget/ http://ftp.gnu.org/gnu/wget/ # cd /usr/local/ # tar zxvf wget-1.10.2.tar.gz # cd wget-1.10.2 # ./configure # make # make install インストールされる場所。 /usr/local/bin/wget ■サイトを丸ごとダウンロードする $ wget -r -l 0 http://www.mysite.co.jp/index.html -r  –recursive ということ

    wgetでサイト(ディレクトリ)を丸ごとダウンロード
  • expectでssh sudoを自動化する方法

    このドキュメントの内容は、以下の通りです。 はじめに 実現するためのテクニック 解決策 関連項目 はじめに コンピュータを扱っているとこんなことがあるのではないでしょうか。 毎回同じコマンドを叩いている 運用しているサーバが多すぎる ひたすら、似たようなことを毎日やっていて、どうにかしたい、って思われてると思います。 sshでログインしているホストsudo が必要なケースもあるでしょう。 ssh でログインするたびに、sudo のパスワードを聞かれるのは、ウンザリします。 しかも、あと40台もサーバがあるのに、、、とかいうときです。 実現するためのテクニック ssh foo sudo bar を実現するために、いくつかのテクニック(オプション)を必要とします。 [2013-03-15-1] sshコマンドでsudoする方法 sudo は、端末が必要なので、sshに-tオプションをつかう

  • ssh自動ログインスクリプトをexceptコマンドで書けたのでメモ【Linuxコマンド】 : morituriのブログ

    exceptコマンドはCUIアプリケーションへの応答を自動化できるコマンド。 これを使ってsshログインするときのパスワード入力を自動化できる。 ■スクリプト # cat $(which ssh_srv01) #!/usr/bin/expect -f set timeout 2 spawn ssh user1@192.168.0.10 expect "password:" send "PassWord\r" interact ■実行結果 # ssh_srv01 spawn ssh user1@192.168.0.10 user1@192.168.0.10's password: Last login: Mon Jul 22 06:30:55 2013 from 192.168.0.1 $ 「spawn ssh ..」でsshコマンドを起動。 「password:」が出力されたら、「Pass

    ssh自動ログインスクリプトをexceptコマンドで書けたのでメモ【Linuxコマンド】 : morituriのブログ
  • lsを読まずにプログラマを名乗るな! - 秀和システム あなたの学びをサポート!

    LinuxMac OS X、BSD、SolarisといったUNIX系OSにおいて最も身近なコマンドであるlsのソースコード解説書です。UNIX系OSを使っているプログラマであれば、誰でもlsコマンドを日常的に使っていることでしょう。実際、lsコマンドを実現しているプログラムは汎用性が高く、大量のデータも処理できるよう作られており、そのソースコードを読み解くことはプログラマの成長にとって大変役立ちます。書は、C言語に習熟している人を対象に、GNU coreutiles 8.21のlsソースコードを解説します。lsのソースコードを読めば、マルチプラットフォーム対応の注意点、大量のデータを可能な限り継続処理する方法、実行性能や利便性とのバランスの取り方がわかります。 【サポートはこちら】→https://www.shuwasystem.co.jp/support/7980html/3943.

    lsを読まずにプログラマを名乗るな! - 秀和システム あなたの学びをサポート!
  • UNIXのディレクトリの意味 - adsaria mood

    先日、ある講習会に出ていたら「最近のエンジニアは意味も分からず英語を使っている」という話が出て来た。私自身も含めて全く同感!と思って聞いていたのだが、例えば米国人が好むTLA(3文字略語)*1も、新人エンジニアとかと話をしていると元の単語を知らずに使っていることが多い。別にトリビア的な知識として知っていても仕方ないのだが、物事の質を理解しようとしたら正式名称を知る必要があると思う。 TLAは元の単語を知って使っている人も多いがカタカナ英語は結構意味も分からずに使っているケースが多いようだ。例えば、UNIXやLinuxで使う“ディレクトリ”。なぜディレクトリをディレクトリと言うのか? 実は私も恥ずかしながら先週まで考えたことが無かった。ディレクトリはディレクトリであり、ファイルやサブディレクトリを格納する“入れ物”という認識で使っていた。ところが、英語のdirectoryにはいわゆるフォル

    UNIXのディレクトリの意味 - adsaria mood
  • xargs -P が激しく便利なのでメモ - おともだちティータイム

    xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列

    xargs -P が激しく便利なのでメモ - おともだちティータイム
  • wgetでURL構造を再現 - satospo

    Windows用のファイルダウンロードツール「Irvine」でおなじみの「URL構造を再現する」オプションは、wgetで次のとおりに指定すればマネできる。 $ wget URL -x -P /home/hogehoge/download/ 使うオプションは「-x」と「-P」です。役割は次のとおり(wgetのマニュアルより)。 -x --force-directories The opposite of -nd---create a hierarchy of directories, even if one would not have been created otherwise. E.g. wget -x http://fly.srk.fer.hr/robots.txt will save the downloaded file to fly.srk.fer.hr/robots.txt.

  • 時代はGNU screenからtmuxへ - このブログはURLが変更になりました

    GNU screenはもう古いので皆さんtmuxへ移行しましょう、という話。Gentooならemerge tmux。 スクリーンショット 手元のtmuxを撮ってみた。縦分割モード。ウィンドウマネージャはawesome。左のircクライアントはweechat。 家にもいくつかスクリーンショットがある。 tmuxへ移行する理由(メリット) 標準設定のままでもそれなりに使えるステータスバー 各ショートカットがコマンドベース(コマンドで操作ができる) 標準で縦分割機能搭載 GNU screenがたまに固まる問題(が発生するのは私だけ?)が発生しないかも ビュー専用のスクロールモード 柔軟なペイン制御 コピー&ペースト用のバッファを複数保持できる terminfo的にscreen互換 メモリ消費量が少ない(GNU screenの約1/5) 一部機能でマウスが使用できる(mode-mouse, mo

    時代はGNU screenからtmuxへ - このブログはURLが変更になりました
  • crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる

    今までナチュラルにcrontab -eでcron編集をしていたのだけど、実はこれはとてつもなく危ないやり方だった。ということを、今さら知った。 crontab -rの恐怖 crontabコマンドにはrオプション(Remove)があり、これを実行すると何の警告もなく全てが消え失せる。 macbook:~ ozuma$ crontab -l 15 * * * * /home/ozuma/bin/hoge.sh 0 9 1 * * /home/ozuma/bin/piyo.sh > /dev/null 2>&1 */5 * * * * /home/ozuma/bin/fuga.sh > /dev/null 2>&1 macbook:~ ozuma$ crontab -r macbook:~ ozuma$ crontab -l crontab: no crontab for ozuma macbo

    crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる
    akkun_choi
    akkun_choi 2012/07/24
    普通に使ってた
  • ./configure地獄に陥っている君へ - kuenishi's blog

    C++やCでプログラムを開発しているときに、依存ライブラリやら何やらの環境を沢山用意したくなりますよね?富豪ならここでVMware ESXiやKVMを使うところでしょうか。LLerなら、たとえばRubyPythonにはrbenvやvirtualenvがあります。FreeBSDを使っている人ならjailを使う場面ですね。ちょっと器用な人ならchroot(8)を使いこなしているかもしれません。しかしjailは私には窮屈だし、情弱な私はまさに今pficommonやらで困っていました。つまり、 ユーザ空間で 大して苦労もせずに いろんなUnix系OSで どんなものが入っていてもとりあえず 環境をコロコロ切り替えたいのです。これを手作業でやろうとすると沢山の環境変数をシェル毎に毎回exportする羽目になります。ld_configとか( ゚Д゚)ハァ?という感じですよね。rvmなんかよくできている

    ./configure地獄に陥っている君へ - kuenishi's blog
  • いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記

    はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニアインフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て

    いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記
  • pv コマンドでパイプの流れ監視する

    cles::blog 平常心是道 blogs: cles::blog NP_cles() « Android アプリのパーミッション、気にしてますか? :: 散髪しました » 2012/05/26 pv コマンドでパイプの流れ監視する  cli 19 1へぇ pv というパイプを監視するコマンドが面白かったのでメモ。 ivarch.com: Pipe Viewer pv - Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a pipeline. It can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is

    pv コマンドでパイプの流れ監視する
    akkun_choi
    akkun_choi 2012/05/28
    パイプの進捗
  • dotfilesをgithubで管理し始めた - すぎゃーんメモ

    つい勢いで新しいMacBookProを買ってしまいまして。せっかくなので新しい環境で一から色々と入れ直している。 この際だから、ということでずっとゴチャゴチャのまま放置していた設定ファイル集をgithubにあげて管理することにした。 GitHub - sugyan/dotfiles: my dotfiles configuration 今のところzsh, emacsの基設定など。 #!/bin/sh cd $(dirname $0) for dotfile in .?* do if [ $dotfile != '..' ] && [ $dotfile != '.git' ] then ln -Fis "$PWD/$dotfile" $HOME fi done というシェルスクリプトを作って、どんな環境でもgit cloneして持ってきたファイルたちが一発で$HOME以下にシンボリックリン

    dotfilesをgithubで管理し始めた - すぎゃーんメモ
  • 技術/shell/".bash_profile"と".bashrc"の使い分け - Glamenv-Septzen.net

    id: 383 所有者: msakamoto-sf 作成日: 2009-05-09 02:53:07 カテゴリ: シェルスクリプト [ Prev ] [ Next ] [ 技術 ] bash_profile, bashrcの基的な知識のメモ。bashの日語manページより抜粋&まとめ。 "~/.bash_profile"を読み込む場合 bashが対話的なログインシェルとして起動されるか、 --login オプション付きの非対話的シェルとして起動されると、/etc/profile からコマンドを読み込んで実行した後、以下の順番でファイルを探し、最初に見つかった読み込み可能なファイルからコマンドを実行する。 ~/.bash_profile ~/.bash_login ~/.profile "~/.bashrc"を読み込む場合 ログインシェルでない対話的シェルとして起動されると、~/.bas

  • ユニケージ開発手法 - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2022年2月) 独自研究が含まれているおそれがあります。(2022年2月) 独立記事作成の目安を満たしていないおそれがあります。(2022年5月) 広告・宣伝活動的であり、中立的な観点で書き直す必要があります。(2022年5月) 出典検索?: "ユニケージ開発手法" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL ユニケージ開発手法 (ユニケージかいはつしゅほう、英: Unicage software development method)とは業務システム用の商用開発手法の1つ。ベンチャー企業ユニバーサル・シェル・プログラミング研究所(USP

  • 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) - Glamenv-Septzen.net

    ホーム 検索 - ログイン | |  ヘルプ 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) [ Prev ] [ Next ] [ 技術 ] 何をいまさら当たり前の事を・・・と思われるだろう。 $ nohup long_run_batch.sh & SSHからログアウト後も実行を続けたいバッチジョブを、"&"を付けてバックグラウンドジョブとしてnohupから起動するのは定番中の定番である。 しかし、「nohupを使わなくても実行を続けることが出来る」やり方があったり、さらには「nohupを付けてもログアウト時に終了してしまう」パターンがあるとしたらどうだろう? そして、ある日あなたの後輩や同僚がこれらについてあなたに質問してきたら、あなたはどう答えるだろうか? 「Web上で検索したら見つか

  • 本を読む 関数型言語shの基礎文法最速マスター

    関数型言語shの文法一覧です。他の関数型言語をある程度知っている人がこれを読めば、shの基礎をマスターしてshを書けるようになっています。以下、Clojureあたりを想定して説明します。 注意:これは基礎文法最速マスターねたのパロディです。動作は物ですが、意味はコジツケです。 REPL shの処理系は、POSIX準拠のUnix系環境であれば標準で用意されています。REPLを起動するには、shを実行します。 sh すると、プロンプトが表示されます。 $ shのほかに、REPLに行編集機能を付けたbash・zsh・tcshなどもありますが、ここでは割愛します。 なお、REPLとして使うほかに、あらかじめ用意したスクリプトをshで実行することもできます。 sh hoge シーケンス shの扱うデータは、すべて、ある単位(ラインと呼びます)のデータが並んだシーケンスです。たとえば、seq関数(L

  • /tmp を使っていつも後片付けをしないエンジニアの方々へ - Standard ML of Yukkuri

    日常trap がとても便利だと思いました.trap [-lp] arg] sigspec ...]The command arg is to be read and executed when the shell receives signal(s) sigspec.具体的には rpm.sh などで使われている. RPM_SOURCE_DIR="/tmp/rpmsource-$fullname" RPM_BUILD_DIR="/tmp/rpmbuild-$fullname" trap 'rm -rf $RPM_SOURCE_DIR $RPM_BUILD_DIR; exit $?' EXIT SIGHUP SIGINT SIGTERM # 適当なシェルスクリプト... のように trap を書いておくと, スクリプトが終了したりシグナルを受け取りプログラムを中断したときに trap が発動し

  • cd系コマンド - hitode909の日記

    ディレクトリ移動するのが難しいので,いくつかコマンドを作って,いまどこに居るかに関係なく相対パスで移動できるようにしました. u function u() { cd ./$(git rev-parse --show-cdup) if [ $# = 1 ]; then cd $1 fi } これは,Gitのリポジトリのトップから相対パスでcdするコマンドです. 例えば,u libってやると,リポジトリのトップ以下のlibに行ったり,u ../でリポジトリの1つ上に移動とかできます. これは前に日記に書きました. Gitのリポジトリのトップレベルにcdするコマンド - hitode909のダイアリー f export __session_from=$PWD function f() { cd $__session_from if [ $# = 1 ]; then cd $1 fi } これは,

    cd系コマンド - hitode909の日記
  • syslogを押さえよう!

    ログの出力方法 「第1回:必読!ログファイルとディレクトリ」では、CentOS 5.2の/var/logディレクトリ以下に存在する、ログファイルとディレクトリについて説明しました。第2回は、このさまざまなログファイルの管理について説明します。 ログの出力方法という観点からみた場合、ログは、アプリケーションが独自の方法で出力したものと、Unix/Linuxにおける標準的なログ出力方法であるsyslogを利用して出力されたものとに大別できます。 アプリケーション独自の方法で記録されたログファイルとしては、/var/log/wtmpや/var/log/lastlogといったバイナリ形式のファイルがあります。また、ApacheやSamba、Squidなど、独自のログディレクトリを持つアプリケーションの多くも、独自の方法でログを記録しています。 一方、syslog は、独自のログ出力方法を持たない、