Posted on 2009-10-22 15:46
java-flying 阅读(283)
评论(0) 编辑 收藏
批量删除:
awk '{print "rm "$0}' 文件名 | sh
**********************************
文件名编码转换
convmv -f 源编码 -t 新编码 [选项] 文件名
常见有用的选项有:
-r |
递归处理子文件夹 |
--notest |
真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。 |
--unescape |
可以做一下转义,比如把%20变成空格,如果你不知道这是在做什么,就不要尝试了。 |
利用iconv命令进行转换文件内容统一编码(而convmv 命令是针对 文件名的编码)
iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。
用法: iconv [选项...] [文件...]
有如下选项可用:
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息
-?, --help 给出该系统求助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号
例子:
iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt
这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。
********************************************************************
批量改名字
方法1:把文件名拆分处理,可以任意修改文件名
find -name '*.log' -printf | awk -F '.' '{print $1}' | xargs -i mv {}.log kk_{}.log
-i 表示 find 传递给xargs的结果 由{}来代替
方法2:利用rename
一般的linux下的rename命令比较简单
rename 'oldContent' 'newContent' '*.log'
把文件名中的某部分字符串替换掉
ubuntu下的rename命令支持正则表达式,因此功能更强大。
方法3:直接利用find和xargs和mv,中间不用awk,这样只能添加后缀名,不能修改文件名。
总结,方法一扩展性最强,也体现了编程实现的思想,如果再复杂一些,可以编程处理。
**************************************************************************************8
pgrep 查询进程的工具
pgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行。
在服务器的配置和管理中,这个工具常被应用,简单明了;
用法:
#ps 参数选项 程序名
常用参数
-l 列出程序名和进程ID;
-o 进程起始的ID;
-n 进程终止的ID;
举例:
[root@localhost ~]# pgrep -lo httpd
4557 httpd
[root@localhost ~]# pgrep -ln httpd
4566 httpd
[root@localhost ~]# pgrep -l httpd
4557 httpd
4560 httpd
4561 httpd
4562 httpd
4563 httpd
4564 httpd
4565 httpd
4566 httpd
[root@localhost ~]# pgrep httpd
4557
4560
4561
4562
4563
4564
4565
4566
也可以通过 ps -ef | grep java 查出java相关的进程信息
通过id来查相关成员属性
[root@localhost 05]# id xunjie01
uid=503(xunjie01) gid=502(smb) groups=502(smb)