背景: CI构建下来的备份应用包在服务器上保留几十个,空间占用大,看着不好看,可能还用不着,所以准备正好练练手吧! 其实CI上可以设置少保留几个,但是我没管.我只是想练练脚本 先来看一下我的服务器源目录的文件夹放置:44个挺多的 再来看一下我的结果: 代码不长,但是shell我用的手生.语法都是靠查靠找.实在艰辛才凑起来的 整体思路: 1.找出符合日期的关键字的文件夹 2.移动1找出来的文件夹,然后压缩 这里我用了自定义输入时间的边界来循环执行,使所有时间都可以兼顾得到. #!/bin/bash…
问题说明: 我的项目组成: 主项目为:TaskUtlity 在生成解决方案的时候在TaskUtlity的bin目录下老是找不到ProBonus项目生成的dll. 解决方案: 1.打开sln文件,找到ProBonus项目的GUID. Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TaskUtility.ProBonus", "TaskUtility.ProBonus\TaskUtility.ProB…
inotify-tools 是为linux下inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件. inotify-tools是用c编写的,除了要求内核支持inotify外,不依赖于其他.inotify-tools提供两种工具,一是inotifywait,它是用来监控文件或目录的变化,二是inotifywatch,它是用来统计文件系统访问的次数 安装inotify-tools $ sudo apt install inotif…
获取指定目录/usr/下所有文件夹的名称并输出: shell代码: #!/bin/bash #方法一 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') for i in $dir do echo $i done ####### #方法二 for dir in $(ls /usr/) do [ -d $dir ] && echo $dir done ##方法三 ls -l /usr/ |awk '/^d/ {print $NF}' ## 其实同方法一,直接…
一例shell脚本:取得目录下(包括子目录)所有文件名.路径与文件大小. 代码,shell脚本: lsdir.sh #!/bin/bash # #site: www.jquerycn.cn function ergodic(){ for file in `ls $1` do if [ -d $1"/"$file ] then ergodic $1"/"$file else local path=$1"/"$file local name=$fil…
ls -lt /dirname/ | grep filename | head -n 1 |awk '{print $9}' 逐条解释: ls -lt /dirname/ 列出此目录下的所有文件并按照时间先后排序 grep filename 过滤出包含关键字的文件 head -n 1 查看排名第一的文件 awk '{print $9}' 打印出第九字段,此处为文件名…
虽说比较简单,但希望分享给大家.按需求改成想找的:例如txt,xls 等. 脚本名 扫描的路径 文件名 testFind.sh /  testFind.txt (如果未配置环境变量  ./testFind.sh /  testFind.txt 或sh 启动) function find(){ for file in `ls $1` do if [ -d $1"/"$file ] then e $1"/"$file $2 else # echo -e $1"…
#!/bin/bash IFS=: for folder in $PATH #PATH变量分隔符为: do echo $folder echo ------------------ for file in $folder/* # /*表示需要遍历$folder内所有的目录 do if [ -x $file ] then echo $file fi done done IFS用法:指定分隔符,默认为空格,制表符,“\n” IFS=:  表示分隔符只有:   ,若要指定多个分隔符,使用IFS='\n…
如果你为每个文件按日期命名的格式都一致的话,那么 "ls -l" 命令列出的文件列表就是默认按文件名称(日期先后)排序的.那么最后一个就是最新的,文件名可以用以下方式获取.filename=`ls -l | tail -n 1 | awk '{print $9}'` http://zhidao.baidu.com/question/232393494.html…
1.首先确定project->Build Automatically是否勾选上: 2.执行完第一步之后测试一下看是否能编译,如果还是不能,则进行手动编译:  3,进入clean对话框,选择Clean projects selected below,然后选择OK 4,第三步完成之后重新编译试一下,如果还是不能编译,那就是项目设置出了问题.选中项目点击右键->properties->Java Build Path->Source 将Default output folder设置为sev…
dir=/usr/local/nginx/logs for file in $dir/*; do echo $file done //结果 ./test.sh /usr/local/nginx/logs/access1.log /usr/local/nginx/logs/access.log /usr/local/nginx/logs/error.log /usr/local/nginx/logs/host.access.log /usr/local/nginx/logs/logs /usr/l…
hashlib用于对字符串或者文件进行加密. 使用方法1: hashlib.md5('str').hexdigest() 使用MD5对str进行加密,使用hexdigest(),16进制的方式打印   使用方法2: md5 = hashlib.md5() md5.update('hello') 如果第一次执行update,那么就是对hello这个字符串进行MD5加密(注意,这里是累加,如果多次update,那么求得是累加的md5值) md5.hexdigest() 把md5对象保存的str,以1…
一.安装ant 1.ant 下载地址:https://ant.apache.org/bindownload.cgi 2.下载完成解压到指定目录下 3.配置ant 环境变量 新建系统变量 -ANT_HOME CLASSPATH 住家ant的lib包--%ANT_HOME%\lib path 增加 ant的bin目录--%ANT_HOME%\bin 4.检查ant是否安装成功 ant -version 重要配置: 1)将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝…
在学习NDK中,当我在项目的bin/classes目录下使用javah命令生成头文件时,出现了“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”这个问题,如下 跳转到项目的src目录下使用javah命令,而不是在项目的bin/classes目录下使用javah命令即可! 无法访问android.app.Activity是说明没有引入android.jar包可以看看java -h里面的具体说明.其中有一个-bootclasspath…
关于Autotools 我们前面的章节中已经讲到了Makefile的使用(点击进入查看文章).我们知道在Linux下面如果编译一个比较大型的项目,我们可以通过Makefile的方式来完成. 但是,我们又蛋疼了,Makefile拥有复杂的语法结构,甚至让人难以领会,当我们项目非常大的时候,维护Makefile会成为一件非常头疼的事情.于是我们就有了autotools工具,专门用来生成Makefile,这个工具让我们很大程度的降低了开发的难度. Autotools并不是一个工具,而是一系列工具: 1…
需求描述: 1.当前目录下有很多文件夹.文件,统计/usr/local/这个目录下,如果是文件夹,就给删除 /usr/local/ f1    w1   f2   w2   w3   w4        f4 w1         w2                              w10.txt 需求分析: 1,先列出目录下所有文件,用os.listdir() 2,判断是否是文件,os.path.isfile() import os f_dir=os.getcwd()#获取当前目录…
说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目…
Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键---停掉正在运行的程序Ctrl+d按键---相当于exit,退出Ctrl+l按键---清屏 1.关机命令:shutdown shutdown 参数说明: [-t] 在改变到其它runlevel之前,告诉init多久以后关机.[-r] 重启计算器.[-k] 并不真正关机,只是送警告信号给每位登录者[lo…
gen目录无法更新,或者gen目录下的R.JAVA文件无法生成 1.gen目录的用处 android gen目录下的R.java并不是由用户创建,而是android工程本身将android的资源进行自动“编号”(ID)值. 2.gen目录下R文件无法更新/生成的原因 1)res目录下的layout下的xml文件名有错.按照android的命名规范是:[a-z0-9_.]  这里要看清楚了,是不能大写开头的!导致xml无法被正确解析. 2)layout下的xml文件里面的存在非法字符,一般在ecl…
最近,突然发现生成程序集后,网站bin目录下dll没有更新,也没有自动生成dll文件,通过近半个小时的摸索和实验,找到了解决方法: 1.右键网站,不是项目,选择[属性页],在左侧[引用]中如果没有,就添加一下程序集,如果有,就移除再添加一下,OK! 2.还有一种办法,就是直接改掉程序集的生成路径,但是如果程序集用于多个项目的话,尽量不要这么做,不方便. 右击[程序集],选择[属性],[生成],[输出路径].…
思路: 目录下文件被篡改的几种可能: 1.被修改 2.被删除 3.新增文件 md5命令详解 参数: -b 以二进制模式读入文件内容 -t 以文本模式读入文件内容 -c 根据已生成的md5值,对现存文件进行校验 --status 校验完成后,不生成错误或正确的提示信息,可以通过命令的返回值来判断 提示:md5sum 是校验文件内容,与文件名是否相同无关 [root@lamp scripts]# mkdir /tmp/test [root@lamp scripts]# touch /tmp/test…
背景是这样的:网站一开始访问量比较小,大家就把所有的图片文件上传到一个目录下(比如是/data/images/).后来访问量大了,图片也多了,这样就影响读取效率.所以有个这样的需求,把这些个图片文件移动到多个目录下,这个目录是图片的上传日期(就是文件属性中的修改日期filemtime)组成的.比如2012-12-20的修改日期,那么现在就该放在/data/images/2012/12/20的目录下. php有很容易的操作文件的函数,可以方便完成.当然也可以利用shell脚本完成. 程序思路:遍历…
区别: 1.两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效,同样是永久变量,是全局变量. 2./etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用像/etc/profile需要改动此文件. 3.需要注意的是,/etc/profile和/etc/profile.d同样是登录(login)级别的变量,当用户重新登录sh…
发布:JB01   来源:脚本学堂     [大 中 小] 分享一例shell脚本,实现可以批量转换目录下的文件编码,很实用的一个小shell,有需要的朋友参考下.原文地址:http://www.jbxue.com/article/13953.html本节内容: 一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类…
假定目录text下有如下文件      目录:dir_1.dir_2.dir_3 文件:text_1.text_2 遍历目录下所有的文件是目录还是文件 if -- if类型: #!bin/sh for file in ./* do     if test -f $file     then         echo $file 是文件     fi     if test -d $file     then         echo $file 是目录     fi done if --else…
进行之自动化测试,想把自动生成的excle保存到指定的目录下.网上百度的代码如下: import xlwt import time time = time.strftime ('%Y%m%d%H%M%S', time.localtime (time.time ())) w = xlwt.Workbook () # 创建一个工作簿 ws = w.add_sheet ('卡批量入库4.xls') # 创建一个工作表 ws.write (0, 0, '卡号') # 在1行1列写入bit ws.writ…
今天大波又提起昨天我说的那个程序.这样的,起初我想写一个makefile,每次写完新代码后一键编译目录下所有的.cpp文件. 原因是用makefile的话,每次要把目标文件加紧去才能编译.感觉不方便.想写一个makefile,一劳永逸.每次写完新代码后直接编译,不用再加入目标文件. 但查了很多治疗,没发现能解决问题的代码.大波问我,干嘛不用shell写一个呢.所以,我暂时放弃makefile,用shell写了一个. 实现的基本功能:编译目录下所有.c和.cpp文件. 代码: #! /bin/ba…
问题描述 SpringBoot项目使用logback自定义配置后,会在/tmp/ 目录下生成 spring.log的文件(如下图所示). 解决方案 通过各种资料的搜索,最终发现问题的所在(logback配置如下). <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true"> <include resource="org/springf…
在 Linux 中,有非常多的命令可以让我们用来执行各种各样的任务.当我们想要像使用文件浏览器一样列出一个目录下的内容时,大家第一时间想到的是 ls 命令.但只有 ls 命令能实现这个目的吗?显然不是. 下面,良许就给大家介绍Linux下列出目录内容的一些命令,一起来看看吧. ls Linux 中最常用的列出目录下内容的命令就是 ls 命令.默认情况下, ls 显示目录下的所有非隐藏内容.在显示结果里文件和目录会被显示为不同的颜色,具体显示的颜色取决于终端的配色主题. ls 命令列出的是当前所在…
在QT工程中,当我们选择了构建目录后,编译生成程序后,总会发现在debug目录下会有混淆着各类文件,如下图 很多时候,我们又仅仅只需要可执行文件或者自定义的动态链接库.如下图 当然,如果不觉得麻烦,有人会选择手动删除.但是这并不是最佳解决方案,因为还有更简单的 只需要在 .pro 文件中加入以下定义即可.(它将会在构建目录下生成一个tmp目录,用于存放产生的中间文件) UI_DIR = ./tmp/ui MOC_DIR = ./tmp/moc OBJECTS_DIR = ./tmp/obj RC…