批量刪除:
awk '{print "rm "$0}' 文件名 | sh
**********************************
文件名編碼轉(zhuǎn)換
convmv -f 源編碼 -t 新編碼 [選項(xiàng)] 文件名
常見有用的選項(xiàng)有:
-r | 遞歸處理子文件夾 |
--notest | 真正進(jìn)行操作,請注意在默認(rèn)情況下是不對文件進(jìn)行真實(shí)操作的,而只是試驗(yàn)。 |
--unescape | 可以做一下轉(zhuǎn)義,比如把%20變成空格,如果你不知道這是在做什么,就不要嘗試了。 |
利用iconv命令進(jìn)行轉(zhuǎn)換文件內(nèi)容統(tǒng)一編碼(而convmv 命令是針對 文件名的編碼)
iconv命令用于轉(zhuǎn)換指定文件的編碼,默認(rèn)輸出到標(biāo)準(zhǔn)輸出設(shè)備,亦可指定輸出文件。
用法: iconv [選項(xiàng)...] [文件...]
有如下選項(xiàng)可用:
輸入/輸出格式規(guī)范:
-f, --from-code=名稱 原始文本編碼
-t, --to-code=名稱 輸出編碼
信息:
-l, --list 列舉所有已知的字符集
輸出控制:
-c 從輸出中忽略無效的字符
-o, --output=FILE 輸出文件
-s, --silent 關(guān)閉警告
--verbose 打印進(jìn)度信息
-?, --help 給出該系統(tǒng)求助列表
--usage 給出簡要的用法信息
-V, --version 打印程序版本號
例子:
iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt
這個命令讀取aaa.txt文件,從utf-8編碼轉(zhuǎn)換為gb2312編碼,其輸出定向到bbb.txt文件。
********************************************************************
批量改名字
方法1:把文件名拆分處理,可以任意修改文件名
find -name '*.log' -printf | awk -F '.' '{print $1}' | xargs -i mv {}.log kk_{}.log
-i 表示 find 傳遞給xargs的結(jié)果 由{}來代替
方法2:利用rename
一般的linux下的rename命令比較簡單
rename 'oldContent' 'newContent' '*.log'
把文件名中的某部分字符串替換掉
ubuntu下的rename命令支持正則表達(dá)式,因此功能更強(qiáng)大。
方法3:直接利用find和xargs和mv,中間不用awk,這樣只能添加后綴名,不能修改文件名。
總結(jié),方法一擴(kuò)展性最強(qiáng),也體現(xiàn)了編程實(shí)現(xiàn)的思想,如果再復(fù)雜一些,可以編程處理。
**************************************************************************************8
pgrep 查詢進(jìn)程的工具
pgrep 是通過程序的名字來查詢進(jìn)程的工具,一般是用來判斷程序是否正在運(yùn)行。
在服務(wù)器的配置和管理中,這個工具常被應(yīng)用,簡單明了;
用法:
#ps 參數(shù)選項(xiàng) 程序名
常用參數(shù)
-l 列出程序名和進(jìn)程ID;
-o 進(jìn)程起始的ID;
-n 進(jì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相關(guān)的進(jìn)程信息
通過id來查相關(guān)成員屬性
[root@localhost 05]# id xunjie01
uid=503(xunjie01) gid=502(smb) groups=502(smb)