開場白 經過數年的“磨練”,我終於擺脫了TreeStruct恐懼症的陰影,開始真正學習和使用Linux。從Windows 轉到Linux,若不是倚仗早年使用DOS的經驗,的確是個痛苦的歷程。但正是由於有了那段經歷,使得我在嘗試Linux的過程中總不自覺的往DOS上靠,想從那裡找
開場白 經過數年的“磨練”,我終於擺脫了TreeStruct恐懼症的陰影,開始真正學習和使用Linux。從Windows轉到Linux,若不是倚仗早年使用DOS的經驗,的確是個痛苦的歷程。但正是由於有了那段經歷,使得我在嘗試Linux的過程中總不自覺的往DOS上靠,想從那裡找到點什麼“依據”。殊不知這正是“本末倒置”!外加我對各種概念的理解是天生的遲鈍,所以不幸患上TreeStruct恐懼症,終日不解Unix系統的“樹目錄”結構,和“一切皆為文件”的概念。幾年過去,市面上各種有關Unix系統的資料日漸豐富,我也擺脫了“病症”的折磨,但尋思著這大千世界,一定還有許多像我這樣受難的“愚公”。所以強迫自己,整理一下思緒,敲敲鍵盤,把自己的那一點點“移山”的經驗公諸於眾,與大家分享,也算對Linux在中國的推廣作出了一點點貢獻。還望各位高手多多指教。
1、准備篇
在像走馬燈似的嘗試了數個Linux發行版後,我終於還是決定--鎖定使用Slackware。Slackware Linux(http://www.slackware.org)是在美國發行的一套Linux發行版,它早在1993年就出現,被譽為是“最純的Linux”,廣受各大學和黑客們的歡迎。我最終選擇它,理由如下:
i.Slackware安裝和升級系統很方便。
Slackware使用自己設計的一套軟件安裝工具pkgtool來管理系統內的軟件。pkgtool可以方便的安裝和卸載系統內的任何軟件。這使得系統非常有彈性,可以按照實際需要規劃自身大小,是否需要X,
網絡服務,打印支持等各項功能。pkgtool使用文本界面下的仿圖形菜單界面,操作直觀簡便,說明詳細,既無需圖形設備的支持,也大大減輕了用戶背一大堆命令參數的負擔。
另外,Slackware也支持通過其他途經安裝軟件,比如源代碼編譯,rpm包、deb包安裝等等。用戶的選擇余地也很大。
ii.系統整合穩定。
Unix系統一向是以穩定著稱,Linux也不例外。在積極吸納新技術的同時,Slackware也將系統集成的穩定性做的很好。在Linux社區中,Slackware在這方面的口碑是很好的。對於動不動就死機,甚至崩潰的Windows系統而言,選擇Unix系統的優勢就是穩定。
iii.硬件支持廣泛。
對硬件的支持,其實絕大部分是靠的內核(Kernel)。而現在市面上絕大部分的硬件產品,包括最新的USB,Linux內核都能夠很好的支持。其中還包括一些板載集成品,這些從前支持不是很好的部分,現在內核也能支持了。至於那些不被支持的小部分產品,多為集成顯卡,聲卡和WinModem,是它們的生產商背靠Microsoft,或是不願公開它們的技術參數,導致不被支持(這是受到軟件許可證的限制)。碰到這種情況,只好去找生產商,看他是否提供驅動程序。如不,只能想辦法更換硬件了。但是可以肯定一點,就是哪怕這些硬件不被支持,系統照樣能夠很好的運行。應為Slackware並不要求使用多媒體,使用網絡,所有服務都是可選的,何況還有一些標准的,通用驅動程序可以使用,只是降低了硬件的部分功能而已。
iv.自由,免費。
這是所有GNU/
Linux系統的通性。這裡強調GNU,因為Linux只是一個內核,而真正的系統是由內核,用戶界面(Shell),文件系統和應用軟件這四大部分所組成。我們現在所使用的各種版本的Linux,是這四個部分的總和,他們絕大部分都遵從GNU General Public Lience發布。因此實際上當Linux指代“使用Linux內核的完整的自由Unix系統”這一概念時,就應該稱作GNU/Linux系統。在這一系統中,你享有完全自由的權利,對系統進行學習,使用,修改,再發布。但是請注意,你在擁有這些全力的同時,沒有限制其他人擁有此權利的權力。詳情請仔細閱讀GNU GPL,這一被戲稱為“病毒”的許可證。
在說明了Slackware的優勢之後,下面就要詳細說明我安裝Slackware的具體過程了。畢竟,這才是正文嘛^_^
一、下載 首先,從Slackware的FTP上下載它的最新版。我是在ftp.planetmirror.com下的,它位於澳大利亞的悉尼,去那的人少,速度快。在大學裡的朋友,可以在各個大學的校內FTP上先找找,多半是有的。實在找不到,又在市面上買不著的朋友,可以和我聯系,我幫你刻張CD。最新版的Slackware是9.0,全部軟件加在一起不到750兆,光盤安裝只需一張盤(ISO)。硬盤安裝可以根據需要下載所要的軟件包。以下是官方的數據:
A The base Slackware system. (71 MB)
AP Linux applications. (96 MB)
D Program development tools. (109 MB)
E GNU Emacs. (74 MB)
F Answers to Frequently Asked Questions about Linux. (28 MB)
GNOME The GNOME desktop environment and applications. (346 MB)
K Linux 2.4.20 kernel source. (158 MB)
KDE The K Desktop Environment, applications, and Qt. (287 MB)
N Networking applications and utilities. (118 MB)
T TeX typesetting language. (132 MB)
TCL Tcl/Tk/TclX scripting languages and tools. (15 MB)
X XFree86 X Window System graphical user interface. (115 MB)
XAP Applications for the X Window System. (254 MB)
Y Classic text-based BSD games. (6 MB)
一般下載A,AP,D,E即可。還要下載boo
tdisks和rootdisks這兩個目錄,這是用來做啟動盤的。
系統的最小要求配置是:
16兆以上內存,至少50兆剩余硬盤空間,386以上CPU(這是針對PC的架構)。
CD-ROM可選(視安裝方式),顯卡可選(是否安裝X)。
相信這樣的要求不是很難達到吧?
二、分區 安裝之前,必須首先規劃好自己的硬盤分區。對於只想安裝Linux系統的用戶,可用PQ Magic之類的分區工具先將硬盤分好區以一個10G硬盤為例,分區原則如下:
1.分2-3G空間,作為第一個主分區,文件系統為ext2(或ext3)。此分區留作裝載根分區/和引導系統。<--分區標號/dev/hda1
2.分500兆,作為Linux Swap分區,它將占用一個主分區名額。交換分區是Linux作虛擬內存用的空間,最小不應小於10兆,一般為內存容量的兩倍。但如果你有超大內存的話,也就沒必要分太多給它,最多500兆就夠了。多了不用也是浪費。注:交換分區只允許系統使用,用戶是無法使用的。<--分區標號/dev/hda4
-->3.剩下的,都可以分作邏輯分區。然後再在裡面細分。//可選項
3.1 分2-3G,作為/usr/local,這裡是用戶軟件內裝的地方,大小是軟件
需求而定,ext2文件系統。<--/dev/hda5
3.2 剩下的都分為一個區,作為/home,這裡是系統用戶的個人目錄。裝些私人物品,ext2文件系統。<--/dev/hda6
對於使用雙系統的用戶來說,只需單獨分出一個主分區(作為/),一個Swap分區。至於是否分出獨立的/usr/local和/home完全視硬盤容量而定。總之一個原則,根分區不宜太大,大了就多分幾個區。
我的硬盤分區如下:
/dev/hda1 Primer FAT32 MSDOS C:/dev/hda2 Primer
/dev/hda5 Logical FAT32 MSDOS D:/dev/hda6 Logical EXT2 LINUX /home
/dev/hda3 Primer EXT2 LINUX /
/dev/hda4 Primer LINUX SWAP LINUX /swap
三、引導 對於光盤安裝的用戶,請在BIOS中將系統設置成光盤引導。然後插入光盤,重啟計算機。光盤引導後,Slackware向您致歡迎詞,然後詢問您是否要添加引導參數。是則在boot:提示符後加入相應的參數。目前絕大部分硬件都符合IDE標准,可以通過bare.i來引導。因此輸入bare.i或是直接單擊回車鍵ENTER。
我沒有刻錄機,只能硬盤安裝,於是需要制作啟動盤。一共需要做三張啟動盤。用RAWRITE.EXE依次寫入bare.i、install.1、install.2到A盤。*注意:啟動盤一定要用沒有壞磁道的盤做,否則無法引導。* 將機器設為軟盤啟動,先插入寫有bare.i的軟盤,然後按提示依次插入install.1和install.2。
接下來就是一堆系統引導的信息。一切順利的話,最終將出現一個了login:提示符。還等什麼,root ^_^
四、安裝軟件包 直接root後就進來了(這裡不需要密碼)。提示符是#,說明我是root,特權人物,“黑衣人”。接下來做的,應該是對硬盤進行分區。但是我已經做了。*如果你還沒做,恭喜你,中大獎了。Linux下的分區工具fdisk是出了名的復雜,而Slackware又偏偏只提供它(還有一個菜單驅動的cfdisk)。有關fdisk的操作,我以後介紹。*
該進入真正的安裝了。直接輸入setup,回車。
這就是Slackware的安裝環境--一個彩色的目錄安裝模式。通常有以下幾個選項:ADDSWAP, TARGET, SOURCE, SELECT, INSTALL,
CONFIGURE 和 EXIT。有時也會有KEYMAP選項,是讓你選擇鍵盤布局的,一般就是QWERTY/US 101鍵盤了。
下面按順序進入,從ADDSWAP開始。
ADDSWAP
?顧名思義,就是讓你添加Swap分區。不管它,我已經分好了。直接CANCEL掉。
TARGET
?為各個分區設置目標目錄。按照前面分好的,我有一個根分區(hda3),一個交換分區(swap),一個邏輯分區(hda6)。首先添加交換分區SWAP到/dev/swap,確定。系統將檢查/dev/swap的磁盤是否有錯並格式化。格式化完畢後,系統提示交換分區已經建立並已激活使用。然後再依次添加/dev/hda1-->/, /dev/hda5-->/usr/local, /dev/hda6-->/home。過程大致同上。這裡系統還會提示使用文件系統的類別,統一選用ext2。
(對於使用雙系統的人,裝完Linux分區後,系統提示發現MSDOS分區並詢問是否安裝。這是為了方便以後用戶訪問fat分區。對於單系統用戶沒有此過程。安裝FAT分區也很簡單,按提示將FAT分區掛載到某個目錄即可。以後我會提及如何掛載和使用各種分區的。)
SOURCE
?我是用硬盤安裝的,所以需要提供安裝包所在的分區和目錄。我的包位於d:\linux\slackware\slackware\,所以是分區為/dev/hda5,目錄為/linux/slackware/slackware。
?對於使用光盤安裝的用戶,直接選擇第一項:"Install from a Slackware CD-ROM"。
INSTALL
?從這裡開始就是真正的安裝軟件包了。用戶在這裡可以選擇"full","newbie","menu","expert","tagpath"和"help"。下面我稍為做個名詞解釋。
full:完全安裝。省時省力,但首先你的硬盤必須夠大,否則裝著裝著突然報告沒空間了,你就慘了。
newbie:只安裝每個類別的要求項目(required packages),可選包給出提示,問你選擇裝還是不裝。該模式給出詳細的安裝信息,告訴你所裝的是什麼東西。
menu/expert:這兩個選項供你選擇你想安裝的類別和各類的包。
custom/tagpath:這兩個選項只在你有tagfile文件是才用。有興趣的話,用文本編輯器打開一個tagfile看看就能明白了。
help:幫助文件。裡面有詳細的操作說明。
?通常就選full或是menu就行了,想了解更多的信息,選newbie。我選的是menu。由於Slackware方便伸縮,所以我最初只安裝了A,AP,D,E四個類的軟件。萬一裝多了,空間不夠,你可以回到TARGET重來一便,格盤,重新選擇軟件安裝包。一定記得這回少裝點^_^
CONFIGURE
?裝完軟件包,接下來就是做一些基本的配置工作了。首先安裝內核(直接選擇默認項,除非有你有更新的內核);然後是裝MODEM,我的內貓裝在COM2端口上;再就是鼠標。最後安裝程序會檢查你所裝軟件的依賴性,看是否少裝了軟件包。
LILO
?簡單點,直接選simple,系統就會自動配置引導程序,來引導你的雙系統。我選的是expert,稍微配置了以下,選擇啟動模式為1024x768x256,這樣屏幕就大了許多。最後,我把LILO安在了MBR中。
NETWORK
?我沒有裝網絡包,所以無需這一項配置。網絡配置也很簡單,就是輸入你的IP,域名,網關等等。非局域網用戶可以選擇DHCP(動態域名協議)。
五、重啟 走到這一步,我已經全部完成了Slackware的安裝,趕緊EXIT退出,“三指禅”重啟。
屏幕噼裡啪啦的閃過各種啟動信息後,我終於看到了久違了的畫面:
darkstar login:
Log into the new system as "root".
Welcome to Linux 2.4.20.
darkstar login: root
last login: Wed May 24 12:30:39 -0700 2000 on tty2.
Linux 2.4.20.
You have new mail.
darkstar: ~#
頂上還有個憨態可居的小企鵝^_^
尾注:我是一個有經驗的Linux "Installer"(NOT USER),因此有些地方可能一帶而過了,講的不是很詳細。但是,我相信大家是有這個實力和勇氣,抱著必勝的信念來嘗試Slackware的,何況Slackware的安裝過程十分的簡單和直觀,一看就能懂的。當然它還要求你稍微懂點“鳥語”。
【Slackware實戰手記之安裝篇】就到此為止,目前這個系統沒有經過仔細配置,不是最終成品。下一篇【Slackware實戰手記之配置篇】將詳細講解如何配置這個系統。咱們下次再見。
3、硬件配置篇
經過之前的安裝,我已經將一個非常基本的Linux系統安裝進我的電腦了。那麼現在是不是就可以放心的用了呢?還不行。至少是只能局限在一個很小的范圍裡使用,這對於我這樣在Windows下享受慣了的“懶人”而言是毫無意義的。所以必須將系統“模擬”成Windows才行。
我只裝這麼個基本的系統是有道理的。
首先,基本系統便於查錯。我這不是第一次裝Linux,也不是第一次裝Slackware,知道第一次安裝多數都會出現這樣或那樣的問題,這些問題多數又是由於系統初始配置不合理造成的。在未安裝X的情況下,可以首先忽略顯卡的配置,剩下的基本上就是鼠標、鍵盤、硬盤、光驅、聲卡、貓和網卡的配置問題了。而這些在基本系統下都可以解決,而且裝的軟件越少,給我們的干擾就越少。
其次,便於講解Linux的系統結構。任何一個Unix系統(包括Linux)都是由大大小小數千個程序組成的,他們之間有的相互聯系,有的彼此獨立,因此系統組合與裁剪的余地很大。沒有圖形環境,系統照樣可以出色的工作。即使有了X,用戶也可以在不同的窗口管理器間隨意切換。這裡給予用戶完全的自由。
第三,介紹Linux軟件的安裝方法。Linux軟件的安裝過程都是大同小異的,而且將來我們必定要自行安裝新的軟件。所以這裡我可以通過不同的例子詳細介紹Linux軟件的安裝方法和過程。這也學習使用Linux的必經之路。
綜上所述,安裝基本系統,是兼俱使用與教學目的的。
我先說一下我機器的配置:
Toshiba Satellite 2655xDVD (Notebook):
CPU: Celeron 466
RAM: 128MB
HD: 10GB IDE
FD: 1.44MB
CD-ROM: 8xDVD
MODEM: Lucent Winmodem v.90
LANCard: CardBus 10/100 Fast Ethernet Adapter II
SoundCard: ESS Technology | ES1978 Maestro 2E
VideoCard: Trident Cyber9525xDVD 2MB RAM
PCMCIA: Type II x2
本身在筆記本上安裝Linux系統都是很艱難的,因為它的硬件支持性多半不好。但是很幸運的是,我的硬件都被支持(但問題還是有)。台式機的問題,尤其是自己攢的,
兼容性會好些的。
下面開始糾錯(De
bug)。
仔細觀看系統閃過的啟動信息,你將看到系統對各個硬件的初始化配置。我只有一塊IDE硬盤,為hda;光驅被找到,為hdc(注意,這是很重要的信息);聲卡檢測到,系統使用OSS驅動模塊;兩個PCMCIA插槽找到。一切都很順利。登錄系統,一一檢測。
darkstar login:root
#mouseconfig //配置鼠標,找不著驅動就選PS/2
#cd /fat-d //進入我的D盤
#ls //查看裡面有什麼東西
freesoftware linux music pic_backgrand //這是我D盤裡的一些東西,一切正常。
#cd music/Movie
#mpg123 lovestory.mp3 //隨便找首歌來試試
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
Version 0.59q (2002/03/23). Written and copyrights by Joe Drew.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARR
ANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from lovestory.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 48000 Hz joint-stereo
[3:20] Playing lovestory.mp3 finished.
#mount /mnt/cdrom //找張光盤試試
mount: special device /dev/sdc0 does not exist
怎麼回事?光驅裝不上。而且竟然是安裝/dev/sdc0,我的光驅明明是/dev/hdc啊?這裡面肯定出了問題。
#ls -l /dev/cdrom //檢查光驅設備
lrwxrwxrwx 1 root root 8 Jan 23 17:24 /dev/cdrom -> /dev/sdc0
原來/dev/cdrom是個鏈接,被鏈到了/dev/sdc0上。sdc應該是指SCSI設備,我的本子沒有,當然裝不上了。既知病因,當然對症下藥。
#rm /dev/cdrom //先刪掉錯誤鏈接
#ln -s /dev/hdc /dev/cdrom //建立指向正確設備的鏈接
#ls -l /dev/cdrom //再來看看
lrwxrwxrwx 1 root root 8 Jun 23 17:24 /dev/cdrom -> /dev/hdc
#mount /mnt/cdrom //再次安裝光盤
#ls /mnt/cdrom
Something in the cd-rom...//好了,這回一切都正常了。取出光盤。
#umount /mnt/cdrom //卸載
#eject /dev/cdrom //彈出
至此,基本硬件的問題都已經解決了。下面來安裝軟件。
1、用pkgtool安裝.tgz包
.tgz是經過編譯的二進制文件集合,經過tar和gzip工具打包壓縮而成。pkptool將裡面的文件分類安裝到指定目錄,全部自動完成,你只需選擇裝還是不裝。進入包所在的目錄,直接輸入pkgtool命令。選擇第一項"Install from Current Directory",按提示選擇YES或NO。我們把沒裝的的部分都裝上(X,XAP,GNOME,N,L,T,TCL)
2、編譯安裝源代碼包
實際上,絕大多數Unix軟件都是以源代碼形式發布的,這樣做的好處就是,用戶可以根據自己系統的實際情況對軟件進行修改。下面我們來看看如何安裝源代碼包。
目標軟件:zhcon-0.2.3.tar.gz Linux Console Chinese System 類似UCDOS的軟件
#mkdir temp //建立一個臨時目錄
#cp zhcon-0.2.3.tar.gz temp/ //將包拷到臨時目錄中
#cd temp
#tar vxzf zhcon-0.2.3.tar.gz //解壓、歸檔一步到位,這時將生成一個新的目錄
#cd zhcon-0.2.3
#./configure //配置編譯環境
#make //開始編譯
#make install //安裝
至此,zhcon就裝好了。最後三步就是安裝源代碼包的標准操作。執行./configure後安裝程序會告訴你程序安裝後的所在目錄。要卸載該軟件,就直接刪除該目錄即可(別忘了還要刪掉/usr/local/bin中的執行命令zhcon)。
3、用RPM安裝.rpm包
RPM是Redhat Package Manager,是RedHat公司做的自動化安裝工具。我們用它來裝一個MPEG播放器:CandyPlayer
#cp candyplayer-0.1.1-1.i386.rpm temp/
#cd temp
#rpm -ivh candyplayer-0.1.1-1.i386.rpm //這裡是軟件包的全名
安裝時會顯示一個進度條,告訴你安裝過程。RPM安裝之前會先檢測系統的完整性,看是否缺少文件。如果缺少所需的文件,則拒絕安裝,屏告知所缺的文件。
要刪除已裝的軟件,只需下面的命令
#rpm -e candyplayer //這裡是軟件的名字
用RPM就這麼簡單。
4、安裝二進制程序
有些軟件商不願公布源代碼,因此它們直接將軟件做成一個大的安裝文件。下面就來裝一個這樣的東西。
MusicMatch Jukebox想必大家不陌生吧?非常優秀的一款音樂播放軟件。它出了一個Linux版本,單個二進制安裝文件-install-mmjb-1.43.sh。我們來裝它。由於它必須在X下安裝,我們就假設已經有了窗口環境。打開一個控制台窗口。
#cd /temp
#./install-mmjb-1.43.sh
接著就開始安裝了,和Windows下安裝軟件的過程類似。須注意一點,這個軟件允許普通用戶安裝,但是不能向/var目錄添加鏈接,只能裝在自己的主目錄中。
至此,Linux下各種類型的軟件安裝方法就都介紹了。我們接下來要配置X環境了。
X環境需要安裝XFree86系統,窗口管理器,X應用程序。按照前面的方法安裝好後,執行下面的操作:
#xfree86setup //系統自動檢測你的顯卡,然後告訴你結果,記下結果,後面要用。
#xf86config //下面進入文本模式的配置程序。
首先配置鼠標,然後是鍵盤,這都很簡單,選通用型號都行。它會叫你給鼠標鍵盤起個標識,隨便敲一個,回車。還有一個額外選項,就選n。
下面是配顯示器,你必須知道你的顯示器的參數,絕對不能亂選,否則燒了別找我。實在找不到,就選一個Standard。這裡也會要標識,同上處理。
配完顯示器就配顯卡。提示是否在顯卡列表中選擇,敲入y。這裡不能直接回車,否則就等於回n。選擇你的顯卡驅動,沒有就選0:Standard VESA(可以支持1024x768模式)。然後選擇顯存大小,支持的顏色深度(24bit最高支持800x600),分辨率,是否需要擴展虛擬屏幕。最後選4,再次選擇顏色深度。
最後就可以寫入配置文件了。選擇y寫盤,完成退出。
至此,我們已經完成了所有的硬件配置工作。馬上進入X
#startx
4、用戶配置篇
到目前為止,我們都還是在以系統管理員root的身份在進行所有的操作。以root操作是非常危險的!因為root擁有一切權力,因此一個小小的誤操作就有可能使整個系統崩潰。所以,我們必須建立一個普通用戶,用來做日常普通的工作。
#useradd USERNAME //添加你自己的帳戶
#passwd USERNAME //給新帳戶設置密碼
好像我們一直沒有設置root的密碼,趕緊補上。
#passwd //這裡不需要用戶名,就是給自己設密碼
注意,Unix系統的密碼是不回顯的,你看不見自己輸入的東西。因此必須仔細輸入。設密碼時會要求你重新輸入,以確認你是否輸入正確。添加完新用戶後就應該立即退出root身份,以普通用戶登錄。
#logout //或者exit,或者Ctrl+D
darkstar login:USERNAME
password:
$
普通用戶是以美元符號$開頭的(root是#)。以後如果需要安裝軟件、做做系統維護,可以通過下面的命令
$su //升變成root
password: //root的密碼
# //看,你已經成root了
至此,整個配置工作就真正完成了。不容易啊!^_^
【Slackware實戰手記之配置篇】到此為止,下一篇【Slackware實戰手記之操作篇】將教大家Slackware Linux下的基本操作。敬請期待。
5、Linux下的基本操作--ls,mkdir,cd,cp,mv,rm,touch,ln,tar,man,su,mount,umount,shutdown
經過前面的幾番折騰,我們終於可以專心的開始工作了。對於大多數人而言,Linux是一個完全陌生的系統。當我們登錄進去以後,接下來該干什麼呢?就讓我們從最簡單的開始吧。以下命令全部基於控制台,至於圖形操作,請大家自己摸索,很簡單的。
首先,看看我們的主目錄下都有些什麼。
$ls
testdir
ls是list的縮寫,相當於DOS下的dir,它是我們在Linux下最常用到的命令之一。ls有許多的參數,其中常用的有:
ls -l long list文件的詳細列表,相當於dir。
ls -a 查看隱藏文件,相當於dir/a。多個參數可以一起使用,比如ls -la,以列表形式查看當前目錄下的所有文件(包括隱藏文件)。
需要注意的是,所有的Unix命令,在接參數的時候,命令與參數之間必須有一個空格。因此,ls -a正確,ls-a錯誤。這一點與MS-DOS是有區別的。ls不帶參數,則相當於dir/w。
當目錄下的文件太多了,顯示太快根本看不清,怎麼辦?不要緊,我們可以用下面的命令
$ls | more //或者 ls | less 注意空格
這裡我們使用了“管道(pipe)”的概念。簡單講,就是利用管道操作符|,將前一個命令的輸出作為後一個命令的輸入。ls的輸出被用作more的輸入,這時屏幕將一次顯示一屏,然後用戶按回車鍵往下一行行的滾屏(less與more類似,但是可以使用上下鍵進行滾屏,用起來更自然),退出就按q。
較新版本的Linux發行版中,ls命令的輸出結果是彩色的。其中藍色表示目錄,綠色表示可執行文件,白色表示普通文件。這樣我們就可以清晰的辨認各種文件了。
接下來,我們新建一個目錄。
$mkdir Let_Us_Make_A_New_Directoy //我故意起這麼長的名字,有目的的。
$ls
Let_Us_Make_A_New_Directoy testdir
$cd newdir //進入newdir
mkdir命令“人如其名”,沒什麼好說的;cd命令和MS-DOS下的也很像,但是要注意空格。Linux下的命名原則是,除了有特殊意義的ASCII字符不能用外,其他字符均可用作文件名;文件名區分大小寫,不限長度。因此就有像我上面起的那種變態名字。但是在Linux下有個優點,就是有“命令補齊”功能。你只要輸入前半部分,然後連按兩下TAB鍵,系統就會將後半部分自動補齊。有多重選擇時就會提示用戶。這是熟練使用Unix系統的必備技巧。(在這裡你甚至只需輸入cd L,然後TAB兩下就行了。因為當前目錄下沒有其它L開頭的文件名。)
我們現在身處Let_Us_Make_A_New_Directoy這個變態目錄中,讓我們從testdir裡拷個文件到這裡。
$cp ../testdir/afile . //拷貝testdir目錄裡的afile文件到當前目錄,也就是Let_Us_Make_A_New_Directoy目錄
..指上一級目錄,.指當前目錄。這裡使用的是相對路徑,也可以使用絕對路徑。
要拷貝整個目錄,可以用下面的命令:
$cp -fr ../testdir . //拷貝testdir到當前目錄
參數r告訴cp目標是目錄,f強制執行。否則會收到testdir is a directory之類的警告。
mv(move)命令移動文件,相當於“剪切&粘貼”它還有一個作用,就是用它來更改文件名--mv oldname newname
要想刪除文件,使用rm(remove)命令。
$cd .. //先從Let_Us_Make_A_New_Directoy裡出來
$rm -fr Let_Us_Make_A_New_Directoy //刪掉這個變態的目錄
請特別注意,以上命令都涉及到用戶的權限問題。權限制度在Unix中是嚴格執行的,用戶被賦予不同的權限,文件也被設置許多權限。
例如下面的文件
$ls -l text.txt
-rw-rw-r-- 1 yea yea 30 6月 28 22:55 text.txt
文件text.txt的所有者為yea(就是我),所屬用戶組為yea,大小30字節,創建時間為6月28日22點55分,其權限為-rw-rw-r--。這個標記可以這樣理解:-|rw-|rw-|r--,第一節表示類型,-為文件,d為目錄,l為鏈接;後三節表示不同用戶的使用權限,分別對應“所有者”,“所有者組群的用戶”和“其他用戶”,r是讀,w是寫,x是運行,沒有權力就用-表示。因此上面的文件對於我和我同組的用戶都有讀和寫的權力,對其他用戶則是只讀的。
明白了權限,就要知道,除了root,所有的人都要依權限辦事。沒有寫的權限,就不能執行諸如mkdir,mv,cp,rm之類的命令。
要想新建一個文件,使用touch
$touch newfile
這樣我們就建立了一個空文件newfile。給它做個鏈接。
$ln -s newfile newfile_link
$ls -l newfile*
-rw-rw-r-- 1 yea yea 0 6月 29 19:33 newfile
lrwxrwxrwx 1 yea yea 7 6月 29 19:35 newfile_link -> newfile
鏈接命令ln我們在前面配置系統的時候就已經接觸過了,很容易掌握。這裡我就不重復了。
還有tar命令,稍微復習一下。通常我們碰到的都是*.tar.gz文件,這是已經壓縮好的文件,我們只要用tar vxzf filename直接解壓歸檔即可。如果是*.tar.bz2,則是tar vxjf filename。兩種文件只是壓縮方式不同,一個用gzip壓的,一個用bzip壓的。
最後向大家介紹學習Linux的最直接也最權威的方法--使用系統的手冊頁man和info。碰到不懂的命令或是想知道某個命令的參數,就“man 命令”或是“info 命令”。
通常情況下,我們是以普通用戶身分使用系統的。但是,有時我們需要編輯一些系統文件,或是安裝軟件,進行系統配置,這時我們就比須使用管理員身分了。而Unix是一個多用戶、多進程的操作系統,因此我們不必退出或重啟機器,而是直接使用su命令。
$su //升級為root
Password: //root的密碼
# //你已經是root了
使用su還可以變成其他人,就是“su username”,然後輸入相應的密碼。做完工作後,使用exit退出。//你可以試試Ctrl-D
我們在Windows分區下還是有許多東西的,因此有時要把Windows分區掛接到系統上使用。掛接硬盤、分區,使用mount命令。
#mount -vfat /dev/hda5 /fat-d //把我的D盤裝到/fat-d目錄下。
vfat是指FAT32系統格式,/dev/hda5是我D盤的硬盤分區位置。其中hda指第一塊IDE硬盤,1~4是主分區,5以後是邏輯分區。想要掛接USB設備,則是
#mount -vfat /dev/scd0 /mnt/usbdisk
使用完後要將設備卸載,卸載使用umount。特別注意,不是unmount,一字之差的結果就是command not found
#umount /mnt/usbdisk
這時你才能將USB設備從電腦上拔除,否則將損壞Linux的文件系統。//!!!特別強調,對於軟盤也是;而光盤,你若不卸載則光驅門都打不開!!!
一般而言,安裝卸載設備是需要root權限的。但是我們可以修改/etc/fstab文件,使普通用戶也可以安裝卸載設備。這裡給出我的fstab文件,供大家參考。//請根據自己機器的配置編輯fstab文件,不要照搬我的。
============================My fstab file==============================
LABEL=/ / ext2 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
LABEL=/home /home ext2 defaults 1 2
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda4 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner, 0 0
/dev/hda5 /fat-d vfat noauto,owner 0 0
============================My fstab file==============================
其中我的D盤、光驅、軟驅就可以由我自己安裝卸載使用。你可以將owner換成user,一樣的。
最後談談關機的問題。任何一個系統都不能直接拔電源,這一點就連Windows也不例外。當我們結束工作,想關機退出的時候,應該使用下面的命令:
$shutdown -h now //立刻關機,關閉電源。
或者
$halt -p //效果同上
重啟機器則是
$shutdown -r now
或者
$reboot
還可以使用“三指禅”——Ctrl-Alt-Delete
退出當前用戶,而使用其他用戶則是
$logout //Ctrl-D
學到這裡,我們就基本不會在Linux世界裡迷路了。大不了關了機器下去找本書看:)
6、Linux下的常用軟件--Emacs
有了上面的基礎,你已經可以自由的使用Linux的控制台了。但是,光靠這些,你還不能編輯和修改文件,不能歸檔和壓縮(解壓縮)文件,不能享受影音娛樂和多媒體。在控制台下,我們確實可以做很多事情,包括聽音樂。下面我們來看看控制台下最強大的應用軟件
Emacs是Linux下的強大的文本編輯環境,說它是一個單純的文本編輯器就太小看它了。說出來別被嚇到,Emacs可以編輯文件,浏覽互聯網,訪問FTP,收發電子郵件,使用控制台命令,編譯和調試程序等等。它簡直可以充當一個操作系統了!但是,正是因為它擁有這麼多的功能,使得想學習使用它的人必須經過一段痛苦的歷程。Emacs實在是太復雜了。
讓我們現來見識以下Emacs的廬山真面目吧。
$emacs newtext.txt //啟動Emacs,用它來創建一個新文件newtext.txt
如果你是在控制台下開的Emacs,那你可以忽略最上面一行的菜單欄。它在控制台下是沒用的。這一點和MS-DOS下的EDIT完全不同。開始的時候我就很不習慣沒有Alt-F召喚出的菜單。但是這並不意味Emacs就沒有菜單。它有。你按下F10看看(或者Esc-`)。那就是它的菜單。你可以按照它的提示使用。退出菜單用Ctrl-g或者連按三下ESC(這是退出一切Emacs命令的通用方法)。
我們已經新建了一個文件,你現在可以直接輸入文字了。這和普通的文本編輯器沒區別。
保存文件的方法是“Ctrl-x Ctrl-s”;文件另存為是“Ctrl-x Ctrl-w”;打開新文件是“Crtl-x Ctrl-f”;退出Emacs是“Ctrl-x Ctrl-c”。還是那句老話——暈頭轉向了就退出,沒什麼可怕的。
在Emacs裡有很多向上面的使用組合鍵的命令。這也是Emacs的復雜之處,需要背的命令太多。記不住了,你可以使用它的菜單。在X下你可以使用鼠標和它的菜單欄(菜單欄這時才有用)。
Emacs是支持多文本多窗口同時編輯的。因此你可以打開多個文件,然後在不同的“窗口”中切換。——注意,Emacs中用Buffer(緩沖區)表示我們平常概念中的窗口,你就當它是一塊內存區域。我們用菜單查看現存的Buffer:Esc-` b
看到現有的各個Buffer了嗎?你可以用提示你的按鍵切換到那個Buffer中。
我說過,Emacs是一個集成的編輯環境,它可以運行Shell,這就是它的偉大之處,也是世界上頂尖黑客喜愛它的緣故。讓我們試試。
Alt-x shell
Emacs就會乖乖的打開一個新Buffer,而你的控制台提示符就在你眼前。還不試試前面學的各種命令。不過用完了要記得exit退出(這裡不能用Ctrl-D)。
至於
游戲嘛,我告訴你它在哪兒——tools->game。自己慢慢研究吧,裡面可是有五子棋和跳棋的喲。