私はこれを理解する必要があります:
df -ah >/opt/pub/software/tmp/Active_directory.txt
find . -type f -exec ls -l {} \; | sort -nr -k 5 >>/opt/pub/software/tmp/Active_directory.txt&id=$!
#!/bin/bash
#recolecta.sh
date;echo 'Command is running, it will cost about 10 minutes, please wait...'
cd /opt/
df -ah >/opt/pub/software/tmp/Active_directory.txt
find . -type f -exec ls -l {} \; | sort -nr -k 5 >>/opt/pub/software/tmp/Active_directory.txt&
id=$!
char=("-" "/" "|" "\\")
n=0
while ps -ef |grep "$id" |grep -v grep > /dev/null
do
echo -ne "\rCommand is running, it will cost about 10 minutes, please wait...${char[$n]} "
n=$(( (n+1)%4 ))
sleep 1
done
ls -lht -R >>/opt/pub/software/tmp/Active_directory.txt
tree >>/opt/pub/software/tmp/Active_directory.txt
REMOTE_HOST=$(getOMUName|grep REMOTE_HOST|awk -F '=' '{print $2}')
ssh $REMOTE_HOST
答え1
あなたの質問はより具体的でなければなりません。私がよく理解したら、bashスクリプトのとコマンドに問題があるでしょうdf
。find
したがって、説明は次のようになります。
df -ah >/opt/pub/software/tmp/Active_directory.txt
-a
偽のファイルシステム、重複ファイルシステム、アクセスできないファイルシステム()を含むファイルシステムのディスク使用量を人が読める形式()として報告し、出力として名前付き-h
ファイルを作成または上書きします。Active_directory.txt
find . -type f -exec ls -l {} \; | sort -nr -k 5 >>/opt/pub/software/tmp/Active_directory.txt & id=$!
- 現在のディレクトリで一致するものを見つけて
file type
、一致する各ファイル(長いリスト)に対してこれを行い、ls -l
出力を5列の数字順に並べ替え、それを逆にします(つまり、より大きなファイルが最初です)。次に出力をファイルに追加します/opt/pub/software/tmp/Active_directory.txt
。完全なコマンドはバックグラウンドで実行されます(&
)。ジョブのPID($!
)はという変数に保存されますid
。