歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix教程 >> FreeBSD完全入門手冊

FreeBSD完全入門手冊

日期:2017/2/27 17:38:54   编辑:Unix教程
FreeBSD

雖然非常基礎,但是對於初學者非常有用的,相信不管是初學者還是非初學者,都是有用的。

引用:送給FreeBSD和UNIX的初學者
Annelise
Anderson
August 15, 1997

引用:
1.登錄和退出引用:
登錄時(當看到login:時)你必須是在系統安裝時創建的用戶或root超級用戶.(在FreeBSD系統安裝時就已經創建了root用戶了 ,root用戶遍歷到系統的任何一個目錄並且可以做任何事情,包括刪除系統文件,所以一定要千萬小心!)符號%和符號# 代表提示符(你的可能不一樣),%表示普通用戶,#表示超級用戶root要退出系統(並且回到login:提示符),打命令:
# exit
對,打完命令後按回車,記住UNIX對命令是區分大小寫的--也就是說,是exit,而不是EXIT.
要關閉機器,打命令:
# /sbin/shutdown -h now
要重啟機器,打命令:
# /sbin/shutdown -r now
或者
# /sbin/reboot
你也可以按Ctrl-Alt-Delete來重啟機器.
花少許時間練習一下.在最近發行的FreeBSD版本中這和/sbin/reboot是相等的,而且這比按reset按鈕要好多了.你也不想重裝東西,難道不是嗎?

2.用Root權限添加用戶引用:
當你第一次運行adduser時,它也許會創建一些缺省設置.在它建議你把sh作為缺省shell的時候,你可能想把csh作為缺省shell 而不是sh.否則直接按回車接受默認值.這些默認設置保存在/etc/adduser.conf中,一個可編輯文件.
# adduser
假如你創建了一個新用戶jack全名為Jack Benimble.出於安全因素,給jack一個口令(即使周圍的孩子也可能敲擊鍵盤).當它問你是否想jack成為某個組的成員時,回答wheel
Login group is ``jack''. Invite jack into other groups: wheel
這樣就可以用戶jack登錄系統,再用su命令成為root超級用戶.然後你就再也不會因為以root超級用戶登錄而受到責備了.

你可以在adduser中,通過按Ctrl-C退出隨時退出.在創建結束時你可以批准該用戶的生成或打n來取消創建該用戶.你也許想創建第二個用戶(jill?)這樣當你編輯jack的登錄文件時,就有一個熱備份以免出錯.一旦創建完用戶,exit用exit回到login:提示符以jack登錄.通常情況下,最好不要用root用戶而是用普通用戶完成大部分的工作.如果你已經創建了一個用戶而且想使該用戶能夠用su命令成為root用戶,你可以root登錄然後編輯文件/etc/group,把jack加入第一行(wheel組),但是你首先要練習使用vi,文本編輯器--或簡單些的編輯器,安裝在最近發行的FreeBSD中的ee.

要刪除一個用戶使用rmuser命令.

3. 環顧四周引用:
以普通用戶登錄,四處浏覽一下再使用一些命令試著訪問幫助資源和FreeBSD的別的信息.以下是一些命令和它們的功能:
id 告訴你你是誰!
pwd 顯示你在哪個目錄--當前工作目錄.
ls 顯示當前目錄的文件.
ls -F 顯示當前目錄的文件.執行文件的文件名後加*,目錄名後加/,符號鏈接後加@.
ls -l 以長格式顯示文件.
ls -a 列出隱藏點文件和其它文件.如果你是root用戶,無須加-a選項,點文件將自動顯示.
cd 改變目錄.
cd .. 回到上級目錄;注意cd後的空格.
cd /usr/local 到/usr/local目錄下.
cd ~ 到以登錄用戶的主目錄--例如/usr/home/jack.
試試cd /cdrom,然後ls, 看看你的CDROM是否mounted並且正常工作.
view filename
讓你看一個文件(文件名為filename 不改變文件名).試試
view /etc/fstab.
:q :q退出.
cat filename
在屏幕上顯示filename.如果文件太長你只能看到文件的最末部分,按ScrollLock 然後用上下鍵往回移;
ScrollLock鍵在看手冊的時候也用的上.再按一下ScrollLock將退出屏幕滾動.你可以試一下cat你主目錄的點文件cat .cshrc , cat .login , cat .profile.
你也許注意到了.cshrc文件中有關ls命令的別名(它們用起來很方便).你可以編輯.cshrc文件來創建一些別的別名.為了使系統的所有用戶都能使用這些別名,把它們放到csh的系統配置文件/etc/csh.cshrc中.

