記錄一些經(jīng)常用到,但總也記不住用法的linux命令
列出當(dāng)前目錄下的所有文件&文件夾,大概是除了cd之外最常用的命令了
常用選項(xiàng):
-R 遞歸地列出當(dāng)前目錄及子目錄下的文件
-a 列出的文件中包括隱藏文件
另外還有一個(gè)方便的功能:列出文件名中包含特定字符串的文件,支持正則表達(dá)式
例如列出當(dāng)前目錄下文件名中包含’.txt’的文件:ls *.txt*
對(duì)文件中字符串進(jìn)行篩選過濾linux命令,常用于篩選日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
查找命令
在當(dāng)前目錄下查找名叫“haha”的文件:find . -name "haha"
常用選項(xiàng):
-type: 根據(jù)文件類型來查找文件
-f 普通文件
-d 目錄文件
-l 鏈接文件
-b 塊設(shè)備文件
-c 字符設(shè)備文件
-p 管道文件
-s socket文件
查找命令
在當(dāng)前目錄下查找內(nèi)容包含“haha”的文件:grep -r haha ./
壓縮和解壓的命令
將a.tar.gz解壓到文件夾b中:tar -zxvf a.tar.gz -C /b
給其他命令傳遞參數(shù)的過濾器。用好了可以說是神器了,例如下面一條命令是用find查找/data目錄下以.txt文件結(jié)尾的文件,并復(fù)制到/tmp下:
find /data/ -name "*.txt" | xargs cp -t /tmp
-t 指定粘貼的目標(biāo)路徑,xargs把find的結(jié)果作為參數(shù)傳給cp命令。
常用選項(xiàng):
-n1: 表示將參數(shù)一個(gè)一個(gè)傳過去
-I: 使用-I指定一個(gè)替換字符串{},這個(gè)字符串在xargs擴(kuò)展時(shí)會(huì)被替換掉,例如:
ls | xargs -I {} echo haha{}
這條命令會(huì)把在當(dāng)前目錄下所有文件和目錄前加上“haha”打印出來,只是為了舉例而舉例orz
常用功能是查看文件或目錄是否存在:
test -d xiajbxie && echo "found" || echo "not found"
查看文件夾xiajbxie是否存在,若存在打印found,不存在打印not found
查找當(dāng)前目錄下所有文件名包含’.txt’的文件,并統(tǒng)計(jì)數(shù)量
ls *.txt* | wc -l
rename支持利用perl正則語法重命名文件
rename "s/\(.*\)/_brack/" *(*
上面命令的作用是將目錄下包含括號(hào)(的文件中的括號(hào)包括括號(hào)中的內(nèi)容替換成_bracklinux命令,例如test(復(fù)件)替換為test_brack
我理解是用戶可以自定義一個(gè)指令用于執(zhí)行一個(gè)比較難敲的指令,相當(dāng)于快捷鍵的感覺。