关于linux命令lrt的信息

linux按时间批量移动文件

find /data/paic/backup提交问题/aaa -mtime -day1 -mtime +day2 -name "abc_*.txt" -print0 | xargs -I {} mv {} /data/paic/backup/201303/

专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业芙蓉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

查找day1天内day2天前的文件,具体天数需要仔细测试调整一下了。。

比如今天是2013-12-3

find /data/paic/backup提交问题/aaa -mtime -4 -mtime +2 -name "abc_*.txt" | xargs -I {} ls -lrt {}

查找/data/paic/backup提交问题/aaa 目录下2013-11-29到2013-12-01号的名字符合 abc_*.txt的文件

-mtime modified time

-atime access time

-ctime change time

Linux命令ls 用ls命令列出开头不是a c e 1 3 5开头的文件(这种不连续的怎

[root@server187 ~]# ls -lrt [^ace135]*.txt

-rw-r--r-- 1 root root 0 Sep 4 10:09 b.txt

[root@server187 ~]# ls -lrt [ace135]*.txt

-rw-r--r-- 1 root root 0 Sep 4 10:07 123.txt

linux下安装和使用tbb

线程构建模块(TBB)使您可以轻松编写并行C ++程序,这些程序可充分利用多核性能,可移植且可组合,并具有面向未来的可扩展性。

广泛用于任务并行的C ++模板库。

并行算法和数据结构,可扩展的内存分配和任务调度。

丰富的通用并行功能集,C ++; Windows *,Linux *,OS X *和其他操作系统

选择一个稳定版本即可,我用的是tbb-2018_U3

tar -zxvf tbb-2018_U3.tar.gz

cd tbb-2018_U3

make

我的编译器未报错

若编译期间报出以下错误:

/tmp/ccxNhOc9.s: Assembler messages:

/tmp/ccxNhOc9.s:615: Error: no such instruction: `xtest'

/tmp/ccxNhOc9.s:643: Error: no such instruction: `xabort $255'

/tmp/ccxNhOc9.s:652: Error: no such instruction: `xabort $255'

/tmp/ccxNhOc9.s:658: Error: no such instruction: `xend'

/tmp/ccxNhOc9.s:825: Error: no such instruction: `xbegin .L56'

/tmp/ccxNhOc9.s:988: Error: no such instruction: `xbegin .L71'

/tmp/ccxNhOc9.s:1216: Error: no such instruction: `xabort $255'

make[1]: *** [x86_rtm_rw_mutex.o] Error 1

make[1]: *** Waiting for unfinished jobs....

make[1]: Leaving directory `/user_data/.tmp/linux_intel64_gcc_cc4.9.1_libc2.12_kernel2.6.32_debug'

make: *** [tbb] Error 2

则表明当前的gcc编译器不支持-mrtm。则可行的方案是注释以下几行。打开tbb目录build/linux.gcc.inc文件,注释以下几行。

# gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them

ifneq (,$(shell gcc -dumpversion | egrep  "^4\.[8-9]"))

RTM_KEY = -mrtm

#endif

cd build

chmod +x*.sh

sh generate_tbbvars.sh

sh tbbvars.sh

cd linux_intel64_gcc_你的版本_release

cp *.so /usr/lib64

cp *.so.2 /usr/lib64

ldconfig

//回到解压缩目录下

cp -r include/* /usr//include

//进入解压目录下的examples目录

make

经过一段时间运行如下说明测试通过

serial run time = 0.21682

parallel run time = 0.0694263

elapsed time : 0.444736 seconds

make[1]: Leaving directory `/home/heweiwei/test/tbb-2018_U3/examples/pipeline/square'

------------------------ test_all/fibonacci/all ------------------------

make -C test_all/fibonacci  -f Makefile all CXX="g++"   

make[1]: Entering directory `/home/heweiwei/test/tbb-2018_U3/examples/test_all/fibonacci'

g++ -O2 -DNDEBUG  -m64 -L/home/heweiwei/test/tbb-2018_U3/examples/../build/linux_intel64_gcc_cc4.8.5_libc2.17_kernel3.10.0_release -L/home/heweiwei/test/tbb-2018_U3/examples/../build/linux_intel64_gcc_cc4.8.5_libc2.17_kernel3.10.0_debug -o fibonacci Fibonacci.cpp -ltbb -lpthread -lrt -lrt

./fibonacci

TEST PASSED

make[1]: Leaving directory `/home/heweiwei/test/tbb-2018_U3/examples/test_all/fibonacci'

#include tbb/tbb.h

#includeiostream

using namespace std;

using namespace tbb;

int main()

{

int i = 0;

    concurrent_queueint s_tbb_queue;

    for (i = 10; i 15 ; i ++)

    {

            s_tbb_queue.push(i);

    }

    concurrent_queueint::iterator iter;

    for(iter = s_tbb_queue.unsafe_begin() ; iter != s_tbb_queue.unsafe_end() ; iter++)

    {

            cout"value="*iterendl;

    }

    cout"queue_size="s_tbb_queue.unsafe_size()endl;

    int tmp = 0;

    bool res = 0;

    for (i = 0; i 8 ; i++)

    {

            res = s_tbb_queue.try_pop(tmp);

            if(res)

            {

                    cout"pop_value="tmpendl;

            }

            else

            {

                    cout"queue is empty"endl;

            }

    }

    cout"queue_size="s_tbb_queue.unsafe_size()endl;

    return 0;

}

运行

[heweiwei@heweiwei tbb_test]$ ./a.out

value=10

value=11

value=12

value=13

value=14

queue_size=5

pop_value=10

pop_value=11

pop_value=12

pop_value=13

pop_value=14

queue is empty

queue is empty

queue is empty

queue_size=0

linux实时时间 xtime怎么获取并使用

RTC时间操作:

1.rtc时间是由rtc硬件控制的,所以在linux中想要修改和获取rtc时间就只能通过驱动的接口来获取和修改。

intrtc_test(void)

{

structrtc_timertc;

intfd=-1;

intret=-1;

fd=open("/dev/rtc0",O_RDWR);

if(fd0){

return-1;

}

ret=ioctl(fd,RTC_RD_TIME,rtc);

if(ret0){

return-1;

}

printf("\nCurrentRTCdata/timeis%d-%d-%d,%02d:%02d:%02d.\n",rtc.tm_mday,rtc.tm_mon+1,

rtc.tm_year+1900,rtc.tm_hour,rtc.tm_min,rtc.tm_sec);

ret=ioctl(fd,RTC_SET_TIME,rtc);

if(ret0){

return-1;

}

return0;

}

2.除了上面这种方式操作rtc时间以外,linux中也有一个命令可以简化rtc时间操作,hwclock,比如,可以通过system("hwclock-w");系统调用来把xtime设置到rtc硬件。

墙上时间(realtime、xtime):

linux系统中主要使用的就是xtime,它是系统运行的基础,很多程序都是依赖于xtime来运行的,接下来将介绍将如何操作xtime。

1.获取、设置微秒级别的时间:

#include

#include

structtimeval

{

inttv_sec;

inttv_usec;

};

intgettimeofday(structtimeval*tv,structtimezone*tz);

intsettimeofday(conststructtimeval*tv,conststructtimezone*gz);

功能描述:

gettimeofday()获取当前时间,有tv指向的结构体返回。

settimeofday()把当前时间设成由tv指向的结构体数据。当前地区信息则设成tz指向的结构体数据。

2.获取秒级别的时间

typedeflongtime_t;

time_ttime(time_t*t);

如果t是non-null,它将会把时间值填入t中

3.内核2.6版本后新增的clockapi接口

获取纳秒级别的时间

structtimespec{

time_ttv_sec;/*秒s*/

longtv_nsec;/*纳秒ns*/

};

intclock_getres(clockid_tclk_id,structtimespec*res);

intclock_gettime(clockid_tclk_id,structtimespec*tp);

intclock_settime(clockid_tclk_id、conststructtimespec*tp);

编译连接时采用-lrt才能编译通过。

clk_id可选参数:

CLOCK_REALTIME

系统全局的实时时钟.设置此时钟需要合适的权限.

CLOCK_MONOTONIC

只能被读取,无法被设置,表示monotonic时间起点.

CLOCK_PROCESS_CPUTIME_ID

从cpu每进程的高分辨率计时器.

CLOCK_THREAD_CPUTIME_ID

线程的特定cpu时间时钟.

系统启动时,会首先从rtc中读取rtc时间,并设置给xtime,而当ntp对系统时间进行更新时,首先设置xtime,然后调用hwclock设置到rtc硬件中。xtime根据需要的精度,可以通过上面几个接口来选择使用。


本文标题:关于linux命令lrt的信息
网页URL:http://ybzwz.com/article/docepco.html