posts - 16, comments - 6, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

linux 下常用命令

Posted on 2009-10-22 15:46 java-flying 阅读(190) 评论(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)













只有注册用户登录后才能发表评论。


网站导航: