search

Home  >  Q&A  >  body text

linux中,列出某目录下的top5大小的文件/文件夹,如何做才能得到满足我要求的alias?

[问题描述]
alias top5files='du -ah $specificDir | sort -nr | head -n 5
这个alias不能:

  1. 针对某个指定文件夹

  2. 因为du用了-h, 因此到了sort处, 无法排序正确; 不使用-h又无法准确知道大小, (实在没有办法, 还是可以忍的)

能够尽可能利用系统本身有的命令最好; 此命令是值得组合的(毕竟存在重复性工作)

[环境&重现]
Ubuntu14_Desktop

伊谢尔伦伊谢尔伦2769 days ago712

reply all(2)I'll reply

  • 怪我咯

    怪我咯2017-04-17 14:55:07

    You can’t substitute parameters in alias, but you can define bash functions

    top5files() {
      du -ah "" | sort -hr | head -n 5
    }
    

    reply
    0
  • PHPz

    PHPz2017-04-17 14:55:07

    top5files() {
      ls -lhS "$1"|head -5
    }

    reply
    0
  • Cancelreply