Linux系統基礎-基本系統管理命令

Linux Line Sync UNIX 浩泰思特 2017-05-10

Linux系統基礎-基本系統管理命令

系統管理基本上可以分為兩種,一種是root(系統管理員)對Linux的系統管理部分,root本身的職責就是負責整個Linux系統的運行穩定,增加系統安全性,校驗使用者的身份,新增使用者或刪除惡意的使用者,並明確每一個在機器上的使用者權限等等。另一種就是每一個使用者(包括root)對自己文件的權限管理。因為Linux是多用戶多任務系統,每一個使用者都有可能將其工作的內容或是一些機密性的文件放在Linux工作站上,所以對每個文件或是目錄的歸屬和使用權,都要有非常明確的規定。下面我就按管理員和一般用戶分類來介紹基本的系統管理命令。

管理員使用的系統管理指令

➀ adduser命令

新增使用者賬號的命令,如果你想新增一個叫做jack的用戶,那麼需在控制檯下輸入:

adduser jack

這樣就增加了一個名字為jazk的用戶,要注意這裡對大小寫是敏感的。另外,新增的用戶是沒有口令的,你還應當為用戶設置口令或者是吩咐用戶在第一次登錄系統的時候為自己設置口令。

➁ passwd命令

這個命令可以修改特定用戶的口令,使用格式是:

passwd 用戶名

這是,系統會提示你輸入新密碼,你輸入第一遍後,還要輸入第二遍進行確認。輸入兩遍相同的密碼之後,系統就接受了新的密碼。如果這個命令是一般用戶來使用的話,那就只能改變它自己的密碼。

➂ find,whereis,locate命令

這三個命令都是用來查找文件的,使用格式是:

find 路徑名稱 -name 文件名 參數(我們這裡就不討論參數了)

whereis 文件名

locate 文件名

一般來說,find命令功能最為強大,但是對硬件的損耗也是最大的,當你使用find去查找你個文件時,你會發現硬盤等在不停的閃動,這就意味著你的硬盤可能會比別人的少用個三四年。當你使用whereis或locate去查找文件時,你會發現硬盤卻是安安靜靜的,這是因為這兩個命令是從系統的數據庫中查找文件,而不是去拼命的讀硬盤。所以,如果平常你只是想找一些笑文件的話,使用whereis或locate就可以了,如果你是要進行系統管理的工作,那麼使用find再加上一些參數就可以滿足你的要求了。

➃ su命令

這個命令可以讓普通用戶變成具有管理員權限的超級用戶(superuser),只要它知道知道管理員的密碼就可以。多用戶多任務系統的強調的重點之一就是系統的安全性,所以應避免直接使用root身份登錄系統去做一些日常性的操作,因為時間一久root密碼就有可能被知道而危害到系統安全。所以平常應避免用root身份登錄,即使要管理系統,也請儘量使用su指令來臨時管理系統,然後記住定期的更換root密碼。

加入你現在是以一個普通用戶的身份登錄系統,現在你輸入:

su

系統會要求你輸入管理員的口令,當你輸入正確的密碼後,就可以獲得全部的管理員權限,這是你就是超級用戶(superuser)。但你執行完各種管理操作以後,只要輸入logout就可以退回到原先的那個普通用戶的狀態。

➄ shutdown,halt命令

這兩個命令是用來關閉Linux操作系統的。

作為一個普通用戶是不能夠隨便關閉系統的,因為雖然你用完了機器,可是這時候可能還有其它的用戶正在使用系統。因此,關閉系統或者是重新啟動系統的操作只有管理員才有權執行。另外Linux系統在執行的時候會用部分的內存作緩存區,如果內存上的數據還沒有寫入硬盤,就把電源拔掉,內存就會丟失數據,如果這些數據是和系統本身有關的,那麼會對系統造成極大的傷害。一般,我們建議在關機之前執行三次同步指令sync,可以用分號";"來把指令合併在一起執行,如:

# sync;sync;sync

使用shutdown關閉系統的時候有以下幾種格式:

shutdown (系統內置2分鐘關機,並傳送一些消息給正在使用的user)

shutdown -h now (下完這個指令,系統立刻關機)

shutdown -r now (下完這個指令,系統立刻重新啟動,相當於reboot)

shutdown -h 20:25 (系統會在今天的20:25關機)

shutdown -h +10 (系統會在十分鐘後關機)

如果在關機之前,要傳送信息給正在機器上的使用者,可以加"-q"的參數,則會輸出系統內置的shutdown信息給使用者,通知他們離線。

halt命令就不用多說了,只要你輸入halt,系統就會開始進入關閉過程,其效果和shutdown -h now是完全一樣的,我每次關機的時候都是用halt。

➅ reboot命令

這個命令是用來重新啟動系統的。

當你輸入reboot後,你就會看到系統正在將一個一個的服務都關閉掉,然後再關閉文件系統和硬件,接著機器開始重新自檢,重新引導,再次進入Linux系統。

普通用戶使用的系統管理指令

➀ chown命令

這個命令的作用是改變文件的所有者。

