我需要理解这一点:
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
。