linux c/c++ 中使用shell命令

                命令格式:system("ls -l");,使用system即可

首先需要知道查询命令:find, find命令中可以查找磁盘中的文件,find命令中有比较多的参数,这里介绍常用的几种:

      -type  根据文件属性查找,有  b: 块设备、   d :目录、    c:字符设备、    p:符号链接、  f:普通文件、s:socket文件   ,要查找.txt、.jpg这样的普通文件就采用 

        -type f 查找的结果就是只含冰普通文件。

             根据文件的时间信息查找的参数有:    后面的参数可写成: n、 +n、 -n, 分别表示:在什么时候、之前、之内, 

    -atime:最近一次访问时间, 单位:天, -atime 5表示在从现在往前数第五天访问的文件, -atime +5表示在5天前访问的时间, -atime -5表示在5天之内访问的时间

                     -mtime:最近一次修改时间, 单位:天,

       -ctime: 文件创建时间,单位:天     

     -amin:最近一次访问时间, 单位:分钟

   -mmin:最近一次修改时间, 单位:分钟,

      -cmin:文件创建时间, 单位:分钟,

                  例如,使用-cmin在一个接收摄像头实时上传的文件夹中进行检测的结果如下图所示,+5的没有测试,图 片太多。19:15:15秒,这是时间

                                       

    

                 对于查找最新的上传的图片所以命令为:  find /home/pi/ftp/camera1 -amin -1 -type f  即可,其实对于一分钟这里有很多中写法,用-mmin、-cmin都可以,对于一分钟的可以1 、-1      都可以,超过一分钟的就只能用-n了,而对于a、c、m的区别具体的可以再找找资料,这里给出其中的一个差别如下图所示:   


                             


                   若对find命令感兴趣的可以参考 http://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.html 。

             现在知道了shell命令,在linux c++程序中使用shell命令就可以使: system("find /home/pi/ftp/camera1 -amin -1 -type f "),如果需要将查找的结果存储起来,其中一个办法就是将结果写入txt文件中:

                system("find /home/pi/ftp/camera1 -amin -1 -type f  > result.txt"), 若想在使用命令的时候传入参数:

      使用string来转换即可:  string storeTxt= "result.txt";

                                              string command = "find /home/pi/ftp/camera1 -amin -1 -type f  >" + storeTxt;

        system(command.c_str());    //如报错,包含头文件#include <string.h>即可

                    

                 这是我写的第二篇博客,字体、格式不美观的地方欢迎大家提出,日后的博客中将会改进。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值