一天一點Linux(一)

每天來點Linux(一)

Linux的抽象級別和層次

Linux主要分為三層,最底層為硬體,硬體之上是核心也就是作業系統,核心之上是程序也稱為使用者空間,由核心管理

shell

shell是命令行介面,類似Windows的DOS,shell是Linux系統最重要的一部分,所有Linux作業系統都需要shell才能正常工作,shell有很多版本都是基於Bourne shell開發出來

Shell的使用

當打開shell視窗(也可叫做終端視窗),在頂端可以看到一個提示字元大概是這樣name@host:path$(使用者名稱@主機名稱:路徑$)

cat

cat可以顯示一個或多個檔案內容

cat file1 file2 //會顯示file1 file2兩個檔案的連接內容

ls

顯示指定目錄的內容

ls -l //加上-l參數可以把內容列表

cp

用來複製檔案

cp file1 file2 //把file1內容複製到file2
cp file1 file2 dir //將file1 file2複製到dir目錄

mv

用來重新命名檔案名稱,加上目錄名稱可移動檔案到該目錄

mv file1 file3 //把file1重新命名為file3
mv file1 file2 dir //把file1 file2移動到dir目錄

touch

用來建立一個檔案

touch file1 //建立file1檔案

rm

用來刪除檔案

rm file //刪除file檔案

echo

將參數顯示到標準輸出

echo test //顯示test

cd

用來設定工作目錄

cd dir //將目錄設定成dir

cd //假如不帶參數將會返回到個人目錄

mkdir

建立新目錄

mkdir dir //建立一個dir目錄

rmdir

用來刪除目錄

rmdir dir //刪除dir目錄

rmdir -rf dir //假如目錄裡有其他檔案就需要使用-r參數遞迴刪除,-f代表強制刪除

Shell萬用字元

Shell萬用字元共有兩個,一個是*,一個是?

//*的用法
abc* //所有以abc開頭的檔案名稱
*abc //所有以abc結尾的檔案名稱
*abc* //所有包含abc的檔案名稱

//?的用法
a?cd//可以配對任意字元,EX:abcd、azcd都可以匹配

中間命令

grep

[-i]:不區分大小寫

[-v]:反轉配對(不包含)

顯示與輸入的參數所配對的行或檔案(類似Windows的搜尋功能)

grep root /etc/passwd //顯示passwd檔案內與有包含root的行

grep root /etc/* //顯示所有在etc內包含root的檔案

less

內容過多可使用less分頁顯示

cat /etc/passwd | less 
//空白鍵是下一頁
//B是上一頁
//Q是離開

pwd

顯示目前所在的工作目錄位置

diff

查看兩個檔案不同之處

diff file1 file2

file

查看檔案格式

file /etc/passwd //text

file /etc //directory

find

尋找目錄內某個檔案

find /etc -name passwd -print

locate

與find一樣是用來搜尋檔案,但不一樣的地方是locate是透過系統所建立的索引中尋找檔案,所以速度會比find還要快,但是對於新建立的檔案(系統還未加入到索引內)可能會尋找不到

head

[-n]:設定顯示行數

顯示檔案的前十行內容

tail

顯示檔案的後十行內容

sort

[-r]:反向排序

[-n]:按照數字排序

將檔案內按照字母排序