Linux下bash脚本借用tr命令批量修改文件名 (Change file name by command ‘tr’ using bash script under Linux)

bash脚本调用tr命令修改文件名,tr命令参数由用户指定。The bash script will call command ‘tr’ to change file names. parameters transfered to ‘tr’ is specified by user.

# Usage: fn-tr -p <tr parameters> -r <file/directory> <file/directory> ...
# -p parameters will transfered to command 'tr'  指定将会传递给tr命令的参数
# -d change directory     对目录执行更改操作
# -f change normal file  对普通文件执行更改操作
# -r recursive  递归搜索子目录

举例Example:
将/docs下文件名中的多个连续空格压缩到一个 remove duplicated white spaces of the filenames under /docs

ftr -p '-s " "' -fr /docs/*

bash脚本下载:bash script download:
https://gitee.com/mjpclab/Shell-Utility/raw/master/bin/fn-tr
https://raw.githubusercontent.com/mjpclab/Shell-Utility/master/bin/fn-tr

Linux下bash脚本批量修改文件名大写/小写 (Change file name to uppercase/lowercase using bash script under Linux)

# Usage: chfcase [-lur] <file/directory> <file/directory> ...
# -l change file name to lower case (default)    更改文件名为小写(默认)
# -u change file name to upper case  更改文件名为大写
# -d change directory  对目录执行更改操作
# -f change normal file  对普通文件执行更改操作
# -r recursive  递归搜索子目录
#

举例Example:

更改当前目录及所有子目录普通文件名为小写 Change all normal file names to lowercase under current directory recursively:

chfcase -lfr *

将当/var/html下的子目录更改为大写 Change directory name which under /var/www to upper case

chfcase -ud /var/html/*

bash脚本下载:bash script download:
https://gitee.com/mjpclab/Shell-Utility/raw/master/bin/fn-case
https://raw.githubusercontent.com/mjpclab/Shell-Utility/master/bin/fn-case

Redhat Enterprise Linux (RHEL) 6 没有php-mbstring包的解决办法

如果你有RHN订阅账号,可以直接用RHN提供的RHEL Optional仓库安装。
如果没有,可以使用CentOS 6 第二张DVD中的php-mbstring来安装,CentOS6 和RHEL6 使用的是相同的内核编译,因此可以放心兼容使用。

以本人虚拟机中的RHEL 6.2为例,在安装了php各个包以后,发现缺少php-mbstring,于是找到CentOS 6.2的DVD2 iso文件并提取出php-mbstring-5.3.3-3.el6_1.3.i686.rpm,直接安装即可:

rpm -ivh php-mbstring-5.3.3-3.el6_1.3.i686.rpm
#或者:
yum localinstall php-mbstring-5.3.3-3.el6_1.3.i686.rpm

[转]删除mysql binary log的方法

  1. 查看当前日志记录
mysql> show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| mysql-bin.000001 | 150462942 |
| mysql-bin.000002 | 125 |
| mysql-bin.000003 | 106 |
+—————-+———–+
  1. 删除bin-log(删除mysql-bin.000003之前的而没有包含mysql-bin.000003)
mysql> purge binary logs to ‘mysql-bin.000003′;
Query OK, 0 rows affected (0.16 sec)

[转]FORFILES的用法(常用于备份文件的处理)

今天负责删除操作系统为windows server 2003的服务器上的log文件,本来打算直接用* .log 作为search 条件然后手动删除,无意中发现原来windows server 2003中竟然有forfiles.exe这个非常好用的新工具,用起来是非常方便,有了它就可以让它自己执行删除,你可以继续作别的事了。现在对它的用法做个简单介绍。

Forfiles
从文件夹或树中选择要进行批处理的文件。

语法
forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]

参数
/p Path

指定 Path,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号 (.) 指定。

/m SearchMask

按照 SearchMask 搜索文件。默认的 SearchMask 是 .

/s

指示 forfiles 在子目录中搜索。

/c Command

在每个文件上运行指定的 Command。带有空格的命令字符串必须用引号括起来。默认的 Command 是 “cmd /c echo @file”。

/d[{+ | -}] [{MM/DD/YYYY | DD}]

选择日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,其中 MM/DD/YYYY 是指定的日期,DD 是当前日期减去 DD 天。如果未指定 + 或 -,则使用 +。DD 的有效范围是 0 – 32768。

/?

在命令提示符下显示帮助。

注释
?
Forfiles 最常用于批处理文件中。

?
Forfiles /s 与 dir /s 类似。

?
下表列出了可在 /cCommand 命令字符串中使用的变量。

变量 描述
@file

文件名

@fname

无扩展名的文件名

@ext

文件扩展名

@path

文件的绝对路径

@relpath

文件的相对路径

@isdir

如果文件类型是目录,则计算值为 TRUE,否则值为 FALSE

@fsize

用字节表示的文件大小

@fdate

文件中上次修改的日期戳

@ftime

文件中上次修改的时间戳

?
使用 forfiles,可以在多个文件上运行命令或将参数传递给多个文件。例如,可以在树中带有 .txt 扩展名的所有文件上运行 TYPE 命令。或者,可以用文件名“Myinput.txt”作为第一个参数,在 C:\ 驱动器上执行每个批处理文件 (.bat)。

?
通过使用 forfiles,可以执行下列任何操作:

?
使用 /d 按照绝对或相对日期选择文件。

?
使用诸如 @fsize(文件大小)和 @fdate(文件日期)这样的变量构建文件的存档树。

?
使用 @isdir 变量区分文件和目录。

?
通过在命令行中包含特殊字符和使用十六进制代码 0xHH 环绕字符来格式化输出内容。

?
Forfiles 通过在旨在仅处理单个文件的工具上执行“循环子目录”标记来发挥作用。

示例
要列出驱动器 C: 上的所有批处理文件,请键入:

forfiles /p c:\ /s /m*.bat /c”cmd /c echo @file is a batch file”

要列出驱动器 C: 上的所有目录,请键入:

forfiles /p c:\ /s /m. /c”cmd /c if @isdir==true echo @file is a directory”

要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:

forfiles /p c:\ /s /m. /dt-100 /c”cmd /c echo @file :date >= 100 days”

要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:

forfiles /p c:\ /s /m. /dt-01011993 /c”cmd /c echo @file is quite old!”

要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:

forfiles /p c:\ /s /m. /c “cmd /c echo extension of @file is 0x09@ext0x09” With:

要列出驱动器 C: 上的所有批处理文件,请键入:

forfiles /p c:\ /s /m *.bat /c “cmd /c echo @file is a batch file”

要列出驱动器 C: 上的所有目录,请键入:

forfiles /p c:\ /s /m . /c “cmd /c if @isdir==true echo @file is a directory”

要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:

forfiles /p c:\ /s /m . /d t-100 /c “cmd /c echo @file :date >= 100 days”

要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:

forfiles /p c:\ /s /m . /d t-01011993 /c “cmd /c echo @file is quite old!”

要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:

forfiles /p c:\ /s /m. /c “cmd /c echo extension of @file is 0x09@ext0x09”

我为什么要换掉电信的路由器

今天上海电信来我家更换宽带设备,把原先的adsl线路换成了光纤(不过速度还是和以前一样,因为还在年付套餐中),和多年前不同之处是,电信除了提供modem之外还提供了额外的路由器,以便家庭多机上网和IPTV接入。

电信提供的路由器有4个LAN接口,其中一个可以作为IPTV的接入口,内置无线路由。

不过,我还是要用回原先的路由器,理由如下:
1. 电信提供的华为路由器只提供了用户登录账号,只能管理少量设置,而高级设置需要管理员账号,电信不提供,这样无法做端口映射设置,BT、PT、eMule全部变为内网模式,严重影响下载速度;以前开个小型web服务器供朋友们共享文件,现在也不行了
2. 电信提供的路由器局域网连接速度为100M,而我之前已经在使用1000M的交换机用于加快内网文件传输,特别是复制视频、光盘镜像可以大大节省时间

基于以上两点,我决定把路由器更换为原先自有设备。

上网查了下,有此款路由器的破解,不过讲的不甚清楚,经过大半天的搜索,知道了以下信息:
1. 光纤上网仍然使用pppoe来拨号
2. 拨号帐号密码可以询问电信(已在电信路由器中,但没有管理员帐号进不去)

由于新装宽带帐号密码尚未更新到电信的客服数据库,打10000只能问到老账号密码,但可以问到新账号的用户名,密码则无法查询。再次上网搜索,发现上海电信服务热线96861可以查询,但电话很难打进,要有毅力。抱着试一试的心态,等了大约十分钟终于有人接听了,向客服索要密码,提供新的账号后成功取得。
现在咱电驴又是HighID了,哼哼。。。