4. 獲得幫助信息引用:
這裡有一些關於幫助的有用的資源.text表示你從鍵盤打入的東西--通常是一條命令或文件名.
apropos text 在whatis數據庫中所有包含text的有關信息.
man text
text的手冊.是Un*x系統文檔的主要來源.man ls會告訴你使用ls命令的所有方法.按回車鍵在文本中移動,Ctrl-b往前翻一頁,Ctrl-f往後翻一頁,q或Ctrl-c退出.
which text 告訴你text命令所在的路徑.
locate text 所有找到text字符串的路徑.
whatis text
告訴你text命令主要用來干什麼和它的手冊頁.打入whatis *將告訴你當前目錄中的所有命令的有關信息.
whereis text 尋找text文件,並給出它的完全路徑.
你可能想對一些常用命令如cat, more,grep,mv,find,tar,chmod,chown,date,和script使用whatis命令.more命令可以讓你以DOS的方式一次只閱讀一頁內容. 例如: ls -l | more 或 more filename.符號*代表通配符--例如:ls w*將顯示所有以w開頭的文件名.

這些命令是不是並不太有效?locate和whatis命令都取決於每星期重建一次的數據庫.如果你不准備讓你的機器在周末也運行的話(運行FreeBSD),你也許希望不時地每天、每星期、每月運行這些命令?現在,以root身份運行這些命令然後在運行下條命令之前指定一個結束時間.
# /etc/daily 輸出省略
# /etc/weekly 輸出省略
# /etc/monthly 輸出省略
如果你等的不耐煩了,按Alt-F2到另一個虛擬控制台上並登錄進去.實際上FreeBSD是一個多用戶、多任務系統.不過這些命令在運行時出現的信息大概會在你的屏幕上顯示一下;你可以打clear命令清除屏幕.一旦它們開始運行了,你可以看看/var/mai l/root和/var/log/messages著兩個目錄.

你是你自己系統的管理員,作為一個系統管理員或Unix系統的單用戶,運行這些命令是最基本的.實質上,所有你須要已root身份做的事情就是系統管理.這種職責在那些又大又厚的Unix書裡並沒有得到很好的概括,這些書籍似乎花了很大空間用來說明w indows管理器的下拉菜單.系統管理方面的書你應該看看以下兩本,

