0
我正在編寫一個shell腳本來列出佔用最多空間的五個文件夾。這是我有:在當前目錄中執行shell腳本
$ du -m --max-depth 1 | sort -rn 5
這工作正常,但如何獲取此代碼來檢查它從目錄調用?
我正在編寫一個shell腳本來列出佔用最多空間的五個文件夾。這是我有:在當前目錄中執行shell腳本
$ du -m --max-depth 1 | sort -rn 5
這工作正常,但如何獲取此代碼來檢查它從目錄調用?
檢查這是否回答你的問題:
$dir=`pwd`
if [ $dir = "some_directory_you_are_expecting" ]
then
du -m --max-depth 1 | sort -rn 5
else
do_some_other_thing
fi
你給「5」作爲文件進行排序,但你想從杜輸出排序。也許你的排序是不同的。我的是從http://www.gnu.org/software/coreutils/
這裏:
$ echo 'du -sm * | sort -rn | head -n5 ' > ~/bin/top5.sh
raptor: ~
$ chmod 755 ~/bin/top5.sh
raptor: ~
$ top
top top5.sh
raptor: ~
$ top5.sh
606 src
532 svn
407 tmp
349 images
45 workspace
raptor: ~
$ cd /usr/
raptor: /usr
$ top5.sh
du: cannot read directory `lib64/mozilla/extensions': Permission denied
du: cannot read directory `lost+found': Permission denied
du: cannot read directory `share/ggz/modules': Permission denied
1928 lib64
1842 share
1779 src
492 bin
457 lib32
我有一種感覺,還有更多的問題;以這種方式執行'du'(直接通過命令行或通過shell腳本或通過shell函數)只能在當前工作目錄中執行。你在看什麼?你想看什麼? – sarnold 2012-02-04 01:43:05