linux的基本操作(上)
發表于:2007-07-02來源:作者:點擊數:
標簽:
1、用戶的登錄、注銷與關機 摁下電源開關,屏幕上刷刷閃過一串串啟動內容的文字提示,是不是感覺有點興奮?如果這是你的 linux 第一次啟動,那么在服務啟動的一串綠色的"[OK]",突然出現一個紅色的false,仔細一看好象是一個叫httpd的服務。不要害怕,這個問
1、用戶的登錄、注銷與關機
摁下電源開關,屏幕上刷刷閃過一串串啟動內容的文字提示,是不是感覺有點興奮?如果這是你的
linux第一次啟動,那么在服務啟動的一串綠色的"[OK]",突然出現一個紅色的false,仔細一看好象是一個叫httpd的服務。不要害怕,這個問題我們在以后的學習中會得到解決。最后,系統顯示:
linux login:
作為系統管理員,第一次進入系統當然要以超級用戶的身份進入,和NT中Administrators身份對應的linux帳號是root(這也是一般類
UNIX系統中常見的系統管理員身份)。在login:后面輸入“root”,然后回車,系統提示:
Password:
輸入當初在安裝的時候選擇的系統管理員密碼。你也許會奇怪,系統為什么不顯示“*”號來提示你已經輸入,好象什么也沒有輸入,光標還在原處閃爍。其實,你已經輸入了你的密碼,之所以采用這種不回顯的技術,也是出于
安全考慮——減少周圍的人知道您密碼位數的概率,而降低您密碼被很快破解的可能性。按照你心里想的輸入密碼,然后直接回車,OK,成功登錄,系統提示:
[root@linux /root]#
符號“@”前面的自然是你的帳號身份,之后的是主機名,可能根據你的主機的名稱不同而不同。/root是你的主目錄,它既是你的個人配置文件所在的地方,也是你每次登錄后所在的目錄,是你受到系統保護的私人領地——當然,前提是只有你自己擁有root權限:)。
和NT不同的是,作為多用戶多任務操作系統,linux在同一臺主機的本地就提供了6個虛擬控制臺,分別為tty1至tty6。虛擬控制提供了linux在字符模式下同時運行幾個程序的方法,實現了多任務處理。這六個虛擬控制臺可以通過組合鍵Alt+F1,Alt+F2,……,Alt+F6來進行切換。每一個控制臺都可以看作一個完全和獨立的工作站。系統啟動的缺省控制臺為tty1。從一個控制臺切換到新的虛擬控制臺以后,linux也會先顯示登錄提示符,就象第一次登錄一樣。在裝入另一個命令解釋器之前,也會詢問用戶名和口令。所以,我們可以在不同的控制臺以不同的用戶身份登錄,更方便了用特定的身份執行特定的操作。當用戶從一個虛擬控制臺切換到一個新的虛擬控制臺以后,在原來那個控制臺運行的程序將繼續運行。
我們可以來做個小小的實驗,在第一個登錄的控制臺(tty1)輸入命令ping 127.0.0.1,這時可以看見類似
windows下ping本地的輸出,緊接著Alt+F2切換到第二個虛擬控制臺,登錄以后,使用命令ps aux|grep ping(關于這個命令,將在第五個
專題的進程管理中詳細說明,它的功能是顯示運行中的程序中包含ping串的部分),我們可以看見兩行輸出,一行表示ping在運行中,一行表示你的這個查詢在查詢的時候也在運行:)。然后我們再用Alt+F1切換到第一個虛擬控制臺,可以看見ping命令還在不停的輸出——在你離開這一會,它都已經刷了好幾屏了,用Ctrl+D來結束它吧。非常清楚,ping命令在我們離開控制臺一的時候也并沒有被掛起,而一直在執行中。
在同一個控制臺中,我們不用先注銷也是可以改變我們的系統身份的,這可以用命令su實現。使用方法是:
[root@linux /root]#su username
命令行中的username是你給su的參數,例如你想改變自己的身份為bluewind(前提是您已經添加了這個系統用戶,操作方法可以參考),那么你可以使用su bluewind命令。如果你是從root身份su的話,不用輸入password。而從其它身份則系統會提示輸入密碼的。簡單的敲入su不帶任何參數的話,缺省的認為你想成為root用戶身份。
用戶退出登錄有兩種方法,一種是exit命令——這個命令一般的系統都會提供,一種是logout——有些系統如果提供了exit就不再提供這個命令了,例如redhat 7.0。執行的結果是回到上次轉換身份前的用戶狀態。例如,你先用root登錄,再su為bluewind,然后你執行exit,就回到了root身份,再執行exit,連root也退出了,回到登錄提示符的狀態。
通過te
.net登錄系統和通過本地虛擬控制臺登錄很相似,只是出于安全性考慮,系統不允許直接用root身份通過telnet登錄,你可以先用一個普通身份登錄以后再su成root——如果有必要的話。
linux提供了三種關掉系統的方式:shu
tdown、halt和reboot。這三個命令在一般情況下只有系統的超級用戶(一般都是指root,但不全是)才可以執行。輸入沒有參數的shutdown命令,2分鐘之后即可關閉系統。在這段時間,linux將提示所有已經登錄系統的用戶。如果需要設定等待的時間,可以使用如下的選項:
○now:立即。
○+mins:在指定的分鐘之后
○hh:ss:在指定的時間。
在關掉系統之前,系統會自動產生一個/etc/nologin文件,用于說明系統即將關閉,用戶不能登錄進入。在這段時間中,只有系統管理員可以進入。如果你需要獲得有關shutdown命令的更詳細的幫助,可以使用man shutdown命令。
halt命令相當于shutdown -h now ,表示立刻關機。
reboot命令相當于shutown -r now ,表示立刻重起。
2、Shell的使用 如果你熟悉DOS的話,你可以用dos中的command.com程序來幫助理解shell。它可以被認為是一種簡化的shell。shell是用戶和linux之間的接口,用戶輸入的每個命令都是由shell先解釋,然后再傳給linux內核的。有些命令是shell內建的,就好象dos的內部命令,例如顯示當前工作路徑命令pwd就是bash內部的;其它命令如同dos的外部命令是自己單獨的程序。
shell的另外一個重要特性就是,它自身就是一個解釋型程序設計語言。shell程序設計支持在高級語言里能夠見到的絕大多數程序控制結構,關于這個,能夠單獨寫一本書^_^。我們還是回到正題,不過我們可以知道,shell命令完全可以完成在dos中象bat程序一樣的功能,而且更強、更方便、更隨和——隨便寫一個命令列表的文本文件,指定一個shell執行它或者把它的屬性改為可執行后直接運行就可以了。
shell在用戶成功的登錄系統后啟動,并始終作為與系統內核交互的手段,直至退出系統。
◆常用的shell
在linux系統里,可以使用多種不同類型的shell。一般來說,在/etc目錄下會有個shells文件,該文件是目前系統中可用的shell類型列表。一般包括如下幾行:
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
而最常用的主要是Bourne shell(sh),C shell(csh)和Bourne Again Shell(bash)三種。
sh是UNIX最初使用的shell,并且在每一種UNIX上都可以使用。它在編程方面非常優秀,但和用戶的交互卻比較遜。
csh更多的考慮了界面的友好性,但普遍的認為C Shell的編程接口不如sh。由于它的編程語法和c比較相近,所以它還是被許多C
程序員所使用。
bash是sh的擴展,并與sh完全兼容,并在吸取c和kon shell的優點的基礎上對sh增加了和增強了很多特性。它是大多數linux系統中默認的shell。下面我們將主要介紹bash的簡單使用。
bash的環境變量的設置主要是在/etc/profile文件里,每個用戶還可以在自己的主目錄(剛登錄系統后的當前路徑)中的.bash_profile文件中定義自己的個人環境變量。注意,以點“.”開頭的文件在linux中是隱藏文件,使用ls的-a參數才能看見它們的存在。
我們比較關心的可能是這樣的一行
PATH="$PATH:/usr/X11R6/bin:/usr/sbin/:./"
通過下邊的export語句,這一句就象dos中設置path路徑一樣,所不同的主要有以下三點:
a、形式上用冒號分隔各個路徑單元,不象dos是用分號分隔;
b、內容上可以使用$PATH代替這個賦值等式前的路徑設置(注意,linux是區分大小寫的);
c、效果上這個路徑決定了bash查找的絕對范圍,不要認為bash會象dos自動先查找當前路徑,除非你在PATH中進行了設置。
你可以使用echo $PATH來顯示自己的當前PATH設置。
關于bash更詳細的幫助可以通過man bash命令獲得。
修改用戶缺省shell設置可以參考的有關內容。
原文轉自:http://www.kjueaiud.com