
Redhat linux + Perl(↓バージョン)
This is perl, v5.6.1 built for i386-linux
Copyright 1987-2001, Larry Wall
でunlinkとrenameがうまく使えないのは何故でしょうか?
mkdirやmvも使えなかったように思います。rmやmkdirなどの
linuxコマンドの権限は700にいじってあります。
関係あるのでしょうか?ただ755に戻してmvをしてみましたが
やっぱり使えませんでした。私のミスでなければrootで
実行してもうまく動きませんでした。使える関数使えない関数
あるのでしょうか。もしそうだとしたら、その環境使える関数の
リストを列挙するスクリプトやコマンドはあるのでしょうか?
よろしくお願いします

No.2ベストアンサー
- 回答日時:
パーミッションの問題と言うよりもそのファイルの所有者の問題じゃないですか?
unlinkやrenameがきかないファイルの所有者が「nobody」になっていませんか?
例えば
open D, "> a.txt";
print D '';
close D;
unlink "a.txt";
これでファイルが作れて削除できるのであれば所有者の問題です。
この回答への補足
よく見ると質問文自体間違っていて意味不明ですね。パーミッションの適応範囲については少し調べてみることにします。皆様こんな質問に付き合っていただきましてありがとうございました。
補足日時:2005/06/29 20:00ありがとうございます。こちらのテストコードを実行してみてファイルも出力されない事に気づいたので、ためしにこのフォルダの所属している親フォルダ、祖先フォルダのパーミッションを全て777にしてやってみたらファイルが出力され、そしてunlinkもすることができました。次に他のフォルダでは祖先ホルダのパーミッションが755などでも書き込みができていたので何かしっくりこなかったので、親フォルダだけを777にしてみたところこちらもファイルを作成、削除、リネームすることができました。とりえずこれで質問の件の理由は分かったのですけど、祖先フォルダが影響するのはどんな時なのでしょうか。
実行属性は祖先まで影響するのですよね?混乱してしまいました。ファイルの属性については分かりやすいのですけど、フォルダの属性がよく分からないです。フォルダの実行属性ってプログラムがフォルダの中身を見る権限なのでしょうか?Rとの違いもよくわからないです。。
No.3
- 回答日時:
mv, mkdir などのコマンドのパーミッションは全然関係ないです.
ちょっと気になるのは当該ディレクトリのパーミッションですかねぇ.
まあ気になるといえば Perl のバージョンも気になりますが....
やっぱりコマンドのパーミッションは関係なかったのですね。ずばり当該ディレクトリのパーミッションが駄目だったみたいです。あほな質問をしてしまいなさけなく思ってます。すみません。ご返信ありがとうございました

No.1
- 回答日時:
具体的にunlinkやrenameをどのように記述していますか?
ファイルの構成やディレクトリの構成とかも書いて頂けるとより詳しく解説できます。
この回答への補足
ありがとうございます。テストしてみたのは
以下の様なシンプルなものと
#!/usr/bin/perl
print "Content-Type: text/plain\n\nOk!";
rename ("./guest.htm", "./guest.bak");
こちらのソースに$lockfileを設定したものなどです
$lockfile ="./filename";や
$lockfile ="filename";等を加えて
http://homepage1.nifty.com/glass/tom_neko/web/we …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl で ディレクトリ及びサブ...
-
Perl-CGI で排他制御はどうすれ...
-
ディレクトリ名の変更
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
-
MATLAB グローバル変数の宣言
-
一行だけ読込
-
perlのflock関数でロックをかけ...
-
batファイルでrenameができませ...
-
openした後、closeしないでプロ...
-
readdir()で得られるファイル・...
-
Windowsで複数のファイルを同じ...
-
C言語でのファイルのデータ更...
-
python renameについて
-
awkスクリプトでダブルクォーテ...
-
file_exists関数について
-
デルファイ TabControl タブの...
-
Excelのマクロで改行を含んだテ...
-
パスから最後のディレクトリだ...
-
C言語で特定の行を抽出する方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーログ「\\x8ew\\x92\\xe8...
-
実行されない
-
perlのローカルプログラムでデ...
-
perl system関数 引数 フォルダ
-
readdir におけるフルパスでの...
-
Perl で ディレクトリ及びサブ...
-
ディレクトリ名の変更
-
perlからのexcel読み込み
-
perlのcdについて
-
コマンドプロンプトからperlを...
-
unlink 、renameが使えない理由
-
Perl-CGI で排他制御はどうすれ...
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
-
batファイルでrenameができませ...
-
MATLAB グローバル変数の宣言
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルの特定行を書...
-
awkスクリプトでダブルクォーテ...
-
window.open でのファイル指定方法
おすすめ情報