$ ls | xargs -i mv {} {}.bak
-i 选项告诉 xargs 用每项的名称替换 {}。
#删除数量比较多的文件
ls | xargs -n 20 rm -fr
#ls当然是输出所有的文件名(用空格分割)
#xargs就是将ls的输出,每20个为一组(以空格为分隔符),作为rm -rf的参数
#也就是说将所有文件名20个为一组,由rm -rf删除,这样就不会超过命令行的长度了
#=========================
  !!    前一条命令;
  !:0    不带参数的前一条命令名;
  !^    前一条命令的第一个参数;
  !:n    前一条命令的第n个参数;
  !$     前一条命令的最后一个参数;
  !*     前一条命令的所有参数,命令名除外;
  !n     第n条命令;
  !-n    倒数第n条命令;
  !str    最近一条以str开头的命令;
  !?str    最近一条包含str的命令;
  ^a^b  将上一条命令名中的a替换为b;
  !:gs/a/b 将上一条命令的所有a替换为b(包含命令名和参数)。