如果你有一個文件名為classment.list的文件,所有權要給於另一個賬號為golden的同學,則可用chown來實現這個操作,但是當你改變了文件的所有者以後,該文件雖然在你的Home目錄下,可是你已經無任何修改或刪除該文件的權限了,這一點同學們千萬要注意。通常會用到這個指令的時機,應該是你想讓Linux機器上的某位使用者到你的Home下去用謀個文件是會用到。

➁ chmod命令

這個命令用來改變目錄或文件的屬性,是Linux中一個應當熟悉的命令。

一個文件用10個小格來記錄文件的權限。前三個小格是擁有者(user)本身的權限,中間三個小格是和使用者同一組的成員(group)的權限,最後三個小格是表示其它使用者(other)的權限。現在我們用三位的2進制數來表示相應的三小格的權限,例如:

111 rwx 101 r-x 011 -wx 001 -x 100 r-

這樣一來,我們就可以用三個十進制的數來表示一個文件屬性位上的十個格,其中每一個十進制數大小等於代表每三格的那個三位的二進制數。例如,如果一個文件的屬性是: rwxr-r--,那麼我們就可以用744來代表它的權限屬性;如果一個文件的屬性是:rwxrwxr--,那它對應的三個十進制數就是774。這樣一來我們就可以用這種簡便的方法指定文件的屬性了。例如,我想把一個文件test.list的屬性設置為rwxr-x---,那麼我只要執行:

chmod 750 test.list

就可以了,對於改變後的權限,你用ls -l就可以看到。

Process 處理的指令

➀ ps

ps 是用來顯示目前你的 process 或系統 processes 的狀況。

以下列出比較常用的參數:

其選項說明如下:

-a 列出包括其他 users 的 process 狀況。

-u 顯示 user - oriented 的 process 狀況 。

-x 顯示包括沒有 terminal 控制的 process 狀況 。

-w 使用較寬的顯示模式來顯示 process 狀況 。

我們可以經由 ps 取得目前 processes 的狀況,如 pid , running state 等。

➁ kill

kill 指令的用途是送一個 signal 給某一個 process 。因為大部份送的都是用來殺掉 process 的 SIGKILL 或 SIGHUP ,因此稱為 kill 。kill 的用法

為:

kill [ -SIGNAL ] pid ...

kill –l

SIGNAL 為一個 singal 的數字,從 0 到 31 ,其中 9 是 SIGKILL ,也就是一般用來殺掉一些無法正常 terminate 的訊號。你也可以用 kill -l 來察看可代替 signal 號碼的數目字。kill 的詳細情形請參閱 man kill。

字串處理的指令

➀ echo

echo 是用來顯示一字串在終端機上。□ echo -n 則是當顯示完之後不會有跳行的動作。

➁ grep/fgrep

grep 為一過濾器,它可自一個或多個檔案中過濾出具有某個字串的行,或是自標準輸入過濾出具有某個字串的行。

fgrep 可將欲過濾的一群字串放在某一個檔案中,然後使用 fgrep 將包含有屬於這一群字串的行過濾出來。

grep 與 fgrep 的用法如下:

grep [-nv] match_pattern file1 file2 ....

fgrep [-nv] -f pattern_file file1 file2 ...

-n 把所找到的行在行前加上行號列出

-v 把不包含 match_pattern 的行列出

match_pattern 所要搜尋的字串

-f 以 pattern_file 存放所要搜尋的字串

網路上查詢狀況的指令

➀ man

man 是手冊 ( manual ) 的意思。 UNIX 提供線上輔助( on-line help )的功能, man 就是用來讓使用者在使用時查詢指令、系統呼叫、標準程式庫函式、各種表格等的使用所用的。man 的用法如下:

man [-M path] [[section] title ] .....

man [-M path] -k keyword ...

-M path man 所需要的 manual database 的路徑。

我們也可以用設定環境變數 MANPATH 的方式來取代 -M 選項。

title 這是所要查詢的目的物。

section 為一個數字表示 manual 的分類,通常 1 代表可執行指令,2 代表系統呼叫( system call ) ,3 代表標準函數,等等。

我們如要參考 eqnchar(7) 的資料,則我們就輸入 man 7 eqnchar ,便能取得我們所要的輔助訊息。

-k keyword

用來將含有這項 keyword 的 title 列出來。

man 在 UNIX 上是一項非常重要的指令,我們在本講義中所述之用法均僅只是一個大家比較常用的用法以及簡單的說明,真正詳細的用法與說明還是要請你使用 man 來得到。

➁ who

who 指令是用來查詢目前有那些人在線上。

➂ w

w 指令是用來查詢目前有那些人在線上,同時顯示出那些人目前的工作。

➃ ku

ku 可以用來搜尋整個網路上的 user ,不像 w 跟 who 只是針對 local host 的查詢. 而且 ku 提供讓使用者建立搜尋特定使用者名單的功能。你可以建立一個檔案 information-file 以條列的方式存放你的朋友的資料,再建立一個檔案 hosts-file 來指定搜尋的機器名稱。 ku 的指令格式可由 ku -h 得到。

相關推薦

推薦中...