Linux系統(tǒng)的理念是:一切皆文件。而文件,就要涉及到命名規(guī)范,如下所示:
1)除了/之外,所有字符都合法
2)有些字符最好不要用,如空格符、制表符、字符@#$&()-等
3)避免使用.作為普通文件名的第一個字符。
4)大小寫敏感
今天我們來學(xué)習(xí)一下常用的命令(命令一般為可執(zhí)行文件):
命令格式:命令 -選項(xiàng) 參數(shù)
eg: ls -la /etc
說明:
1)當(dāng)有多個選項(xiàng)時(shí),可以寫在一起
2)兩個特殊的目錄 .和 .. ,分別代表當(dāng)前目錄和當(dāng)前目錄的父目錄
一、文件處理命令
1、ls命令
命令原意:list 命令路徑:/bin/ls 執(zhí)行權(quán)限:所有用戶
功能描述:顯示目錄里包含的文件,或查看文件權(quán)限(包括目錄、文件權(quán)限)、查看目錄信息等等
語法: ls 選項(xiàng) [目錄或文件]
常用參數(shù)搭配:
a :列出目錄所有文件,包含以.開始的隱藏文件
A :列出除.及..的其它文件
r :反序排列
t :以文件修改時(shí)間排序
S :以文件大小排序
l :除了文件名之外,還將文件的權(quán)限、所有者、文件大小等信息詳細(xì)列出來
d:查看目錄的屬性
2、cd命令
命令原意:change directory 命令路徑:shell內(nèi)置命令 執(zhí)行權(quán)限:所有用戶
功能描述:用于切換、改變當(dāng)前的目錄
語法:cd [目錄]
Ex: cd / 切換到根目錄
cd .. 回到上一級目錄
3、pwd命令
命令原意:print working directory 命令路徑:/bin/pwd 執(zhí)行權(quán)限:所有用戶
功能描述:顯示當(dāng)前所在的工作目錄
語法:pwd
4、touch命令
命令原意: 命令路徑:/bin/touch 執(zhí)行權(quán)限:所有用戶
功能描述:用于在文件系統(tǒng)上創(chuàng)建空文件
語法:touch [文件名]
Ex: touch HelloWorld.java
5、mkdir命令
命令原意:make directories 命令路徑:/bin/mkdir 執(zhí)行權(quán)限:所有用戶
功能描述:創(chuàng)建新目錄
語法:mkdir -選項(xiàng) [目錄名]
選項(xiàng)介紹:
-m: 對新建目錄設(shè)置存取權(quán)限,也可以用chmod命令設(shè)置;
-p: 可以是一個路徑名稱。此時(shí)若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多級目錄;
Ex:
1) mkdir t
2) mkdir -p /tmp/test/t1/t
6、cp命令
命令原意:copy 命令路徑:/bin/cp 執(zhí)行權(quán)限:所有用戶
功能描述:復(fù)制文件或目錄
語法:cp -r [源文件或目錄] [目的文件或目錄]
-r 復(fù)制目錄
Ex:
1)cp file1 file2 dir1 將文件file1、file2復(fù)制到目錄dir1
2)cp –r dir1 dir2 將dir1下的所有文件及子目錄復(fù)制到dir2
7、mv命令
命令原意:move 命令路徑:/bin/mv 執(zhí)行權(quán)限:所有用戶
功能描述:用于移動文件、或?qū)ξ募M(jìn)行更名
語法:mv [文件或目錄名] [目的目錄]
Ex:
(1)將文件test.log重命名為test1.txt
mv test.log test1.txt
(2)將文件log1.txt,log2.txt,log3.txt移動到根的test3目錄中
mv llog1.txt log2.txt log3.txt /test3
(3)將文件file1改名為file2,如果file2已經(jīng)存在,則詢問是否覆蓋
mv -i log1.txt log2.txt
(4)移動當(dāng)前文件夾下的所有文件到上一級目錄
mv * ../
8、rm命令
命令原意:remove 命令路徑:/bin/rm 執(zhí)行權(quán)限:所有用戶
功能描述:用于刪除文件
語法:rm -r [文件或目錄]
選項(xiàng)介紹: -r 刪除目錄
-f 不再詢問
-i 詢問
Ex:
(1)刪除任何.log文件;刪除前逐一詢問確認(rèn)
rm -i *.log
(2)刪除test子目錄及子目錄中所有檔案刪除,并且不用一一確認(rèn)
rm -rf test
(3)刪除以-f開頭的文件
rm -- -f*
9、ln命令
命令原意:link 命令路徑:/bin/ln 執(zhí)行權(quán)限:所有用戶
功能描述:創(chuàng)建鏈接文件,相當(dāng)于windows的快捷方式
語法:ln -s [源文件] [目標(biāo)文件]
-s 創(chuàng)建軟連接
Ex:
(1) ln –s /etc/issue /issue.soft
創(chuàng)建文件/etc/issue的軟連接/issue.soft
(2) ln /etc/issue /issue.hard
創(chuàng)建文件/etc/issue的硬鏈接/issue.hard
二、文件查看命令
1、cat命令
命令原意:concatenate and display files 命令路徑:/bin/cat 執(zhí)行權(quán)限:所有用戶
功能描述:顯示文件內(nèi)容, 從鍵盤創(chuàng)建一個文件,或?qū)讉文件合并成一個文件。
語法:cat [文件名]
cat > filename
cat file1 file2 > file
選項(xiàng)介紹:-b 對非空輸出行號
-n 輸出所有行號
實(shí)例:
(1)把 log2012.log 的文件內(nèi)容加上行號后輸入 log2013.log 這個文件里
cat -n log2012.log log2013.log
(2)把 log2012.log 和 log2013.log 的文件內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 log.log 里
cat -b log2012.log log2013.log log.log
(3)使用here doc生成新文件
cat >log.txt <<EOF
>Hello
>World
>PWD=$(pwd)
>EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/home/michael
(4)反向列示
tac log.txt
PWD=/home/michael
World
Hello
2、more命令
命令路徑:/bin/more 執(zhí)行權(quán)限:所有用戶
功能描述:分頁顯示文件內(nèi)容
語法:more [文件名]
>>常用相關(guān)操作命令:
Enter 向下n行,需要定義。默認(rèn)為1行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當(dāng)前行的行號
:f 輸出文件名和當(dāng)前行的行號
V 調(diào)用vi編輯器
!命令 調(diào)用Shell,并執(zhí)行命令
q 退出more
實(shí)例:
(1)顯示文件中從第3行起的內(nèi)容
more +3 text.txt
(2)在所列出文件目錄詳細(xì)信息,借助管道使每次顯示5行
ls -l | more -5
按空格顯示下5行
3、less命令
less 與 more 類似,但使用 less 可以隨意瀏覽文件,功能更強(qiáng)大。執(zhí)行權(quán)限:所有用戶
常用命令參數(shù)
-N 顯示每行的行號
-o <文件名> 將less 輸出的內(nèi)容在指定文件中保存起來
-s 顯示連續(xù)空行為一行
b 向后翻一頁
d 向后翻半頁
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
實(shí)例:
(1)ps查看進(jìn)程信息并通過less分頁顯示
ps -aux | less -N
(2)查看多個文件
less 1.log 2.log
可以使用n查看下一個,使用p查看前一個
4、head命令
命令路徑:/bin/head 執(zhí)行權(quán)限:所有用戶
功能描述:查看文件的前幾行
語法:head -num [文件名]
-num 顯示文件的前num行
Ex: head -20 /etc/services
(1)顯示1.log文件中前20行
head 1.log -n 20
(2)顯示1.log文件前20字節(jié)
head -c 20 log2014.log
(3)顯示t.log最后10行
head -n -10 t.log
5、tail命令
命令路徑:/bin/tail 執(zhí)行權(quán)限:所有用戶
功能描述:查看文件的后幾行
語法:tail -num [文件名]
-num 顯示文件的后num行
-f 動態(tài)顯示文件內(nèi)容
Ex: head -20 /etc/services
(1)循環(huán)讀取逐漸增加的文件內(nèi)容
ping 127.0.0.1 > ping.log &(后臺運(yùn)行:可使用jobs -l查看,也可使用fg將其移到前臺運(yùn)行)
tail -f ping.log(查看日志)