- - PR -
ls -alコマンドの属性表示について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-06-11 14:34
ls -alコマンドですが表示上、下記になります。
-r-sr-xr-x 1 root bin 7196 10月 18日 2002年 /usr/lib/utmp_update drwxr-xr-x 3 root bin 1024 2月 17日 2003年 . lrwxrwxrwx 1 root root 14 2月 17日 2003年 /usr/lib/lpmove -> ../sbin/lpmove ファイルの場合は最後の項目がファイル名称になりますが、 d:ディレクトリ時は.となってしまいます。 ディレクトリ名称自体を表示させたい場合は、どうすべきでしょうか? また、同様ですが、l:シンボリックファイル時はシンボリックファイル名のみ 表示させたい場合もどうすべきでしょうか? ご教示頂ければ幸いです。 [ メッセージ編集済み 編集者: 山ぱっぱ 編集日時 2005-06-11 14:46 ] | ||||||||||||
|
投稿日時: 2005-06-11 15:18
こんにちは。
えーと、こちらに返信で良いのかな…。 さて、当方の ls では、山ぱっぱさんのような出力にならないのですが、どのような環境で実行されてますか ? 具体的には、当方で“ls -al”もしくは“ls -al ディレクトリ”というコマンドを実行した場合、右端のカラムは、上位のディレクトリを含まないファイル名 ( basename と言うべきか… ) が表示されます。 当方の環境は、Fedora Core 1、ls (coreutils) 5.0 です。 alias は設定されてますが、せいぜい“ls=ls --color=tty”なので、大勢には影響ないかと思います。 また、“-l”オプションでは、シンボリックリンクはリンク先ファイル名の情報がどうしても出るようです。( 抑止するようなオプションは見当たりませんでした ) 目的によっては、別の手法が取れるかもしれません ( 例えば“-F”オプションとか ) ので、最終的な目的も教えていただけると、コメントしやすいかと思います。 以上、ご参考まで。 追記:一応 alias なしの ls も試してみましたが、出力は変わらずです。こんな感じ。 $ ls -al /usr/lib 合計 129676 drwxr-xr-x 72 root root 32768 5月 12 04:03 . drwxr-xr-x 16 root root 4096 4月 25 2004 .. drwxr-xr-x 4 root root 4096 3月 14 2004 GConf drwxr-xr-x 3 root root 4096 3月 14 2004 ImageMagick-5.5.6-Q16 -rw-r--r-- 1 root root 436 1月 7 2004 Mcrt1.o drwxr-xr-x 2 root root 65536 3月 14 2004 Omni -rw-r--r-- 1 root root 1240 1月 7 2004 Scrt1.o lrwxrwxrwx 1 root root 16 3月 14 2004 X11 -> ../X11R6/lib/X11 …(以下略) [ メッセージ編集済み 編集者: angel 編集日時 2005-06-11 15:31 ] | ||||||||||||
|
投稿日時: 2005-06-11 15:35
どうも早急なご返信ありがとうございます。
最終的には、業務でファイル&ディレクトリー&シンボリックの 各パラミッション情報を調査(設計書上で付き合わせ)します。 しかし、サーバ数も数百とあるので、dosバッチで簡易的なPGを 作成したのですが、ls -alコマンドですと下記のようにがディレクトリー &シンボリックが表示されない状況です。 理想は、ls -alコマンドで、ファイル時の表示(ファイル名が表示) に1度でしたいのですが。。 10数年、ホスト系業務だったんですが、ここ1年でクラサバ系の担当となり 日々悪戦苦闘する毎日です。 お手数ですが、ご教示頂ければ幸いです。 | ||||||||||||
|
投稿日時: 2005-06-11 17:29
えーと、環境は…(^^;
さて、ファイル種・パーミッション・ファイル名を純粋に列挙するのであれば、ls が向いているかどうかは微妙です。perl等でスクリプトを組んだ方が早いようにも思います。 ただ、代わりに -printf オプション付の find を使う手はあるかもしれません。 ・find /usr/lib -printf '%m %p\n' とか。 ファイルの種類を表示するオプションは無いようですが、次のような対処もできるでしょう。 ・find /usr/lib \( -type f -printf '- %m %p\n' \) -o \( -type d -printf 'd %m %p\n' \) いずれにしても、パーミッションが 8進 3〜4桁表示にはなりますが。 以上、ご参考まで。 [ メッセージ編集済み 編集者: angel 編集日時 2005-06-11 17:31 ] | ||||||||||||
|
投稿日時: 2005-06-11 20:07
環境もそうなんですが、何をやりたいのか分からないんですが...
・シンボリックリンクそのものを見たいのか、シンボリックリンクを 辿った先を見たいのか? ・ファイル名だけでよいのか?シンボリックリンク先のファイルの 情報は必要ないのか? といったあたり。 シンボリックリンクを辿るなら ls -alL とか。 数百台もあるサーバの情報をチェックしてつきあわせる必要があるなら、 そこでまたやらなきゃならないことがあるわけだし、それなら最初から Unixプログラマに専用のプログラムを書いてもらったほうが結局は ずっと少ない工数で済みそうな気がします。 # readdir()してstat()なりlstat()なりして、S_ISDIRマクロと # S_ISLNKマクロを使ってゆく感じ。 [ メッセージ編集済み 編集者: ぽんす 編集日時 2005-06-11 20:09 ] | ||||||||||||
|
投稿日時: 2005-06-12 01:42
angelさん、ぽんすさん、色々ありがとうございます。
超初心者の私目に教示頂きありがとうございます。 如何せん、触ってまだ数週間ですので、どう質問していいのかわからない私への 質問に際し、ご丁寧にありがとうございます。 ただ、調査する上で色々本、並びにインターネットを莫大に調べても良くわからなかったので、掲示させて頂いております。 >・シンボリックリンクそのものを見たいのか、シンボリックリンクを辿った先を見たい >のか? →シンボリックリンクそのものです。 >・ファイル名だけでよいのか?シンボリックリンク先のファイルの情報は必要ないの >か? →ファイル名そのものです。 >ただ、代わりに -printf オプション付の find を使う手はあるかもしれません。 >・find /usr/lib -printf '%m %p\n' →このコマンドで大方目処がつきました。ユーザ名とグループ名もほしいので。。 find /usr/lib -printf '%m %u %g %p\n' とするとほしい情報はgetできそうで す。 ちなみに%a〜%z迄、全部実行してみましたが、この説明一覧(例:%mはパラミッショ ン情報等々)みたいなものは、ないのでしょうか ほんと、ご面倒おかけします。 ご近所(私は東京)であれば、一杯おごりたい気分です。 | ||||||||||||
|
投稿日時: 2005-06-12 02:28
こんばんは。
ありがたく、ご好意だけ頂戴致します。
おっと、マジで全部試したのですか…。それはなんというか、お疲れ様です。 そんな山ぱっぱさんに、man(1)と、Linux日本語マニュアル検索のJMを。 ただ、なんと言うか、このことを業務に応用するというのは、正直今のままではお勧めしません。
この状態で何かあっても、山ぱっぱさんご自身では責任が取りきれないでしょう。 少なくとも、上司や同僚やベンダのサポートを先に取り付けるべき段階と思います。 ※個人や趣味でやってるなら良いのですが。 それと、できれば環境を…。 コマンド等の挙動も、ソフトのバージョン等によってどうなるかは分からないので、憶測交じりでコメントせざるを得なくなるのです。折角のネタ、もとい情報がボヤけますし、コメントが付き難くなって勿体無いと思います。 OS が Linux なのかどうか ( この会議室では、Solaris等の話もたまに出ますから )、ディストリビューションやバージョンはどうなのか、といった事が分かるだけでも、大分違うのです。 以上、ご参考まで。 | ||||||||||||
|
投稿日時: 2005-06-12 02:38
上でもかかれていますが
man 1 find で分かります。インストールされていればほとんどのコマンド、 API、設定ファイル等については man で説明が得られます。 # man の使い方は man man で。 あと、前回書き忘れましたが、ディレクトリがなんでも . と 表示されるということはまず無いので... どんなディレクトリにも . と .. というエントリがありますが、 その表示でしょう。 [ メッセージ編集済み 編集者: ぽんす 編集日時 2005-06-12 02:40 ] |