了解脚本

了解脚本

我需要理解这一点:

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

相关内容