>>4829 68user ftpのログを取得するAIXの場合の例です。 #vi /etc/inetd.conf (ftpのエントリーで最後に「-l」または「-d」オプションを追加) ftp .... /usr/sbin/ftpd ftpd -l または ftpd -d (転送ファイル名を確認するだけであれば -l オプションの方がログが少なくて済みます) #refresh -s inetd (inetdデーモンをリフレッシュ) #vi /etc/syslog.conf (syslog設定ファイルにftpのログを取得するためのエントリを追加) daemon.info /tmp/ftpd.log (daemon.debugであればもう少し詳しい詳細が確認できます) #touch /tmp/ftpd.log (ログファイルを作成) #refresh -s syslogd (syslogデーモンを再起動) |
>>4931 バンガード ごめんなさい。 4929へのコメントでした。 |
>>4932 バンガード お礼が遅れ申し訳ありません。 ご説明ありがとうございます。 どちらにしてもデーモンの再起動(リフレッシュ)が 必要なんですね。 |
Solaris8 なのですが、シェルを実行する際、 ./シェル名としないと起動できません。 「./」で起動するにはどうしたらよいのでしょうか。 「./」で起動できるアカウントがあるので、違いを比べてみると PATHの変数が異なっていました。 PATH=./:/usr/bin・・・・・ とか PATH=・・・・/usr/bin: PATH変数の中に、「./」の設定がある。 PATH変数が「:」で終わっている。 「./」を指定しないと動かないアカウントは、両方がない状況と なっています。 どのように環境変数を設定すればよいのですか。 |
>>4934 べた > 「./」で起動するにはどうしたらよいのでしょうか。 「./」なしで起動したいということでしょうか? PATH 環境変数に ./ を含めれば可能ですが、お勧めはしません。 特定のディレクトリにスクリプトを集めて、そのディレクトリを PATH 環境変数に含める方がよいと思います。 なお、同じ名前のコマンド(スクリプト)が複数のディレクトリに 存在する場合は、PATH 環境変数で先に見つかったコマンド (左側のパスから順番に探しに行きます)が実行されます。 |
>>4934 べた PATH に . を含めない理由は以下のとおり。 ・セキュリティホールとなる。PATH=.:/bin:/usr/bin:/usr/local/bin となっていて、 cd ~foo; ls としたときに /home/foo/ls が存在したら、そのプログラムを実行 してしまう。cd /tmp; ls も同様。そのプログラムがどんな悪さをするかはわからない。 ・PATH に . を加えると、カレントディレクトリによって実行されるコマンドが異なる 可能性があるため、説明がめんどくさいし、はまりやすくなる。例えば /bin と /usr/bin に同名のコマンドがあるとして、コマンド foo をタイプしたときに、 - カレントディレクトリが /usr/bin の場合は /usr/bin/foo が実行される - カレントディレクトリが /usr/bin 以外の場合は /bin/foo が実行される というのはわかりづらい。 ・csh・tcsh・bash・zsh など、今どきなシェルを使っている場合は、 ./ からタイプした方がファイル名補完を使えるため、入力が速い。 |
>> 4935 >> 4936 返事が遅くなってすみません。 分かり易く説明ありがとうございます。 勉強になります。 |
Cシェルでのリダイレクションについてなのですが コマンドの実行結果で、標準エラー出力を捨てて、標準出力 だけを見たいのですがどうすればよいのですか。 cat file.txt >& /dev/null では、標準出力、標準エラー共に捨てられますが、 標準エラーを捨てて、標準出力を表示したい。 cat file.txt 2 >& /dev/null cat file.txt >2& /dev/null cat file.txt >& 2 /dev/null cat file.txt > /dev/tty >2 /dev/null cat file.txt > /dev/tty >& /dev/null とやってみたのですが、どれも上手くいきません。 どうすればよいのでしょうか。 環境は、 Solaris8 Cシェル です。 |
>>4942 べた tty 宛でよいなら、サブシェルを使って ( cat file.txt > /dev/tty ) >& /dev/null です。 |
>> 4944 ありがとうございます。 > tty 宛でよいなら、サブシェルを使って > ( cat file.txt > /dev/tty ) >& /dev/null > です。 出来ました。 tty 宛でよいなら、サブシェルを使って tty を使わない方法もあるのですか。あるのでした教えてください。 サブシェルとは。 「( command )」とはどのよな使い方でしょうか。 良い案が思い浮かばなかったので、「cat file.txt > /dev/tty」で 表示ができたので、 /dev/tty を使えば上手くできるのではないかと。 |
>>4944 べた tty を使わないなら、 ( cat file.txt > out.txt ) >& /dev/null などとファイルに保存する。 あるいは mknod や mkfifo で名前付きパイプを作ってそこに 流すなど (さすがに標準エラー出力を捨てるためにここまで やるのはバカバカしいですが)。 mkfifo out cat out & ( cat file.txt > out ) >& /dev/null あるいは sh -c "ls cat file.txt 2>/dev/null" などと sh で逃げる手もあります。 csh でやるなら、これ以外の方法はおそらくないです。 > サブシェルとは。 > 「( command )」とはどのよな使い方でしょうか。 こちらをどうぞ。 http://x68000.q-e-d.net/~68user/unix/pickup?%A5%B5%A5%D6%A5%B7%A5%A7%A5%EB |
>> 4945 ご説明ありがとうございます。 Windows XPの別端末で書き込みをしたら 「エラー : 内部エラーが起こりました。」 の画面が表示されました。 何かあるのでしょうか。 |
こんにちは.linuxを使い始めたものです. パイプに関する質問です.環境はVine Linux のbashです. あるファイル名(ここではtestfile)のものを検索して, さらにその中身に"test"という文字列を含むかどうかを 知りたいと思っています. 対象のファイルがひとつとは限りません.例えば, ........... ../Data1/testfile ⇒(中身)This is test file. ........... ../Data2/testfile ⇒ (中身) This is hoge hoge. といった感じで同じ名前のファイルが別のディレクトリにあります. cat,find, grepを組み合わせれば出来そうな気はしているのですが, findしてリスト表示されたファイル名を引数としてcatコマンドに 渡すことができません. 自分なりにいろいろ検索しましたが,よくわかりませんでした.. よろしくご教授ください. |
>>4947 素人 親ディレクトリ以下の testfile というファイル名のファイル中に test という文字列があるものをリストアップ、であれば % find ../ -name testfile | xargs grep -l test でしょうか。それを cat するなら % find ../ -name testfile | xargs grep -l test | xargs cat ですかね。 |
>>4948 68user できました!答えはxargsでしたか. 勉強不足で恐縮です.ありがとうございました. |
RSA1のプログラムを実行するにあったってエラーが多くでます。これのヘッダファイルはどこにあるのでしょうか。 |
>>4950 佐藤丈師 OpenSSL に同梱されていますので、OpenSSL をインストール済みであれば /usr/include/openssl や /usr/local/openssl/include などにあるはずです。 コンパイル時に -I /usr/include/openssl などのオプションを付加してください。 |
初めて投稿します。 全くの初心者ですが、次のことをお尋ねします。 Debian4.0ですが、デスクトップにアイコンを作成し、クリックすると プログラムを起動するようにしたいのですがどのようにすればいいの でしょうか。 #su - abc ’abcでログインし、「sh /usr/lib/scripts/claim/ORC_CLAIM_SERVER.sh 5001 /var/tmp」 ktermに記述などお尋ねします。 |
>>4952 kawasaki やり方はインストールしたデスクトップ環境 (GNOME とか KDE とか) によると思います。 が、お使いのデスクトップ環境をお教えいただいたとしても、ここ数年は UNIX 系 デスクトップ環境をいじっていないので、わたしはさっぱりわかりません。 |