• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux下文件剪切的shell脚本实现代码

    需求描述

    编写shell脚本实现Linux下不同目录(路径)之间的文件的剪切(移动)操作。

    其中,文件移动之前所在的目录称为源目录,文件移动之后所在的目录称为目的目录。要求当源目录不存在、源目录下无文件及剪切文件成功时,均要在屏幕上输出相关的日志信息;并且,在程序执行之前,只有源目录是存在的,目的目录需要由程序创建。

    shell脚本

    umask 0000
    if [ -d $1 ]
    then
      fcnt=`ls -l $1 | wc -l`
      if [ $fcnt -ne 1 ]
      then
        mkdir -p $2
        if [ -d $2 ]
        then
          mv $1* $2
          echo "move $fcnt file(s) from $1 to $2 successfully!"
        else
          echo "$2 does not exist!!!"
        fi
      else
        echo "$1 is empty!"
      fi
    else
      echo "$1 does notexist!!!"
    fi

    脚本说明

    针对本shell脚本(命名为movefile.sh),说明如下:

    第一,脚本第一行“umask 0000”表示赋予程序访问文件的权限,因为后续要对文件进行剪切操作,所以必须要有对文件的操作权限才行。

    第二,执行脚本的时候,要输入两个参数,第一个表示源文件目录,第二个表示目的目录。具体到脚本中,变量$1表示源文件目录,变量$2表示目的目录。

    第三,本脚本的主要流程是这样的:首先判断源文件目录是否存在,如果不存在,则直接打印源目录不存在的消息;如果存在,则获取源目录下的文件数目,如果文件数为0,那么表示无需要剪切的文件,那么直接打印源目录下无文件的消息;如果文件数大于0,那么就创建目的目录,并在目的目录创建成功的情况下之行文件的剪切操作。

    第四,执行本脚本的命令格式为:sh movefile.sh 源文件目录 目的目录。注意,两个目录均要以/结束。

    脚本执行

    将movefile.sh脚本上传到Linux机器上,然后对它进行测试。

    第一,当源文件目录不存在时,执行情况如下:

    ~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ 
    /home/zhou/movefile/srcdir/ does notexist!!!

    第二,当源文件目录下无文件时,执行情况如下:

    ~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ 
    /home/zhou/movefile/srcdir/ is empty!

    第三,当源文件目录下有1个文件时,执行情况如下:

    ~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ 
    move 1 file(s) from /home/zhou/movefile/srcdir/ to /home/zhou/movefile/destdir/ successfully!

    第四,当源文件目录下有10个文件时,执行情况如下:

    ~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ 
    move 10 file(s) from /home/zhou/movefile/srcdir/ to /home/zhou/movefile/destdir/ successfully!

    总结

    本文中的需求,如果有高级语言(如C语言)实现,那么代码行数至少在100行以上,而如果有shell脚本实现,那么仅需要20行左右的代码即可搞定。如此可以看出,shell命令的强大,这也算是Linux给开发者带来的一大便利。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Linux定义变量脚本分享
    • Linux Shell制作录制回放功能脚本
    • 如何使用Shell脚本掩盖Linux服务器上的操作痕迹(推荐)
    • Linux下服务器重启的脚本命令
    • Linux 在Bash脚本中怎么关闭文件描述符的实例
    • Linux下Python脚本自启动与定时任务详解
    • Linux上增加自定义脚本的展现量
    上一篇:Linux 中的Edquota命令
    下一篇:shell脚本测试某网段内主机连通性
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux下文件剪切的shell脚本实现代码 Linux,下,文件,剪切,的,shell,