statコマンドが見つかりません

statコマンドが見つかりません

私のUnixシェル/usr/bin/kshでstatコマンドを実行したい:

入力する:

/bin/date +%Y%m%d%H%M%S -d "$(/usr/bin/stat -c %x find.txt)"

そして出力:

/usr/bin/ksh: stat:  not found

私のシステム: SunOS 5.10 Generic_150400-23 sun4v sparc sun4v

答え1

このstatコマンドは標準ではありません。 Linuxには1つあり、Embedded Linuxにはより制限的なオプションがあり、FreeBSDとOSXにはまったく異なるオプションがあり、他のほとんどのUnixバリアント(Solaris、AIX、HP-UXなど)にはありません。あなたの構文はLinuxに固有のようですstat

あなたは明らかにstatdate -d

ファイルアクセス時間をリストする唯一の移植可能な方法はls

ls -log -u find.txt

これは面倒な形式であまり正確でない出力を提供します。

設置可能な場合GNUコアツール、そうし、対応し、statコマンドdateを使用します。多くの最新のUnixバリアントには、GNUユーティリティを簡単にインストールする方法があります。

あるいは、UnixシステムによくインストールされるPerlを使用してください。呼ぶstatファイルのタイムスタンプを読み、localtimeタイムスタンプを日付と時刻の部分に分割します。

perl -e '@stat = stat($ARGV[0]); @time = localtime($stat[9]); printf "%04d%02d%02d%02d%02d%02d\n", $time[5]+1900, @time[4,3,2,1,0]'

答え2

エラーがシェルを意味することを確認してください。

/usr/bin/ksh:

「統計」が見つかりません:

stat: not found

オペレーティングシステムで "stat"コマンドを提供しますか?追加の指示を受けるには、オペレーティングシステムとそのバージョンに関する追加情報を提供する必要があります。

「PATH」環境変数に問題がある可能性があります。

答え3

それはすべてシステムによって異なり、指定されていません。パッケージマネージャが提供するバイナリをインストールする別の方法は、ソースコードからプログラムをコンパイルすることです。これを行うには、まずダウンロードする必要があります。coreutils ソースコードcoreutils-8.0作成時)。

アーカイブにある場合は、解凍してソースディレクトリに移動します。コマンドを使用して構成スクリプトを実行し./configure、完了するまで待ちます。設定が完了したら(大きなエラーなし)、makeコマンドを実行しますmake

makeを完了するのにかかる時間は、アプリケーションのサイズと複雑さによって30秒から数日まで異なります。しかし、この場合、makeステップは数分かかることはありません。

makeがプログラムをエラーなくコンパイルした後は、コマンドを使用してプログラムをインストールするか、make installルートでない場合はプログラムをインストールしてくださいsudo make install。これには数秒しかかかりませんが、場合によっては時間がかかることがあります。完了したら、coreutilsディレクトリを終了して削除を続行できます。

ノート

  • 動作するための唯一の要件(および適切なライブラリと依存関係*)は、GCCまたはCCおよびmakeユーティリティです。
  • 1つのコマンドでこれらすべての手順を実行するには、を入力します./configure && make && make install
  • coreutilsの完全な依存関係のリストは次のとおりです。Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed

引用する

詳しくは、次のページをご覧ください。

関連情報