trussコマンドの統計の使用?

trussコマンドの統計の使用?

unixSolarisシステムでファイルのアクセス時間と変更時間を取得したいと思います。このSolarisコンピュータでは `statsコマンドが見つかりません。ファイルのアクセス時間と修正時間を見つけるために使用するコマンドを提案しますか?私は以下を使用しました(明らかに動作しません):

sftp> truss -f -v 'lstat,lstat64' ls -d 140901.log
Invalid command.

コマンドを提案できますか?

答え1

trussコンピュータにインストールされている可能性が高く、問題はsftpシェルプロンプトではなくシェルプロンプトから呼び出すことです。

後者の場合、Solaris 標準コマンドを使用してアクセスおよび変更時間を取得する方法は次のとおりです。

$ truss -f -v 'lstat,lstat64' ls -d . 2>&1 | grep '[am]t ='
29879:          at = Jul 16 17:20:56 CEST 2014  [ 1405524056.485059303 ]
29879:          mt = Aug 18 23:34:35 CEST 2014  [ 1408397675.814979313 ]

答え2

このstatコマンドはPOSIXによって定義されておらず、一部の* nixシステムでは使用できません。実際、POSIX で定義した CLI ユーティリティは時間を返しません。使用は、perlほとんどの*nixシステムで機能する方法です。以下は、シェルスクリプトで使用できる1行のコードです。

perl -sle '@s = stat($filename); print "atime: $s[8]\nmtime:$s[9]"' -- -filename=foo

答え3

/usr/bin/stat私のSolaris 11システムでは。これはパッケージの一部としてインストールされますgnu-coreutils

また、サブコマンドではtrussありません。を実行する代わりにセッションsftpを実行したい場合があります。sshsftptruss

関連情報