紅封面的Evi Nemeth et.al.'s UNIX System Administration Handbook(Prentice-Hall, 1995, ISBN 0-13-15051-7)--the second edition,另外一本為aleen Frisch's Essential System Administration (O'Reilly & Associates, 1993,ISBN 0-937175-80-3).我使用的是Nemeth的書.

5. 文本編輯引用:
配置系統的時候,一般都要編輯文本文件.大多數要編輯的都在/etc目錄下,你需要使用su成為root才能更改這些文件.你可以使用方便的ee命令,但是長遠考慮,vi值得學習./src/contrib/nvi/docs/tutorial目錄下有一個出色的教程,如果你安裝了的話;否則你可以從ftp.cdrom.com的 FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial目錄下ftp過來.

在編輯文件之前,你應該先做個備份.假設你要編輯文件/etc/rc.conf.你只要用cd/etc到達/etc目錄然後打命令:
# cp rc.conf rc.conf.orig
這樣就把rc.conf拷貝為rc.conf.orig,稍後你可以把rc.conf.orig拷貝回rc.conf來覆蓋源文件.但最好是先移動(重命名)然後拷貝回去:
# mv rc.conf rc.conf.orig
# cp rc.conf.orig rc.conf
因為mv命令保留了文件的原先日期和擁有者.你現在可以編輯rc.conf了.如果你要源備份,你只要mv rc.conf rc.conf.myedit
(假設你要保留你的編輯版本)然後用
# mv rc.conf.orig rc.conf
來恢復成以前的樣子.
要編輯文件,打命令
# vi filename
用方向鍵在文本中來回移動.Esc(escape鍵)使vi進入命令模式.這兒有些命令:
x 刪除光標所在處的字符
dd 刪除整個一行(即使在屏幕上是折行)
i 在光標所在處插入文本
a 在光標所在處之後插入文本
一旦你打了i或a,你就可以鍵入文本了.Esc使你進入命令模式,然後你可以打:
:w 存盤然後繼續編輯
:wq 存盤並退出
:q! 放棄存盤並退出
/text 移動光標到text處;/Enter (回車鍵)用來尋找下一個text
G 移動到文件最末
nG 到文件的第n行,n代表一個數字
Ctrl-L 刷新屏幕
Ctrl-b and Ctrl-f 朝前或朝後翻一屏,就象more和view一樣

在你的主目錄下用vi filename創建一個文件來練習一下如何添加、刪除文本,保存文件,然後繼續編輯.vi會帶來一些驚奇,因為它的確相當復雜,有時候你會不經意的發出一條命令取得一些意想不到的效果.(一些人竟然會喜歡vi--vi比DOS EDIT強多了--去查查:r命令.)當你遇到麻煩時,多按幾下Esc鍵以確保你在命令模式然後從那裡繼續下去,經常用:w存盤,還有在需要的時候用:q!退出重來一次.

現在你可以cd到/etc目錄下,su成為root,用vi編輯文件/etc/group,加一個用戶到wheel組這樣這個用戶就有享有root特權了. 在文件的第一行的末尾加一個逗號和用戶名,按Esc,然後用:wq存盤退出.立即生效.(你沒有在逗號之後加空格,對嗎?)

6. 在DOS下打印文件引用:
在這一點上,你也許沒有打印機,有個辦法可以先從手冊頁建一個文件然後再把這個文件移到軟盤,然後在DOS下打印.假設你想仔細閱讀一下有關文件權限的文檔(非常重要).你可以打命令man chmod.命令:
# man chmod | col -b > chmod.txt
會刪掉格式代碼然後把手冊頁發送到chmod.txt文件,而不是顯示在屏幕上.現在你可以插入一張dos格式化好的軟盤,su成為ro ot,然後輸入命令:
# /sbin/mount -t msdos /dev/fd0 /mnt
這樣就把軟盤mount到了/etc目錄下了.
現在(你沒必要再用root了,輸入exit回到剛才的用戶jack)可以到剛才創建chmod.txt的那個目錄然後把文件拷貝到軟盤:
% cp chmod.txt /mnt
再用ls /mnt查看一下/mnt目錄下的文件列表,應該能顯示chmod.txt. 也許你很想將/sbin/dmesg輸出到一個文件,可以輸入命令:
% /sbin/dmesg > dmesg.txt
然後拷貝dmesg.txt到軟盤./sbin/dmesg是系統的啟動日志,最好能了解它的內容,因為它能告訴你系統在啟動的時候都找到了什麼硬件.如果你想向[email protected]或一個USENET組--象FreeBSD找不到我的磁帶機,我該怎麼辦?--回答問題的人總是想先知道dmesg的內容.
現在你可以將軟驅從FreeBSD卸掉(用root)並取出軟盤:
# /sbin/umount /mnt
然後重啟機器到DOS.把這些文件copy到一個DOS目錄,用諸如DOS EDIT,Windows Notepad或Wordpad,或一個字處理器打開上述文件,做一些小小的改動,然後存盤,再象平常一樣在DOS或Windows下打印出來.希望一切順利!用dos的print命令打印手冊文檔效果最好.(把文件從FreeBSD拷貝到mount好的dos風區要冒一些風險.)

要從FreeBSD下打印首先要牽涉到在/etc/printcap目錄下創建合適的條目和在/var/spool/output目錄下創建相應的脫機目錄 .如果你的打印機在lpt0上(即dos下的LPT1),你只須到/var/spool/output目錄然後用mkdir lpd命令(用root)建一個lpd目錄(如果該目錄原先不存在的話).接著當系統啟動的時候如果打印機電源接通的話,打印機會有反應,並且lp或lpr命令應該能夠向打印機發送一個文件.無論文件是否打印取決於它的配置,在FreeBSD手冊裡有詳細介紹.

7. 其他一些常用命令引用:
df 顯示磁盤空間和安裝了的文件系統.
ps aux 顯示正在運行的進程.ps ax是窄格式.
rm filename 刪除filename.
rm -R dir 刪除一個目錄,包括所有子目錄--小心!
ls -R
顯示當前目錄和所有其子目錄的文件;我用的不大一樣,用ls -AFR > where.txt,可以在我找到更好的查找文件的方法之前得到/目錄和(分別的)/usr目錄下所有文件的列表.
passwd 修改一個用戶(或root)的口令
man hierUnix 文件系統上的手冊
在/usr或任何別的目錄下使用find命令來查找文件:
% find /usr -name filename
你可以用在filename裡使用*通配符(應該加在引號裡). 如果你告訴find到/目錄而不是/usr目錄下查找文件,它會到所有安裝好的文件系統包括CDROM和dos分區中去查找文件.

關於Unix命令和使用工具,一本比較好的書是Abrahams & Larson, Unix for the Impatient (2nd ed., Addison-Wesley, 1996).在Internet上也有很多Unix信息.看看Unix Reference Desk.

8. 下一步引用:
現在你有了編輯工具並且知道如何遍歷系統,因此你可以運行任何你想要的東西.在FreeBSD的站點上和FreeBSD手冊上(很可能在你的硬盤上)都可以找到大量的相關信息.同時在Walnut Creek CDROM和它的站點上也可以找到大量的應用程序包.使用手冊已經告訴你如何添加這些程序包(添加程序包的時候該包必須存在 ,然後用pkg_add/cdrom/packages/All/packagename,packagename表示包的文件名).在下列目錄及文件中可以找到光盤上有關每個程序包簡要說明的一張列表:cdrom/packages/index,cdrom/packages/index.txt,和cdrom/ports/index.更詳細的說明可以在/cdrom/ports/*/*/pkg/DESCR文件裡找到,前後兩個*分別代表程序所屬的類別和程序名.

如果你不能理解手冊上所說的關於如何從cdrom上安裝程序包的話,下列步驟通常可以行的通:

找一個你要的包,比如kermit.存放在光盤上的某個目錄.用下列命令把該子目錄拷貝到/usr/local目錄下(供所有用戶使用的軟件最好都放在這):
# cp -R /cdrom/ports/comm/kermit /usr/local
這樣/usr/local/kermit子目錄就包含了是光盤上kermit子目錄下的所有文件.下一步,如果/usr/ports/distfiles不存在的話就用mkdir把這個目錄建起來.現在到/cdrom/ports/distfiles文件裡查找一下你所要的程序包的名字.然後包相關的安裝文件拷貝到/usr/ports/distfiles目錄下;在最近的新版本中你可以跳過這一步,FreeBSD會自動完成這一步.對kermit來說,沒有d istfile.然後cd到包含Makefile的/usr/local/kermit子目錄下,打命令:
# make all install
在這一過程中,如果系統在/usr/ports/distfiles目錄中找不到相關的壓縮文件的話,它就會ftp去下載該文件.如果你沒有聯網並且該文件不在上述目錄下的話,你得用另外一台機器來獲得該文件,然後再把它從軟盤或dos分區拷貝到/usr/ports/distf iles下.閱讀一下Makefile(用cat或more命令)看看應該到哪裡(master distribution site)下載、文件名是什麼.下載到了dos下後文件名會縮短,你把它放到/usr/ports/distfiles下後得把文件名改為原來的(用 mv命令),這樣在安裝的時候,系統就能找到這個文件了.(用二進制模式下載!)然後回到/usr/local/kermit目錄,到有Makefil e的目錄,打make all install.

安裝程序包的時候可能碰到的另外一件事就是需要事先安裝一些別的應用程序.如果安裝過程停下來說找不到unzip或別的什麼的話,你就必須先安裝unzip的程序包然後才能繼續. 

一旦安裝完畢,打rehash命令讓FreeBSD重新讀一下該路徑下的文件,這樣它就知道目錄下都有些什麼.(如果當你用whereis或w hich命令時出現很多路徑找不到的信息的話,你得在你的主目錄下的.cshrc文件中path描述後添加一部分.出於安全考慮,Unix中的path除了當前目錄不在path中(默認),別的和DOS下的path都是一樣的,要運行不在path中的當前目錄的命令,要在命令前打./才能使命令執行,斜槓後不能有空格.)
< br> 也許你想從Netscape的ftp站點上得到最新版的Netscape.(Netscape必須運行在X Windows系統上.)現在有FreeBSD版本了,仔細找找.只要運行 gunzip filename和tar xvf filename,把執行文件移到/usr/local/bin或其它一些存放執行文件的地方,rehash,然後把下列行加到每個用戶主目錄下的.c shrc文件中或者(更簡單)干脆到系統啟動配置文件/etc/csh.cshrc中:
setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
setenv XNLSPATH /usr/X11R6/lib/X11/nls
前提是假設文件XkeysymDB和目錄nls在目錄/usr/X11R6/lib/X11下;如果不在的話,查找一下然後放到上述目錄下.

如果你以前就已經用CDROM(或ftp)安裝了Netscape,不要把用新的Netscape執行文件覆蓋/usr/local/bin/netscape,老的文件只是一個設置環境變量的shell腳本.相反,把新的執行文件更名為netscape.bin,然後覆蓋老的執行文件/usr/local/lib/nets cape/netscape.bin.

9. 你的工作環境引用:
你的shell是你的工作環境中最重要的部分.在DOS下,shell通常為command.com.對你所打入的命令進行解釋的程序就是shell, 這樣來與操作系統通信.你也可以寫你自己的shell腳本,就象DOS批處理文件:一組在運行時不需要你的干涉的命令.

FreeBSD裝好後有2個shell:csh和sh.Csh比較適合命令行處理,而腳本應該用sh(或bash)來寫.可以打命令echo $SHELL來查看你用的是什麼shell.

Csh shell是不錯的,但是tcsh能做的要比csh能做的要多.它允許你用方向鍵調用歷史命令而且還能對歷史命令進行編輯.tcsh還允許你用tab鍵補齊文件名(csh用esc鍵),用 cd -命令可以切換到上一次你所在的目錄.除此而外,用tcsh切換你的提示符也極其方便.Tcsh是你感到更輕松.

安裝一個新的shell分以下3步:

I. 把shell作為一個程序包安裝,就象安裝別的程序包一樣.用rehash和which tcsh(假設你正在安裝tcsh)來確保安裝正確.
II. 成為root,編輯/etc/shells,為新的shell添加一行,就本例而言,應該為/usr/local/bin/tcsh, 存盤.(有的程序包也許會自動完成.)
III. 用chsh命令把你的shell永久的改為tcsh,或者在提示符下打tcsh更改你的shell,不用重新登錄.
注意:對於FreeBSD較早的版本和大部分的Unix,把root的shell改為除sh或csh之外別的什麼shell可能回帶來危險;因為當系統進入單用戶模式後,你的shell可能運行不起來.解決辦法是用su -m成為root,這樣tcsh就成為你作為root時候的shell了,因為shell是環境的一部分.把下面的別名加到你的.tcshrc文件中後上述情況就一直如此了:
alias su su -m.
當tcsh啟動時,它會和csh一樣樣去讀取/etc/csh.cshrc和/etc/csh.login.還會讀取你主目錄中的.login和.cshrc文件,除非你的目錄中有.tcshrc文件.你可以干脆把.cshrc拷貝到.tcshrc.

這樣你就把tcsh安裝好了,可以修改提示符了.你可以查看手冊中有關tcsh的細節.把下面這行放到你的.tcshrc中後,你就可以知道你打了多少命令、現在幾點鐘和當前所在目錄.如果你是普通用戶,還有一個>;如果你是root,就是#.Tcsh在任何情況下都能做到:
set prompt = %h %t %~ %#
如果原來有這句話應該放在原來設置提示符的地方;如果找不到的話,就應該在if($?prompt) then後面.注釋掉原來的那一行;這樣你就總是可以在喜歡的時候切換到老的提示符.別忘記空格和引號.打source .tcshrc來讓系統重新讀一下.tcshrc文件.你可以用env命令列出已經設置好的別的環境變量.它會顯示你默認的編輯器、翻屏、終端類型和其它一些變量.如果你遠程登錄後不能運行程序,這是因為終端沒配置好,可以運行命令setenv TERM vt100.

10. 其它引用:
作為root,用 /sbin/umount /cdrom卸裝CDROM,從光驅中取出CDROM,放入另外一張,然後假設cd0a是你光驅的設備名,用 /sbin/mount_cd9660 /dev/cd0a /cdrom安裝光驅點.在最近的版本中,要安裝光驅點的話,只要打/sbin/mount /cdrom.

如果你的空間不夠,可以使用可啟動文件系統-第二張FreeBSD CDROM.可啟動文件系統CDROM上的內容應版本的不同而有所變化.使用可啟動文件系統將牽涉到使用lndir,lndir隨X Window系統一起安裝,lndir告訴程序到哪裡找所需要的文件,因為這些文件在/cdrom目錄下而不是通常情況下的/usr目錄.閱讀一下man lndir.

11. 歡迎提建議引用:
如果你使用這篇教程的話,我想知道哪裡說的不清楚、還有哪些你認為應該包括進去的卻被遺漏的、還有本教程是否對你有幫助.感謝Eugene W. Stark,計算機科學系的教授,和John Fieber和他具有幫助的注釋.

Annelise Anderson, [email protected]
[email protected]
-----------------------------
(C)1999 by China FreeBSD User Group. All rights reserved.
URL:www.cn.freebsd.org
E-Mail:[email protected]
$Date: 1999/12/28 05:40:56 $

Copyright © Linux教程網 All Rights Reserved