1.cd
切換工作目錄
2.ls
格式:ls [option]
查看當前目錄下的文件和目錄,它有很多參數可以選,常用的參數如下:
[option] |
---|
-a:顯示所有文件和文件夾,包括隱藏文件和當前目錄(.)以及上級目錄(..) |
-h:以易於理解的方式顯示文件大小,通常和-l組合使用,h是--human-readable的簡寫 |
-l:列出文件的詳細信息,每行顯示一個 |
-r:排序時反向排序,是--reverse的簡寫 |
-R:同時遞歸的列出子目錄下的文件 |
-S:按文件大小排序,最大的在前面, |
-t:按修改時間排序,最新的在前面, |
一般組合使用:
ls -ahl
3.find
格式:find [PATH] [option] [action]
find命令參數比較多,下面之列出常用幾種:
find [path] -size [±]SIZE:在目錄path找出大於(+)或小於(-)SIZE文件,SIZE可以爲10k、10M、10G等
find [path] -name 'fname':找出文件名爲fname的文件,文件名全匹配才能找到,若不確定文件名可以加通配符,*fname*
4.grep
格式:grep [OPTION]... PATTERN [FILE]...
在每個文件中搜索PATTERN
例如:grep -i 'hello world' menu.h main.c
[option] |
---|
-c:打印出匹配的次數 |
-i:忽略大小寫 |
-n:打印匹配結果的行數 |
-r:遞歸查找,此參數後可以跟目錄 |
-v:反向選擇,打印未匹配的行 |
-w:整詞匹配 |
一般組合使用:
grep -nr 'function' ./
5.cp
格式:cp [OPTION]... SOURCE... DIRECTORY
例如: cp -file1 file1.bak; cp file1 file2 directory1
[option] |
---|
-i :如果目標文件已經存在,在copy時會先詢問是否覆蓋 |
-r 或-R:遞歸copy,用於目錄 |
--parents:在目錄下使用完整的源文件名 |
-u:只有目標文件不存在或者源文件更新時纔會copy |
說明:
cp --parents dir1/dir2/file1 dir3 得到的目標文件爲dir3/dir1/dir2/file1
cp -r --parents dir1 dir3 將dir1整個目錄copy到dir3下
6.mv
格式:mv [OPTION]... SOURCE... DEST
如果DEST不是已存在目錄,則表示重命名;其他情況表示移動SOURCE
[option] |
---|
-f:如果目標文件已經存在,強制覆蓋 |
-i :如果目標文件已經存在,在move時會提示是否覆蓋 |
-u:只有目標文件不存在或者源文件更新時纔會copy |
-v:將打印出目前正在進行的操作 |
7.rm
格式:rm [OPTION]... [FILE]...
[option] |
---|
-f:強制remove,FILE不存在時也不會提示 |
-i :在刪除前會先提示是否remove |
-r 或-R:遞歸remove,用於目錄,此參數慎用 |
-v:將打印出目前正在進行的操作 |
可以看到,mv、cp、rm的option非常相似,這樣記住一個就可以了,舉一反三;
8.tar
格式:tar [OPTION...] [FILE]...
[option] |
---|
-c:創建一個壓縮文件 |
-C:指定壓縮或解壓縮的目錄 |
-f:指定壓縮文件 |
-j:對應bzip2文件的處理 |
-t:列出壓縮包的內容 |
-v:將打印出目前正在進行的操作 |
-x:從壓縮包中提取文件 |
-z:對應gzip文件的處理 |
一般組合使用:
解壓bzip2文件:tar -jxvf FILE.tar.bz2 -C DIRECTORY
製作bzip2壓縮文件:tar -jcvf FILE.tar.bz2 FILE/DIRECTORY
預覽bzip2壓縮文件的內容:tar -jtvf FILE.tar.bz2
注:gzip文件需要將j修改爲z
9.cat
格式:cat [OPTION]... [FILE]...
[option] |
---|
-E:每一行的結尾顯示爲$ |
-n:顯示行號 |
-T:將Tab顯示爲^I |
-A:等同於-vET |
cat FILE後常跟管道|,接其他處理命令
10.echo
格式:echo [OPTION]... [STRING]...
[option] |
---|
-e:啓用反斜槓轉義,默認是禁用反斜槓轉義的 |
-n:不輸出末尾的換行符 |
舉個例子:
[root@localhost ~]# echo "\n"
\n
[root@localhost ~]# echo -e "\n" 註釋:輸出兩個空行是因爲除了\n還有字串結尾的換行符
[root@localhost ~]# echo -ne "\n" 註釋:輸出一個空行是因爲除了字串結尾的換行符被忽略
[root@localhost ~]#