在linux中,若需要使用某个脚本/程序对文件夹下所有符合条件的文件执行,可采用如下方法: 首先是find命令,用find找出符合条件的待执行文件/文件夹## 只列出常规文件
find ./ -type f
## 只列出文件夹
find ./ -type d
## 列出后缀cpp的文件
find -name *.cpp
对找到的所有文件批处理find ./ -type f -exec chmod 644 {} \; # 后面的\;必须的,表示按行输出
find ./ -type d -exec chmod 755 {} \; # {} 表示找到的文件路径find...
先贴代码和测试结果// Mutex.h: 对pthread的互斥量的RAII包装#ifndef _MUTEX_H_
#define _MUTEX_H_#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>// 使用错误码errnum和字符串msg来打印错误信息, 并且退出程序static inline void errExitEN(int errnum, constchar* msg)
{fprintf(stderr, "%s Error: %s\n", msg, strerror(errnum));exit(1);
}class Mutex
{
public:explicit Mutex(){int s;pt...
linux文件文件夹递归监控开发了一个规范的php composer包,使用的时候直接require即可。实现php版本的实现沿用了shell版本的思想,通过管道命令传递shell命令的结果,然后对结果做各种处理,达到我们监控文件的目的。为了完成这个功能,首先要实现一个php版本的管道命令,这里我对resource popen ( string $command , string $mode )做了封装,可以通过很友好的处理命令的返回值。完成了上面的模块,接下来就是具体的实现了,实现这...
第一种方法: 代码如下:/** * 目录生成类 :UtilsMakeDir * @author yepeng * @since 2010.3.18 */ class UtilsMakeDir{ //基目录 建立目录时不会对这个目录进行建立。这应该是个已经存在的目录 private static $makeBasePath = 'video'; private static $delBasePath = 'video'; /** * 递归建立目录, * 建立成功返回这个全路径, * 建立失败返回false * @param String $pathString 路径字符串如'2/3/4/5' * @return false or stri...
Linux系统递归生成目录中文件的md5的方法,linuxmd5linux下使用md5sum递归生成整个目录的md5
今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下
代码:<?php $path =/data/www/bbs/source; $outfile = file.md5; get_file_md5($path, $outfile); function get_file_md5($path, $outfile) { $path = rtrim($path, /); if(function_exists(scandir)) { $files = sc...
linux下使用md5sum递归生成整个目录的md5
今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下
代码:<?php $path =/data/www/bbs/source; $outfile = file.md5; get_file_md5($path, $outfile); function get_file_md5($path, $outfile) { $path = rtrim($path, /); if(function_exists(scandir)) { $files = scandir($path); foreach($files as $v) { if($v !...
linux下使用md5sum递归生成整个目录的md5
今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下
代码:<?php $path =/data/www/bbs/source; $outfile = file.md5; get_file_md5($path, $outfile); function get_file_md5($path, $outfile) { $path = rtrim($path, /); if(function_exists(scandir)) { $files = scandir($path); foreach($files as $v) { if($v !...
linux下使用md5sum递归生成整个目录的md5
今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下
代码:<?php $path =/data/www/bbs/source; $outfile = file.md5; get_file_md5($path, $outfile); function get_file_md5($path, $outfile) { $path = rtrim($path, /); if(function_exists(scandir)) { $files = scandir($path); foreach($files as $v) { if($v !...
cat function13.sh #!/bin/bash#使用局部变量的递归#使用递归函数实现阶乘运算fact(){ local num=$1 if [ "$num" -eq 0 ] then factorial=1 else let "decnum=num-1" #函数递归调用 fact $decnumlet "factorial=$num * $?" fi return $factorial}
#脚本调用递归函数fact $1echo "Factorial of $1 is $?"exit 0
./functi...
vi function14.sh #!/bin/bash
#初始化移动次数mov=0
dohanoi(){ if [ $1 -eq 0 ] #输入圆盘的个数为0 then echo -n "" #将不会有输出 else dohanoi "$(($1-1))" $2 $4 $3 #把A上的n-1个圆盘移到B上 echo "move $2----->$3"let "move=move+1" #把A上的一个圆盘移到C上 dohanoi "$(($1-...
Trash文件夹权限修改 ---> /user/root/.Trash/Current/
在一次使用Trash回收站时候,hdfs对于/user/root/.Trash/Current/下的文件访问权限不足,于是用到这一命令,关键在于当下属所有文件都要修改权限时候我们需要使用-R 777递归添加权限.
在main函数中,入栈的顺序是’a’、‘b’、‘c’,而出栈打印的顺序却是’c’、‘b’、‘a’,最后入栈的’c’最早出来,因此堆栈这种数据结构的特点可以概括为LIFO(Last In First Out,后进先出)。我们也可以写一个递归函数来倒序打印,这是利用函数调用的栈帧实现后进先出的:
也许你会说,又是堆栈又是递归的,倒序打印一个数组犯得着这么大动干戈吗?写一个简单的循环不就行了: #include <stdio.h> #define LEN 3
char buf...
转载:https://www.cnblogs.com/codingmengmeng/p/7460606.html
修改某个目录及其下所有文件的权限,要使用-R参数,表示启动递归处理。
例如:#仅将/home/user/test目录的权限设置为rwxr-xr-x
chmod 755 /home/user/test#表示将整个/home/user/test目录与其下所有的文件和目录的权限都设置为rwxr-xr-x
chmod -R 755 /home/user/test
比如我需要将 jpg 结尾的图片文件修改为 png 结尾的如果能用rename命令,运行下面的
find . -name '*.jpg' -exec rename .jpg .png {} +如果不能用rename命令,使用下面的
find . -name "*.jpg" -exec bash -c 'mv "$1" "${1%.jpg}".png' - '{}' \;参考:https://stackoverflow.com/questions/21985492/recursively-change-file-extensions-in-bash本文由博客一文多发平台 OpenWrite 发布!
递归acl权限
递归acl指给父目录设定acl时,所有的子文件和子目录都拥有相同的acl权限
setfacl -m u:boduo:rx -R /project/默认acl权限
默认acl权限的作用是如果给父目录设定了acl默认权限,则父目录中所有新建的子文件都会继承父目录的acl权限:setfacl -m d:u:boduo:rx /project/