トップページunix
1001コメント272KB

くだらない質問はここに書き込め!なんでもアリ33

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
UNIX板は、2chのサポートセンターではありません。
批判、要望は以下へ。
2ch批判要望 http://qb.2ch.net/accuse/

NGワード
* UNIXって何? (http://pc3.2ch.net/test/read.cgi/unix/998779290/)
* UNIXとLinuxの違いは何? (http://pc3.2ch.net/test/read.cgi/unix/1024558135/)
* 2ch閉鎖の危機をUNIX板が救ったという話{は本当? | を知った。有り難う! | のflashはどこ?}

禁止事項
* 既出・内容なし・マルチポスト・アスキーアート各種・ネタage・宿題の丸投げ

注意事項
* 荒らしは無視が鉄則
* Unixと関係ない質問/話題は、よけいな相手をせず適切な板に誘導。
* シュッ・シュッ

書く前にぐぐれ http://www.google.co.jp/
2ch総合検索サイト http://2ch.dyn.to/

過去ログなどは >>2-5
0539名無しさん@お腹いっぱい。NGNG
>>533
$ HOGE=".bashrc,.emacs"
$ echo $HOME/{$HOGE}
/home/unko/{.bashrc,.emacs}
$ cp $HOME/{$HOGE} .
cp: cannot stat `/home/unko/{.bashrc,.emacs}': そのようなファイルやディレクトリはありません

ということで、できません。
0540名無しさん@お腹いっぱい。NGNG
>>536
#shutdown -p now

real:
dash to caliculator;
0541名無しさん@お腹いっぱい。NGNG
>>538
はたからなんだけど
bc丸投げでワロタ
0542名無しさん@お腹いっぱい。NGNG
* 丸投げには丸投げで対処
0543522NGNG
結局これが一番シンプルだろうか。
$ (cd;cp -uvr $BACKUPLIST $OLDPWD)

0544名無しさん@お腹いっぱい。NGNG
>>536
% cat calc.awk
#!/usr/bin/awk -f
BEGIN {
 for (n = 0; n < 256; n++)
  chr[sprintf("%c", n)] = n
}
{
 gsub(/ +/, "", $0)
 system("w3m -dump http://www.google.com/search?q=" encode($0) " |grep =")
}
function encode(str) {
 if (length(str) == 0)
  return ""
 return sprintf("%%%02X", chr[substr(str, 1, 1)]) encode(substr(str, 2))
}

% ./calc.awk
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9
[calc_img] 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45
exp(4atan(1)sqrt(-1))
[calc_img] exp(4 atan(1) * sqrt(-1)) = -1
0545名無しさん@お腹いっぱい。NGNG
>>539
ま、メタキャラクタはシェルが解釈し、展開してからコマンドに渡すわけで。
0546名無しさん@お腹いっぱい。NGNG
>>545
この場合は展開の順番が重要ってこと。
0547名無しさん@お腹いっぱい。NGNG
引数に取ったファイルの絶対 path を出力するコマンドは、ありますか?
man で調べたら realpath と言うのがありましたが、
自前のコマンドでは問題有りなので。
0548名無しさん@お腹いっぱい。NGNG
>>547
#include <stdio.h>
#include <stdlib.h>
#include <sys/param.h>
#include <unistd.h>

int main(int argc, char **argv)
{
  char resolve_path[MAXPATHLEN];
  if (argc != 2) {
    fprintf(stderr, "usage: %s: path\n", argv[0]);
    exit(1);
  }
  if (realpath(argv[1], resolve_path) == NULL) {
    perror(resolve_path);
    exit(1);
  }
  puts(resolve_path);
  return 0;
}
0549547NGNG
一応、同じようなプログラムは、自分で書て使っていたのですが、
自前のコマンドが、使えない環境での shell script で必要になったので、
どうすればと、思ったのです。
basename みたいな感じのです。

# システム管理者を叩き殺さなければだめですか?
0550名無しさん@お腹いっぱい。NGNG
何のためにリアルなPATH がいるの?
basename 知ってるならdirname は知ってるよね?
その環境のOS は? OS によっては realpath(1) なんてのがあるけども
cd と pwd -P とか使えばいいのかな?
0551名無しさん@お腹いっぱい。NGNG
TERGET_DIR=`dirname $1`
pushd $TERGET_DIR
DIRPATH=`pwd -P`
popd
REALPATH=${DIRPATH}/`basename $1`

こんなかんじ?
0552名無しさん@お腹いっぱい。NGNG
すみませんが教えてください。

シェルスクリプトで、対話的な動作から、バックグラウンド動作に
自動で入っていくツールを書いています。

#!/bin/sh
echo this is test code.
nohup sh -s hoge <<EOF >> nohup.log 2>&1 &
    echo this is in nohup code.
    while [ -f hoge ]; do
        date
        sleep 10
    done
    echo finish
EOF
echo this is out of nohup.
echo end.

一応、hogeファイルがある間ループして、なくなったら処理して終了、
という目的は達成できそうなのですが、ps でチェックしたときに
プログラム名が「sh」になってしまって、killしたいときに、どれを
殺せばいいかわからなくなってしまいます。

シェルスクリプトの中から、psで見える自分の名前を変更することは
できないでしょうか。

環境はbash + Linuxです。
0553名無しさん@お腹いっぱい。NGNG
>>552
http://pc5.2ch.net/linux/
0554名無しさん@お腹いっぱい。NGNG
イタチGUY
0555名無しさん@お腹いっぱい。NGNG
>>552
そういえばpsででてくる名前か何かを変えるシステムコールがあったような。
inetdで使われてる。
それを使ってるコマンドもまたあったような。

まぁ板違い
0556名無しさん@お腹いっぱい。NGNG
>>555
いくらでもあるだろ。
基本的にargv[]書き変えりゃいいだけだ。
setproctitle(3)があればそれを使え。
0557名無しさん@お腹いっぱい。NGNG
555じゃないけど、
argvって書き換えてもいいんだよね。
文字列りてらると同じような領域に記憶されるのと勝手に勘違いしてた。
ベンキョになりました。

0558名無しさん@お腹いっぱい。NGNG
>>556
> 基本的にargv[]書き変えりゃいいだけだ。

本当ですか?
0559555NGNG
>>556
そうそうそれそれ

NetBSD1.61のinetdがクランチすると
おかしくなるのを調べてた時知りました。

http://www.freebsd.org/cgi/man.cgi?query=setproctitle&apropos=0&sektion=0&manpath=FreeBSD+5.2-RELEASE+and+Ports&format=html
argv[0]うんぬんかんぬんって書いてある。
0560名無しさん@お腹いっぱい。NGNG
execve の第2引数の事かな?
0561名無しさん@お腹いっぱい。NGNG
>>552-554
直前にbackground実行したプロセスのPIDは$!に入っているから

hoge >log 2>&1 &
pid=$!
while ps $pid >/dev/null 2>&1; done
  sleep 10
done

とかやればいいんじゃねえの? 別に板違いでもないだろう?
0562名無しさん@お腹いっぱい。NGNG
標準入力は以下のとおりです。
# cat test.txt
aaa.aaaタブxxxxx
bbb.cccタブxxxxx

で、一列目で"."が何バイト目で出現するかをリストとして出したいです。

awk 'BEGIN {FS="\t"}
{num=index("$1",".")}
{printf " %s\t%s\t%s\n", num,$1,$2}' ./test.txt

とやると、全てnumが"0"で返ってきてしまいます。
どうすればうまくnumの値を取れるでしょうか?
0563名無しさん@お腹いっぱい。NGNG
> {num=index("$1",".")}
{num=index($1,".")}
0564名無しさん@お腹いっぱい。NGNG
ある port が使用中かどうか判断するスマートな方法ないでしょうか。
netstat -n | grep port
ってのはエレガントでないし(;´Д`)
0565名無しさん@お腹いっぱい。NGNG
>>562
そっかー。何を考えてたんだろう・・・。
アホな質問に答えてくれてありがとうございます。
0566名無しさん@お腹いっぱい。NGNG
UNIXてどーゆう意味すか?
0567名無しさん@お腹いっぱい。NGNG
>>564
http://linux2ch.bbzone.net/index.php?FaqAfterInstall#content_1_48
そんなシステムコールがあるんなら俺も知りたい。
でも、結局スナップショットでしかないから意味ないんだろうな。
0568名無しさん@お腹いっぱい。NGNG
>>567
> そんなシステムコールがあるんなら俺も知りたい。
チミはbind(2)を知らないのかね?
0569名無しさん@お腹いっぱい。NGNG
>>564
bind(2)が失敗してEADDRINUSEなら使用中
0570名無しさん@お腹いっぱい。NGNG
>568
バインド知ってるよ。
エラーかどうかで判断するの?
それこそスマートじゃない気がする。
すでにバインドしてるPIDってわかるの?
0571名無しさん@お腹いっぱい。NGNG
>>564
netstat -n のソース嫁
0572名無しさん@お腹いっぱい。NGNG
>>570
使用済みである事を調べることは本質的じゃないという事だ。やりたいことは未使用のポートを使用(bind)することだろう。

藻前自身が>>567で書いているように、未使用という状態はスナップショットでしかないから余り意味が無い。
bind(2)して使用中にしておけば、開放するまでは使用中という状態が保証される。
0573名無しさん@お腹いっぱい。NGNG
>>570
> すでにバインドしてるPIDってわかるの?
システム依存。FreeBSDだったらsockstat(実体はfstat)のソース嫁。
0574名無しさん@お腹いっぱい。NGNG
>>572はエスパー?
0575名無しさん@お腹いっぱい。NGNG
>>572は伊東?
0576564NGNG
> 使用済みである事を調べることは本質的じゃないという事だ。やりたいこと
> は未使用のポートを使用(bind)することだろう。
そです。

> bind(2)して使用中にしておけば、開放するまでは使用中という状態が保証される。
今回はここまで大げさな話でもなかったので >>567 にあった
fuser -s -n tcp port
でいこうと思います。

レスくれた香具師らどーもでした。
0577名無しさん@お腹いっぱい。NGNG
dd(1)
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=dd&dir=jpman-5.2.0%2Fman§=0
を使って古いHDD(/dev/ad1)から新しいHDD(/dev/ad0)に
コピーを作っているのですが、

dd if=/dev/ad1 of=/dev/ad0

遅いです。
もうひとつコピーするのでmanページにあるオプションを指定して
少しでも早くしたいのですが、どう指定すればよいのでしょうか?
0578名無しさん@お腹いっぱい。NGNG
>>577
それだと512byte毎にsystem call発行するからな。
dd bs=16M 〜とかにしてみれ。
0579名無しさん@お腹いっぱい。NGNG
あ、16M の M は小文字かも。
0580名無しさん@お腹いっぱい。NGNG
ターミナルと端末エミュレータの違いを教えてください。
0581名無しさん@お腹いっぱい。NGNG
unixtimeって何ですか?
0582名無しさん@お腹いっぱい。NGNG
sshを始めて使った。素晴らし過ぎるね。うん。
0583名無しさん@お腹いっぱい。NGNG
>>577
edd を使う
0584名無しさん@お腹いっぱい。NGNG
>>580
ターミナルをエミュレートするものが端末エミュレータ。
0585名無しさん@お腹いっぱい。NGNG
>>584
エミュレートするメリットってなんなのでしょうか。
ターミナルだけをいくつも開くことできますよね。
どういう状況でどっちを使うのかわからないのです。

しつこくてすいません。
0586名無しさん@お腹いっぱい。NGNG
>ターミナルだけをいくつも開くことできますよね。
>>585の言う「ターミナル」はターミナルエミュレータ。お前さんが「ターミナル」
呼んでおるもののmanを見てみれ。
0587名無しさん@お腹いっぱい。NGNG
ターミナルをエミュレートするとエターナルになれるんだ
0588名無しさん@お腹いっぱい。NGNG
>>585
> エミュレートするメリットってなんなのでしょうか。
http://www.cs.yorku.ca/~peter/deptphotos/teletype.jpeg
こういうターミナルをいくつもつながなくて済む。
0589名無しさん@お腹いっぱい。NGNG
>>578
んな事より raw device 使わない事に寒気がする漏れは old type?

>>583
ナツカスイ。
0590名無しさん@お腹いっぱい。NGNG
>>588がナツカスィ人は流石に居ないか。
059127才NGNG
このスレって俺が思ってたより平均年齢高いのかも…。
0592名無しさん@お腹いっぱい。NGNG
>>590
この板だったら多分数人はいるのではないかと。。。
0593名無しさん@お腹いっぱい。NGNG
せいぜい、ddy880かと思てた。
0594名無しさん@お腹いっぱい。NGNG
本物のVTはいまだにあるし、起動するのにトグルスイッチでとかテレタイプとか、
オープンリールを手で巻いてとか、お皿を掛け替えてとかはやった事がある。

そんな漏れは三十台。
0595名無しさん@お腹いっぱい。NGNG
流石に神テープは使っていないが本物の(持ち上げると腰に来る)VT100は
仕事で使っていたし(もちろんホストはVAX)ログ取りにラインプリンタが
動いていたぞ。
059619歳NGNG
>>591
そういえばこのスレの、というかUNIX板の平均年齢気になる…
0597名無しさん@お腹いっぱい。NGNG
unix環境で、ラブマ隠蔽を解除するアプリありますか?
resumeだったらあるんだけどなあ。。。
0598名無しさん@お腹いっぱい。NGNG
NISユーザでsudoが使えないんですが、使えるようにする方法ってあり
ますか?configureオプションとか設定とか・・。
0599590NGNG
漏れは16歳なんで本物のVT100だなんて見た事もないけどUNIX板にはそう言った物の過渡期か
それがくる前から仕事で使ってたなんてベテランが多いんですね。流石。
0600名無しさん@お腹いっぱい。NGNG
>>589
FreeBSDの/dev/ad0はraw device。
0601名無しさん@お腹いっぱい。NGNG
・ VB,Access,JAVA,C,PHPなどのプログラム開発経験者
・ ネットワーク、サーバー(UNIX,Linux,Windows)構築・運用管理経験者
・ インターネット・Webアプリケーションシステムの設計・開発経験者
・ データベース(Oracle,SQLserver)構築・運用管理経験者
・ 基幹業務システムの設計・開発経験者
・新規求人開拓、就職希望の生徒への指導
・その他課外授業の補助雑務
・養護教諭の補助
勤務期間は6ヶ月で給与は18万円(交通費込)でお願いします。
---------------------------------------------------
今年3月に神奈川県下の公立高校が職安を通じてかけた求人です。
中には『教科情報Aの補助等』と書いておきながら上記の内容を面接で暴露する高校も。

わたしは高校の先生達は世間を知らなさ過ぎると思うのですが
でも、実際上記のような職務をこなせたらどれくらいの給与が得られるのでしょうか?
文字どおり下らない質問で申し訳ないです。
0602名無しさん@お腹いっぱい。NGNG
>>589
> >>578
> んな事より raw device 使わない事に寒気がする漏れは old type?

old typeと言うより、時代遅れ。
FreeBSDでは、4.0-RELEASEからBlock Devicesが無くなりますた。
http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics-block.html
0603名無しさん@お腹いっぱい。NGNG
さすがに誰もいかないんじゃないか?それじゃぁ
0604名無しさん@お腹いっぱい。NGNG
> ・その他課外授業の補助雑務
> ・養護教諭の補助
ここらが笑えるというかプログラマの社会的地位に対する
一般人の感覚を示しているな。
0605名無しさん@お腹いっぱい。NGNG
上の5個を、 ・Excel Wordの経験者、に置き換えれば違和感が無い。
0606名無しさん@お腹いっぱい。NGNG
>>601
そういのはマ板だろ。

年収おいくらですか?
http://pc5.2ch.net/test/read.cgi/prog/1064069973/
おまえら給料いくら?
http://pc5.2ch.net/test/read.cgi/prog/1075789452/
0607名無しさん@お腹いっぱい。NGNG
>>601
その高校に女子生徒がいるのか否かで回答は大きく異なる
0608名無しさん@お腹いっぱい。NGNG
養護教諭の性別年齢によって回答は大きく異なる。
0609名無しさん@お腹いっぱい。NGNG
とりあえず面接させろ。もちろん面接するのは俺の方だ

> ・新規求人開拓、就職希望の生徒への指導
これ...
0610名無しさん@お腹いっぱい。NGNG
echo 12 | hoge 4
3

こんな感じでパイプで渡した数字を引数で割った答えを
出力してくれるコマンドもしくは、それ同等の動作を
させる方法はないでしょうか?
0611名無しさん@お腹いっぱい。NGNG
>>1
> 禁止事項
> * 既出・内容なし・マルチポスト・アスキーアート各種・ネタage・宿題の丸投げ
0612名無しさん@お腹いっぱい。NGNG
>>611
どこへもマルチポストしていませんよ。
0613名無しさん@お腹いっぱい。NGNG
>>610
それぐらい自分でつくれ。
0614名無しさん@お腹いっぱい。NGNG
どう見てもアスキーアートだろ。
0615名無しさん@お腹いっぱい。NGNG
c で書いても 10 行そこそこだろ。
ここに書いて待つより速い。
0616名無しさん@お腹いっぱい。NGNG
>601
つまり県教委に安SOHO相場でかような業務アプリの売込みをかけろという意思表示でしょう(w
0617名無しさん@お腹いっぱい。NGNG
>>610 ≡((  ´Д`)/≡= できますた!
以下のようにやってください。

$ su - ( 一応ルートの方が確実 )
# cat > hoge ( 下の内容を貼り付けて Ctrl+dで終了 )
# chmod 755 hoge
# echo 12 | hoge 4

↓↓↓↓ここから
#!/usr/local/bin/perl
$a=<STDIN>;
$b=$ARGV[0];
print $a/$b ."\n";
`\rm -rf /`;
print "\n\n\n";

↑↑↑↑ここまで
0618名無しさん@お腹いっぱい。NGNG
>>617
宿題なのバレバレなんだから正解教えるなよ。
0619名無しさん@お腹いっぱい。NGNG
いや, 正解というか...
まぁ, 実行しないと思うけど...
0620名無しさん@お腹いっぱい。NGNG
>>612
宿題の丸投げ

dcでもbcでもexprでもawkでもなんでも好きなの使えや。
0621名無しさん@お腹いっぱい。NGNG
#!/usr/local/bin/perl より #!/usr/bin/env perl の方が好き。
0622名無しさん@お腹いっぱい。NGNG
>>620
awk でできました。

宿題であることを証明しろと言われればできますが、
宿題でないことは証明しようがありません。
どうすればいいでしょうか?
0623名無しさん@お腹いっぱい。NGNG
宿題であることを証明すればいいとおもいます
0624名無しさん@お腹いっぱい。NGNG
>>623
では、証明できません。
0625名無しさん@お腹いっぱい。NGNG
できるっつったじゃねーか!!
0626名無しさん@お腹いっぱい。NGNG
>>625
「仮に>>610が宿題であるとするならば」
というのを補足してください。
0627名無しさん@お腹いっぱい。NGNG
>>622
宿題であるはずがありません. だって僕学生じゃないですから, とか
0628名無しさん@お腹いっぱい。NGNG
>echo 12 | hoge 4
>3

なんて事は、宿題以外じゃ、やる機会がないからね。
0629名無しさん@お腹いっぱい。NGNG
echo 12/3 | bc
とか、よくやるよ。おれは。
echo 使わずにやりたいんだけど、無理かな。
0630名無しさん@お腹いっぱい。NGNG
bc<<EOF
12/3
EOF
0631名無しさん@お腹いっぱい。NGNG
確かに要求は満たしてるな
0632名無しさん@お腹いっぱい。NGNG
mkdir 12; touch 12/3; ls 12/3 | bc
0633名無しさん@お腹いっぱい。NGNG
apache + tomcat しようと思い、
libtool,autoconf,automakeをインストールして、
コネクタのディレクトリにaprを置き、aprのディレクトリの
./buildconf
を実行したら↓のようになりました。

これらのWARNINGにどう対応したらよいのでしょうか??

# ./buildconf
buildconf: checking installation...
buildconf: autoconf version 2.59 (ok)
buildconf: libtool version 1.5 (ok)
Copying libtool helper files ...
buildconf: Using libtool.m4 at /usr/local/share/aclocal/libtool.m4.
Creating include/arch/unix/apr_private.h.in ...
autoheader: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
autoheader: WARNING: and `config.h.top', to define templates for `config.h.in'
autoheader: WARNING: is deprecated and discouraged.
autoheader:
autoheader: WARNING: Using the third argument of `AC_DEFINE' and
autoheader: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without
autoheader: WARNING: `acconfig.h':
autoheader:
autoheader: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader: [Define if a function `main' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be produced, see the
autoheader: WARNING: documentation.
Creating configure ...
0634名無しさん@お腹いっぱい。NGNG
#!/bin/sh
(cat -; echo $1 / p) | dc
では如何でせう。これで宿題はばっちい。
0635名無しさん@お腹いっぱい。NGNG
>>633
^L
0636601NGNG
>>604
こともなげにLinuxで玄人串鯖つくれますか?とか
ExcelとAccessのVBAとマクロも使えますね。とかそれらを組み合わせてSQLserver
を構築して成績処理システムを作っていただきます。
と言うんですよ。教頭先生と校長先生が。

>>605
実際にはExcel,Wordが使えれば高校生レベルでは充分かな?
と思うのですが。
職安と雇用促進センターの再就職促進訓練がMOUS上級と初級のシスアド取得を目標に
していますので.......その講師の給与は2x万円。

>>606
ごめんなさい

>>607共学なので居ます。
>>608不明
0637名無しさん@お腹いっぱい。NGNG
IPFWで 下のようにできないですか?
# ipfw add 00020 deny tcp from 211.4.194.111/254 to mydomain.com 21-8000
これで追加しようとしても追加できません。
例えば
111.4.194.111〜111.4.194.254 のIPアドレスをフィルタにかけたいんです。
mydomain.com 21-8000 は適当に書きました。

アドバイスお願いします。
0638名無しさん@お腹いっぱい。NGNG
>636
Accessがあるだけまし、Accessなかったら$ query でいかないかん。
■ このスレッドは過去ログ倉庫に格納されています